Bender

𝝺 Byte My Shiny Metal LISP. (A Lisp compiler in Ruby + LLVM)

Goals of Bender.

  • Be Syntax compatible with Clojure.
  • Compatible with clojure.core.
  • Nimble startup times No JIT by default.
  • Should be as fast or faster than Lua.
  • To be Faster than Lua VM without JIT.
  • Hinley Millner style Type Inference.
  • Immutable Datastructures.
  • Tail Call Optimisation.
  • Lazy/Delayed Evaluation.
  • Optional Types through meta data.
  • Can be Compiled to Native Code.
  • Interpreted while Development.
  • Be linked with C/C++ Libs.
  • Use efficient GC.
  • Designed with Game Development in Mind.
  • Cross Platform on Windows, Mac, Linux, Android, iOS, AppleTV, and Switch.
  • Should use the smallest JIT available. AsmJIT, GccJit.
  • To be faster than Chez by a Factor of 3 Atleast.
  • Ease of use over dogma and tradition.
  • Profiler and Database for type detection.
  • Favour easier funtion names over Std Lib Dogma.
  • Ease of Use above Performance and Performance above backward compatibility.
  • Erlang Styled concurrency.
  • Use ML to detect types.
  • Automatic and deterministic memory management (Optional garbage collector and VM)
  • Inferred static types for speed.
  • Rust Styled Optional Borrowed Ownership.
  • Logic Progrming Features compatible with Shen https://shenlanguage.org/TBoS/tbos.html
  • No hidden performance penalties – allocation and copying are explicit
  • Straightforward integration with existing C code
  • Lisp macros, compile time scripting and a helpful REPL
  • Threads and atomic references.
  • Asynchronous programming (i.e. promises & futures).
  • Functional Reactive Programming (FRP).
  • Software-Transactional Memory (STM).
  • The actor model.
  • Multi Platform (JVM, CLR, Neko VM)
Repository

Bender

Owner
Statistic
  • 1
  • 0
  • 0
  • 0
  • 1
  • almost 2 years ago
  • March 13, 2015
License

MIT License

Links
Synced at

Fri, 22 Nov 2024 04:20:32 GMT

Languages