Searching for Emacs Lisp alternative? Try hacking Emacs in Go!
goism is Emacs package that makes it possible to use
Go programming language instead
of Emacs Lisp inside Emacs.
It provides Go intrinsics and
emacs package to make it
possible to control Emacs from your programs.
Generated functions, methods and variables can be accessed from
Emacs Lisp code.
Enjoy the increased type safety and curly braces!
How it works
Valid Go package is converted into Emacs Lisp bytecode.
goism package implements Go runtime,
so translated code behaves as
close to the specs as possible.
Different optimizations are performed during this translation, so it is not going to be any slower than "native" Emacs Lisp.
How to use it
TODO: emacs package installation
- Quick guide (getting started)
- Translation specification
- Features that are not implemented
- goism implementation design
PreRelease2 is the current milestone.
To see what features are going to be implemented in near future, check out milestones.
Projects may contain additional information in "stashed" column.
- Compile Golang to Emacs Lisp bytecode
- Golang from Emacs
- Emacs Lisp alternative to extend Emacs
- Emacs Lisp as Golang compilation target
- "Go" emacs package
Package sexp provides a high level intermediate representation that contains both Go and Emacs Lisp traits.
|Package sexp provides a high level intermediate representation that contains both Go and Emacs Lisp traits.|
Package tst - common test utilities.
|Package tst - common test utilities.|
Package goism is a collection of high level quality tests.
|Package goism is a collection of high level quality tests.|
Package pairwise is a second layer of conformance tests.
|Package pairwise is a second layer of conformance tests.|
Package vmm - Emacs Lisp "virtual machine model".
|Package vmm - Emacs Lisp "virtual machine model".|