Skip to content

Releases: tiancaiamao/shen-go

shen-go-1.0

10 Oct 09:55
e434991
Compare
Choose a tag to compare
  • share the same code base with cora (another lisp of my own)
  • rewrite the code generator
  • upgrade ShenOS source to version 22.3

shen-go-1.0-rc.1

22 Oct 16:49
Compare
Choose a tag to compare
shen-go-1.0-rc.1 Pre-release
Pre-release
  • a new implementation by compiling shen to Go, code to code translation
  • the perfect fusion of native code and interpreting mode to support REPL
  • kl now support load plugin to run the compiled shen code

shen-go-0.3

22 Apr 10:37
Compare
Choose a tag to compare
  • support native call via Go plugin mechanism, add load-plugin primitive
  • upgrade Shen source code to release 21
  • remove the kl interpreter
  • revise primitives function call protocol implementation, make them uniform with native call
  • change VM dispatch method from switch to jump table

The performance of this version decreased, but it's more flexible now.

shen-go-0.2

07 Jan 16:21
Compare
Choose a tag to compare
  • huge improvement of the vm, avoid allocation in environment as much as possible
  • peephole optimization for some functions
  • change symbol representation and some improvement in runtime

This release is nearly twice faster than v0.1.

shen-go-0.1

21 Dec 18:53
Compare
Choose a tag to compare
  • kl: A naive kl interpreter
  • compiler: KL to bytecode compiler, writen in shen
  • vm: Abstract machine, used to execute the generated bytecode, written in Go