标签: gambit

C是否有类似Haskell/ML的编译器?

人们已经在Scheme中为iPhone 写过游戏.因为(某些)Scheme编译器可以编译为C,所以很容易与Objective-C混合并与XCode集成.

知道 Haskell和OCaml编译器的补丁,以启用ARM/iOS后端.但那些看似非官方的,实验的/不稳定的.

我更喜欢静态haskell/ML类型系统而不是Scheme的动态类型.是否有一个稳定的ML/SML/Haskell编译器生成C代码,以便它可以像Scheme/Gambit-C一样使用?

iphone scheme haskell sml gambit

18
推荐指数
2
解决办法
2296
查看次数

比较Common Lisp和Gambit以及它们的库访问和对象系统

我对Gambit Scheme非常感兴趣,特别是它广泛支持的平台,以及在需要时将C代码放在Scheme源代码中的能力.也就是说,它是一个Scheme,与Common Lisp相比,它包含更少的"电池".有些人喜欢从头开始编写很多东西(又名顽皮的牦牛皮),但不是我!

这让我想到了两个问题,面向那些既使用了Gambit又使用了一些Common Lisp的人:

1)哪些有效地更好地访问图书馆?Scheme比Common Lisp拥有更少的库.但是,Gambit Scheme可以更顺畅地访问C/C++代码和库,远远超过Common Lisp的库.在您看来,Gambit FFI的平稳性是否超过其本土图书馆的缺乏?

2)Scheme的对象系统(例如TinyCLOS,Meroon)与Common Lisp的CLOS相比如何?如果你发现它们缺乏,你最想念的是什么功能?最后,Lisp/Scheme中的对象系统首先有多重要?我听说过整个基于lisp的公司(例如ITA软件公司)完全放弃了CLOS.对象在Lisp/Scheme中是否真的可选?我担心如果Gambit没有好的对象系统,我可能会想念它们(我的编程背景纯粹是面向对象的).

感谢您帮助C++/Python进行有抱负的转换,

- 马特

PS:有超过1500名代表的人,请你创建一个"开局"标签?:) 谢谢乔纳斯!

lisp scheme common-lisp clos gambit

6
推荐指数
2
解决办法
1700
查看次数

Gambit-C 的 GC 机制是什么?

Gambit-C 的 GC 机制是什么?我很好奇这个用于制作交互式应用程序。我想知道它是否可以避免突发GC操作。

scheme garbage-collection gambit

5
推荐指数
1
解决办法
1053
查看次数

gambit 中缺少方案格式函数

我尝试运行一个之前用 guile 运行的策略方案脚本。我注意到策略失败了,因为它缺少“格式”功能。

格式不是方案的一部分吗?

(format #t "example(~a)=<~a>\n" i (example i))
Run Code Online (Sandbox Code Playgroud)

相反,我将我的策略脚本修改为以下内容。

(display (string-append "example(" (number->string i) ")=<" (number->string (example i)) ">\n"))
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?谢谢。

scheme guile gambit

5
推荐指数
1
解决办法
469
查看次数

堆算法在Scheme中的实现(置换生成)

我想在 Scheme (Gambit) 中实现 Heap 的算法。
我阅读了他的论文并查阅了大量资源,但我还没有找到很多函数式语言实现。

我想至少获得可能的排列数量。
下一步是实际打印出所有可能的排列。

这是我到目前为止所拥有的:

  3 (define (heap lst n)
  4   (if (= n 1)
  5     0
  6     (let ((i 1) (temp 0))
  7       (if (< i n)
  8         (begin
  9           (heap lst (- n 1))
 10           (cond
 11             ; if even:  1 to n -1 consecutively cell selected
 12             ((= 0 (modulo n 2))
 13               ;(cons (car lst) (heap (cdr lst) (length (cdr lst)))))
 14               (+ 1 (heap (cdr lst) (length (cdr lst)))))
 15 …
Run Code Online (Sandbox Code Playgroud)

lisp scheme functional-programming permutation gambit

3
推荐指数
1
解决办法
933
查看次数