Tag: clojure

Lisp在现实世界中

我已经尝试了Lisp(实际上是Scheme),并发现它是一个非常漂亮的语言,我有兴趣了解更多。 然而,似乎Lisp从来没有用在严肃的项目中,而且我没有看到它在任何工作岗位上被列为期望的技能。 我有兴趣听到任何使用过Lisp的人,或者在“现实世界”中看到过它,或者知道它是否被认为是纯粹的学术语言。

请解释Paul Graham在Lisp上的一些观点

我需要一些帮助来理解Paul Graham的“ What Made Lisp Different” 。 variables的新概念。 在Lisp中,所有variables都是有效的指针。 值是什么types,而不是variables,分配或绑定variables意味着复制指针,而不是指向。 符号types。 符号不同于string,因为您可以通过比较指针来testing相等性。 使用符号树的代码的符号。 整个语言总是可用的。 在读取时间,编译时间和运行时间之间没有真正的区别。 您可以在编译时读取,读取或运行代码的同时编译或运行代码,以及在运行时读取或编译代码。 这些意味着什么? 它们在C或Java等语言中有什么不同? 除了Lisp族语言以外的其他语言现在是否有这些构造?

在Clojure中做GUI的最好方法是什么?

在Clojure中做GUI的最好方法是什么? 有一些function的Swing或SWT包装的例子吗? 还是与JavaFX声明性GUI描述的一些整合,可以很容易地使用一些macros观包装到sexpression式 ? 任何教程?

在Clojure 1.3中,如何读取和写入文件

我想知道在clojure 1.3中读取和写入文件的“推荐”方法。 如何阅读整个文件 如何逐行读取文件 如何写一个新的文件 如何将行添加到现有的文件

函数式编程是否有软件工程方法?

如今所教授的软件工程完全专注于面向对象的编程和面向世界的“自然”面向对象视图。 有一个详细的方法,描述了如何通过几个步骤和许多(UML)工件(如用例图或类图)将域模型转换为类模型。 许多程序员已经内化了这种方法,并且对如何从头开始devise一个面向对象的应用程序有了一个好主意。 新的炒作function编程,这是在许多书籍和教程中教授。 但是function软件工程呢? 在阅读Lisp和Clojure时,我发现了两个有趣的陈述: function程序通常是自下而上的,而不是自上而下(“On Lisp”,Paul Graham) function程序员使用OO程序员使用对象/类的地图(“Clojure for Java程序员”,由Rich Hickley讲话)。 那么,一个function性应用程序的系统化(基于模型)devise的方法是什么呢,例如在Lisp或Clojure中呢? 什么是常见步骤,我使用的是什么工件,我如何将它们从问题空间映射到解决scheme空间?

你如何在Clojure中创build一个Web应用程序?

我想这对于每天在Java中工作的绝大多数程序员来说是一个奇怪的问题。 我不。 我知道Java语言,因为我从事Java项目,但不是Java世界。 我从来没有从头开始在Java中的Web应用程序。 如果我必须用Python做,Ruby,我知道去哪里(Django或Rails),但是如果我想在Clojure中创build一个Web应用程序,不是因为我被迫生活在Java世界,而是因为我像语言,我想试试看,我应该使用什么库和框架?

如何通过TRAMP / Emacs使nrepl-ritz-jack-in远程工作

我想要的是: 我在远程站点上有一个clojure程序,我们称之为mccarthy 。 我想要做的是从我的笔记本电脑连接到nrepl-ritz ,最好使用nrepl-ritz-jack-in 。 杰克在工作正常的本地程序,但似乎并没有连接到远程程序。 尝试1 Cx Cf在/mccarthy:code/program/project.clj (require 'nrepl-ritz) Mx nrepl-ritz-jack-in 结果 Emacs似乎挂起。 如果我去*nrepl-server*缓冲区,我看到这个: Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.flatland.drip.Main.invoke(Main.java:117) at org.flatland.drip.Main.start(Main.java:88) at org.flatland.drip.Main.main(Main.java:64) Caused by: java.lang.AssertionError: Assert failed: project at leiningen.ritz_nrepl$start_jpda_server.invoke(ritz_nrepl.clj:23) at leiningen.ritz_nrepl$ritz_nrepl.doInvoke(ritz_nrepl.clj:95) (还有很多其他的线路……) 我在我的笔记本电脑上使用drip ,但没有使用mccarthy ,所以nrepl-ritz-jack-in没有检测到它是远程文件。 然而,在这种情况下,普通的旧的nrepl-jack-in将按预期工作。 尝试2 我也尝试用mccarthy nrepl-ritz开始nrepl-ritz […]

斯卡拉与Groovy与Clojure

有人可以解释一下Scala,Groovy和Clojure之间的主要区别。 我知道每个这些编译在JVM上运行,但我想他们之间的简单比较。

在Clojure中debugging?

debuggingClojure代码的最佳方式是什么,而使用repl?

conda,condi,conde,condu

我正在阅读Reasoned Schemer 。 我有一些关于conde如何工作的直觉。 然而,我无法findconde / condu / condu / condu做什么的正式定义。 我知道https://www.cs.indiana.edu/~webyrd/,但似乎有例子,而不是定义。 conde , condu , condu有什么正式的定义吗?