Cljs2go ClojureScript 的 Go 编译器开源项目

我要开发同款
匿名用户2015年08月04日
43阅读
所属分类Google Go、开发工具、编译器
授权协议EPL

作品详情

Cljs2go是ClojureScript转换为Go的编译器。

ClojureScript转换到Go,不是分支出来,而是直接覆盖到ClojureScript上。Go是从cljs.go.compiler上发行出去,而cljs.go.compiler是cljs.compiler的一个补丁版本。在运行时,会提供简单的JS兼容以避免接触 cljs.core,这些js和goog包不打算对用户开放使用。

一旦编译器开始工作,该计划将提供第二个猴子补丁(monkeypatch),这回是提供Java依赖,像java.io.File和其他Clojure副本,clojure.java.io。此补丁可以将编译器本身编译成Go。这既不会改变运行时编译程序的特点,也不会引入eval,它只是充分利用了Go来建造管道。

示例代码:

# Clone and build the Go packages:$ go get github.com/hraberg/cljs2go# The repo itself lives under src by convention:$ cd $GOPATH/src/github.com/hraberg/cljs2go# go test, for Go tests checked into git, both generated and handwritten ones:$ go test -v ./...# To re-generate the tests from ClojureScript (this might dirty the repo):$ lein test# (This also generates and runs some tests under target/generated which aren't checked in.)# To re-generate the Go for ClojureScript itself:$ go generate
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论