Sybilant
A hybridly typed, functional, full stack, Lisp programming language.
Install / Use
/learn @sybilant/SybilantREADME
- Sybilant I'm developing on NixOS, so this all starts with a ~nix-shell~: #+begin_example nix-shell #+end_example ** Running sybilant tests Run the ~./bin/test-sybilant~ script:
#+begin_example [nix-shell:~/src/sybilant]$ ./bin/test-sybilant == Sybilant tests syscall.syb.asm...passed (0:00.00) == Testing complete #+end_example ** Running clojure tests Run the ~./bin/test-clojure~ script:
#+begin_example [nix-shell:~/src/sybilant]$ ./bin/test-clojure
Running tests in #{"clojure/test"}
Testing sybilant.compile-test
Ran 1 tests containing 1 assertions. 0 failures, 0 errors. #+end_example ** Running the compiler Run the ~sybilant.compile/-main~ function using ~clojure~ passing in one or more files and the resulting assembly will print to stdout:
#+begin_example clojure -M -m sybilant.compile [FILE]... #+end_example
For example, to compile ~sybilant/test/syscall.syb~:
#+begin_example [nix-shell:~/src/sybilant]$ clojure -M -m sybilant.compile sybilant/test/syscall.syb .text .global _start _start: movl $1, %eax movl $0, %ebx int $0x80 #+end_example
