icelang 0.1.0

A simple and high-level programming language created for the purpose of learning about programming language design and implementation.
Documentation
  • Coverage
  • 100%
    2 out of 2 items documented0 out of 1 items with examples
  • Size
  • Source code size: 15.7 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 989.05 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • ijchen/icelang
    3 0 5
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ijchen

icelang

Icelang (stylized "icelang") is a simple and high-level programming language created for the purpose of learning about programming language design and implementation. The goal of this project is not to create a general-purpose programming language for use in the real world. Although I'm not intentionally making icelang a "bad" language for real-world usage, it's simply not designed for that use case. If you're looking for a language more suitable to general use, I'd recommend taking a look at any of the languages listed below as sources of inspiration for the design of icelang.

icelang is dynamically typed, and intended to be an interpreted language. Some of the design goals for icelang include:

  • To be simple to understand and write an interpreter for, but still powerful enough to solve non-trivial problems without excessive hullabaloo
  • To be expressive where doing so doesn't significantly sacrifice simplicity or encourage writing error-prone code
  • To be provably turing-complete

The design of icelang takes inspiration from many languages, primarily JavaScript, Python, and Rust.

TODO

icelang is still in development, and has a number of incomplete or missing features:

  • Make to-do list (lol)

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.