小编Rob*_*lan的帖子

在clojure中解析数字的最简单方法是什么?

我一直在使用java来解析数字,例如

(. Integer parseInt  numberString)
Run Code Online (Sandbox Code Playgroud)

是否有更多的clojuriffic方式可以处理整数和浮点数,并返回clojure数字?我并不特别担心这里的性能,我只想在一个文件中处理一堆空白分隔的数字,并以最简单的方式对它们做一些事情.

所以文件可能有如下行:

5  10  0.0002
4  12  0.003
Run Code Online (Sandbox Code Playgroud)

而且我希望能够将线条转换为数字向量.

clojure

54
推荐指数
9
解决办法
4万
查看次数

如果有的话,Erlang进程如何映射到内核线程?

Erlang因能够支持许多轻量级进程而闻名.它可以做到这一点,因为它们不是传统意义上的进程,甚至不是P线程中的线程,而是完全在用户空间中的线程.

这很好(实际上太棒了).但是,如何在多核/多处理器环境中并行执行Erlang线程?当然它们必须以某种方式映射到内核线程才能在不同的内核上执行?

假设情况就是这样,这是怎么做到的?许多轻量级进程是否映射到单个内核线程?

或者还有另一种解决这个问题的方法吗?

parallel-processing erlang multithreading lightweight-processes

48
推荐指数
2
解决办法
5985
查看次数

什么时候应该将clojure关键字放在命名空间中?

在clojure中,关键字评估自己,例如:

>>:test
:test
Run Code Online (Sandbox Code Playgroud)

它们不接受任何参数,并且它们不受任何限制.那么,为什么我们需要在命名空间中限定关键字?

我知道isa使用derive需要命名空间限定的关键字(例如::test)创建层次结构.是否还有其他需要将关键字放在命名空间中的情况?

namespaces clojure keyword

31
推荐指数
2
解决办法
4914
查看次数

有没有支持协议缓冲区的数据库?

在SQL或NoSQL世界中是否有支持协议缓冲区的数据库?(支持可能意味着各种各样的事情,但希望包括能够在协议缓冲区中的字段索引.)

database protocol-buffers

29
推荐指数
2
解决办法
9655
查看次数

我应该用Clojure的指树做什么?

Clojure的新contrib库组有一个手指树 .在clojure中手指树有什么用例?什么时候应该使用手指树而不是clojure的其他持久数据结构之一:向量,集合,映射,持久性等等.

Clojure喜悦提到手指树可以用于需要廉价插入和删除的索引集合.它们也被描述为"数据结构的瑞士军刀".非常感谢这方面的例子.

functional-programming clojure finger-tree data-structures

29
推荐指数
1
解决办法
2043
查看次数

Haskell中的高效字符串实现

我现在正在教自己Haskell,我想知道在Haskell中处理字符串时最好的做法是什么.

Haskell中的默认字符串实现是Char列表.根据Real World Haskell的说法,这对于文件输入输出是低效的,因为每个字符都是单独分配的(我认为这意味着String基本上是Haskell中的链表,但我不确定.)

但是如果默认字符串实现对于文件i/o来说效率低下,那么在内存中使用字符串是否效率低下呢?为什么或者为什么不?C使用char数组来表示String,我认为这将是大多数语言中默认的处理方式.

正如我所看到的,String的列表实现将占用更多内存,因为每个字符都需要开销,并且还有更多时间进行迭代,因为需要指针解引用才能到达下一个char.但到目前为止我喜欢和Haskell一起玩,所以我想相信默认的实现是有效的.

string haskell functional-programming

23
推荐指数
4
解决办法
4077
查看次数

一些数据结构是否比其他数据结构更适合函数式编程?

Real World Haskell中,有一个标题为"没有数组或哈希表的生命"的部分,作者建议列表和树在函数式编程中是首选,而数组或哈希表可能在命令式程序中使用.

这是有道理的,因为在创建新列表或树时,重用部分(不可变)列表或树要比使用数组更容易.

所以我的问题是:

  • 功能和命令式编程之间的数据结构是否存在明显不同的使用模式?
  • 如果是这样,这是一个问题吗?
  • 如果您确实需要某个应用程序的哈希表怎么办?您是否只是吞下了修改所产生的额外费用?

functional-programming immutability data-structures

20
推荐指数
4
解决办法
4658
查看次数

clojure有语言规范吗?

是否有针对clojure的语言规范?在EBNF或类似的东西中精确定义词法语法和语法的东西?

我能找到的最接近的是clojure网站,但这并不完全符合语言规范的要求(尽管它是一个非常好的资源).如果没有规格,我们的BDFL是否提到了任何一个计划?

specifications clojure

20
推荐指数
3
解决办法
3563
查看次数

在分布式系统中,与Paxos相关的更快的协议算法是什么?

我读过Lamport 关于Paxos 的论文.我也听说过,由于性能原因,它在实践中并没有太多用处.在分布式系统中,通常使用哪些算法来达成共识?

algorithm distributed consensus paxos

19
推荐指数
1
解决办法
3897
查看次数

拉链在实践中的表现如何,何时使用?

我觉得拉链是一个很棒的主意; 它优雅地提供了一种方法来遍历列表或树,并以功能的方式显示本地更新.

渐渐地,成本似乎是合理的.但遍历数据结构需要在每次迭代时进行内存分配,其中正常的列表或树遍历只是指针追逐.这看起来很昂贵(如果我错了,请纠正我).

费用是否令人望而却步?在什么情况下使用拉链是否合理?

performance functional-programming memory-management zipper data-structures

18
推荐指数
1
解决办法
1041
查看次数