什么是使用JS自己的类型编译为简短,可读和可修改的JS的lisp方言?
答案 0 :(得分:9)
这是一个广泛的list编译器,用于编译为JavaScript的编程语言,包括一些Lisp / Scheme方言。关于“简短,可读和可修改”的部分,这有点主观......你可以测试列出的几个编译器,并决定哪一个最适合你。
从列表的the "Lisp, Scheme" section [对子节标题进行次要格式更改]:
Lisp,Scheme
Clojure的状
- ClojureScript Clojure to JS,正式版。支持大部分Clojure,包括持久数据结构。
- ClojureJS Clojure对JS的子集。
- Chlorinejs ClojureJS的一个分支,带有一个clojure.core库的端口。
- wisp具有Clojure语法,S表达式和宏的homoiconic JavaScript方言。旨在成为Clojure(脚本)的丰富子集,它与Clojure(脚本)和JavaScript无缝地交互。 ○
- Scriptjure用于从Clojure表单生成JavaScript的库。
- ki类似Clojure的语法,mori在几个sweet.js宏中的不可变数据结构。可以与JavaScript混合使用。 ○
方案状
JavaScript中的
- BiwaScheme Scheme(R6RS)
JavaScript中的- Fargo Scheme
- Moby Scheme在JS中运行的一个Scheme。
- nconc JavaScript中的Scheme解释器,具有堆栈友好的尾调用和完整调用/ cc
- scheme2js针对JavaScript的方案。
- Spock一个使用Henry Baker的Cheney-on-the-MTA编译策略的JavaScript编译器方案
- Whalesong球拍到JS编译器
其他
- eslisp ECMAScript / JavaScript的S表达式语法,具有类似Lisp的卫生宏,只是JS函数。旨在与JS非常接近,并且具有很强的实验性。
- EdgeLisp Common Lisp传统中的Lisp
- Parenscript Common Lisp对JS的子集。
- Ralph Lisp-1方言,编译为JavaScript,灵感来自Dylan
- Oppo JavaScripter的lisp。灵感来自JavaScript,Clojure和CoffeeScript。使用Jison。
构建的编译器- LispyScript一个带有Lispy语法和宏的JavaScript。 ○
- Outlet一个简单的Lisp,支持CPS和浏览器内步进调试等。在发展中。
- Hot Cocoa Lisp一种类似Lisp的语言,可编译为JavaScript。 ○
- Sibilant JavaScript与lisp。 ○
- jisp一个JS本地和公理的Lisp,专注于代码作为数据,S表达式和宏的核心思想,引入尽可能少的新概念。 ○
答案 1 :(得分:5)
Parenscript非常轻巧,易读。您可以使用slime-proxy为其提供卓越的交互式环境。
答案 2 :(得分:4)
我认为最先进的是ClojureScript。它是一个非常复杂的clojure,它编译成可读或缩小的JS。
https://github.com/clojure/clojurescript
如果您想要开始使用,请查看此内容:http://clojurescriptone.com/
答案 3 :(得分:2)
LispyScript,Sibilant做得很好。 Parenscript,正如Vsevolod Dyomkin所建议的那样,但你需要Common Lisp。 ÓscarLópez的回答提供了list其他可能性。
答案 4 :(得分:1)
Wisp所述的设计目标完全符合OP的要求。
它类似于Clojure但具有JS语义并且开销很小。如果ClojureScript保留Clojure语义的方法即使以12k行开销为代价也是不合适的。
答案 5 :(得分:-1)