我最近发现我不应该在Erlang(new关键字)中使用参数化模块,因为它们是实验性的并且可能被删除.我应该使用哪些其他东西,为什么?
我已经阅读了很多关于软件事务内存的信息,特别是与Haskell有关但是我试图弄清楚它与数据库事务的区别?STM是否有一些我不理解的优点?
我试图使应用程序尽可能易于部署为Windows,我试图选择将应用程序打包为.exe或使用安装程序.我想知道是否有人对这两种方式的相对优点有意见?我的偏好是使用.exe,因为它只是单击并为用户运行.
我已经读过关于像Erlang这样的语言编程失败的程序如何最终使用比大多数其他语言中的防御风格更短的程序.这对所有类型的程序都是正确的,这是什么原因?
我从Ruby和ActiveRecord回到Java,想在Ruby中使用像ActiveRecord一样简单的东西.我有什么选择?
我正在考虑在clojure程序中使用一些Dataflow编程技术,但是我很难从使用Java,C#或其他在现实世界中使用这些技术的主流语言的项目中找到大量信息.如果有人有任何关于此事可以分享的经验,我将不胜感激.
我想做的事情如下:
(defrecord Base [])
(defrecord Person [])
(defrecord Animal [])
(derive Person Base)
(derive Animal Base)
(isa? Animal Person)
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我已经意识到这是不可能的,所以我做的是这样的:
(defmulti type class)
(defmethod type Base [_] ::base )
(defmethod type Animal [_] ::animal )
(defmethod type Person [_] ::person )
Run Code Online (Sandbox Code Playgroud)
这有意义还是有更好的方法?
我在命名空间中有一个def,我希望在应用程序启动时初始化一次,但每次包含"def"的命名空间被"使用"并且:从另一个命名空间重新加载,然后重新评估"def".如何在重新加载期间防止"def"被重新评估?