bin+lib xlang

The xlang interpreter engine

6 releases

0.0.5-alpha Sep 24, 2022
0.0.4-alpha Sep 23, 2022

MIT license

60KB
1K SLoC

Rust 1K SLoC LALRPOP 203 SLoC // 0.0% comments

xlang Crates.io GitHub GitHub issues GitHub Workflow Status

xlang is an experimental, garbage collected, dynamically-typed, interpreted programming language focused on performance.

note! xlang is in a pre-release state. It may not work and it may undergo serious breaking changes.

resources

  • xlang docs
  • todo - if you want to know what xlang aims to offer in the somewhat distant future

philosophy

  • syntax, semantics and naming conventions should be consistent and obvious.
  • there should only be one obvious way to do things.
  • unsafety only occurs on the compiler side. The virtual machine should assume that any input program is valid, for the sake of performance.
  • no "real" multithreading, only lightweight virtual "fibers". Only native functions are spawned in a different thread, to prevent halting the program.
  • minimal implicit type conversions
  • no weird or dumb syntax. Only syntax that makes sense and is easy to read.
  • minimal breaking changes. Breaking changes past the pre-release state must be necessary.

Dependencies

~5–7.5MB
~136K SLoC