小编Ale*_*ler的帖子

是否有一个HTML专用的模板系统?

我已经开始使用clojure进行编码了,Enlive给我留下了深刻的印象.我真正喜欢的一件事是Enlive使用仅限html的模板.所以模板是一个带有html的文件,以.html结尾,就像那样简单.它被解析成一个dom树,然后那个dom树被clojure/enlive,组合,动态等操纵.在html模板文件中没有语法,一个非常干净的分离.

通过javascript完成的类似系统的另一个例子是PURE.

在PHP中有类似的东西吗?或者,一般来说,任何方式做html-only模板?

html php clojure templating

6
推荐指数
1
解决办法
780
查看次数

Erlang持久数据结构

正如我所理解的,当您使用如下表达式创建新列表时,Erlang不会复制L1,它只是复制H.

L2 = [H|L1]
Run Code Online (Sandbox Code Playgroud)

Erlang是否具有持久的数据结构(请参阅持久性数据结构)dict,也就是说,当您在树中添加/删除/修改节点时,只复制了少量元素(如Clojure中)?

erlang clojure

6
推荐指数
1
解决办法
1560
查看次数

有没有人在主流语言的真实项目中使用数据流编程?

我正在考虑在clojure程序中使用一些Dataflow编程技术,但是我很难从使用Java,C#或其他在现实世界中使用这些技术的主流语言的项目中找到大量信息.如果有人有任何关于此事可以分享的经验,我将不胜感激.

dataflow clojure

6
推荐指数
1
解决办法
1886
查看次数

在mac os上安装leiningen的问题

我试图在mac os 10.6.4上安装Leiningen,遵循这里的说明 - http://alexott.net/en/clojure/ClojureLein.html.正在下载程序包,但找不到lein命令.可能是什么问题呢?

macos installation clojure leiningen

6
推荐指数
1
解决办法
3977
查看次数

Google Guava /提供功能集合类型的实现

有人知道未来Guava或Java8是否会提供受更多功能实现启发的持久性集合实现,例如在Clojure或Scala中(提供快照,由于共享树结构而进行有效修改等)?

java clojure guava

6
推荐指数
1
解决办法
738
查看次数

可以在Clojure 1.4.0中扩展与defrecord一起使用吗?

我试图使用'extend'在Clojure中使用map定义记录方法.以下适用于Clojure 1.4.0:

(defprotocol PointMethods
  (add [self other])
  (distance [self]))

(defrecord Point [x y]
  PointMethods
  (add [self other]
    (Point. (+ (:x self) (:x other)) (+ (:y self) (:y other))))
  (distance [self]
    (Math/sqrt (+ (* (:x self) (:x self)) (* (:y self) (:y self))))))

(def p1 (Point. 2 3))
(def p2 (Point. 1 1))

(def p3 (add p1 p2))
(println p3)
(println (distance p3))
Run Code Online (Sandbox Code Playgroud)

但是这个版本失败了:

(defprotocol PointMethods
  (add [self other])
  (distance [self]))

(defrecord Point [x y])
(extend Point
  PointMethods
  {:add
   (fn [self …
Run Code Online (Sandbox Code Playgroud)

clojure

6
推荐指数
1
解决办法
619
查看次数

leiningen midje测试在Intellij中不起作用

考虑下面的(最小)leiningen项目

./project.clj:

(defproject repro "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [midje               "1.5.1"]])
Run Code Online (Sandbox Code Playgroud)

./repro/src/repro/core.clj:

(ns repro.core)
Run Code Online (Sandbox Code Playgroud)

./repro/test/repro/core_test.clj:

(ns repro.core-test
  (:require [repro.core  :refer :all]
            [midje.sweet :refer :all]))

(facts "about numbers"
       (fact "trivial"
         1 => 1) )
Run Code Online (Sandbox Code Playgroud)

如果我安装了leiningen midje插件,它将在命令提示符下运行,如下所示:

lein clean
lein midje
~~> All checks (1) succeeded.
Run Code Online (Sandbox Code Playgroud)

但是,如果将leiningen项目导入Intellij 12.1.5 Community Edition,则会出现大量堆栈跟踪:

Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
    ...
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988)
at clojure.lang.Namespace.find(Namespace.java:188)
at clojure.core$find_ns.invoke(core.clj:3728)
at clojure.core$the_ns.invoke(core.clj:3760)
at clojure.core$ns_name.invoke(core.clj:3767)
at midje.Bootstrap$bootstrap.invoke(Bootstrap.clj:8)
at …
Run Code Online (Sandbox Code Playgroud)

clojure intellij-idea leiningen midje la-clojure

6
推荐指数
0
解决办法
450
查看次数

Haskell:自动解糖语法

在Haskell中是否有任何函数,在给定Haskell语法输入的情况下,返回一个等效表达式,并扩展所有语法糖?

例如,在Clojure中,我可以传递'a给读者,它将返回(quote a),这有助于我了解这'只是quote函数的含糖形式.

haskell clojure

6
推荐指数
1
解决办法
225
查看次数

在Clojure源代码中使用表情符号文字

在启用了UTF-8的控制台上的Linux:

Clojure 1.6.0
user=> (def c \?)
#'user/c
user=> (str c)
"?"
user=> (def c \)

RuntimeException Unsupported character: \  clojure.lang.Util.runtimeException (Util.java:221)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:221)
Run Code Online (Sandbox Code Playgroud)

我希望能够轻松地拥有一个表情丰富的表情符号Clojure应用程序,但看起来我会查找并输入表情符号代码?或者我错过了一些明显的东西?

unicode clojure emoji

6
推荐指数
1
解决办法
1243
查看次数

如何隐藏TieredCompilation警告?

我正在使用Linux Mint和OpenJDK. java -version显示这个:

java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK Client VM (build 24.79-b02, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

每当我运行基于Java的应用程序时 lein,我都会收到此警告:

OpenJDK Client VM warning: TieredCompilation is disabled in this release.
Run Code Online (Sandbox Code Playgroud)

这与我的兴趣无关,所以我宁愿在命令输出中看不到它.我该如何隐藏或禁用它?

java openjdk clojure leiningen

6
推荐指数
1
解决办法
1931
查看次数