glycerine / zygomys

Zygo is a Lisp interpreter written in 100% Go. Central use case: dynamically compose Go struct trees in a zygo script, then invoke compiled Go functions on those trees. Makes Go reflection easy.
https://github.com/glycerine/zygomys/wiki
BSD 2-Clause "Simplified" License
1.71k stars 81 forks source link

an amazing work except for interacting with existing go codes #15

Closed vegertar closed 8 years ago

vegertar commented 8 years ago

You know, to call go codes, users have to declare zygo signatures, but clojure can use JDK library directly. I think this is the biggest deal that we couldn't use zygo in production. Thanks for your fantastic work.

glycerine commented 8 years ago

It's much worse than that. Not only does zygo require that you compile in the Go structs you want to refer to from zygo... you have to suffer along without being able to use libraries without compilation like other Go programs, since Go still lacks a plugin infrastructure. Also basic things in zygo will be slower than clojure, since we don't have a mature JIT compiler like the JVM provides; zygo is a simple bytecode interpreter.