Skip to content

whichonest/lit

Repository files navigation

Lit

Take a look at the Documentation »

FAQ · VS Code extension · Report a Problem


ATENTION: This project is a work in progress

This is my first attempt on language design. My initial goals are:

  • Be pretty straightforward and simple:
    • If the same concept/syntax could be used in other parts of the language, great!
    • It will be interpreted, because this should keep things simpler.
  • Be functional:
    • I wanna see how far I can go with functions and hashes.
    • It has to have good function support (anonymous, composition, pipe operator).
    • It has to be immutable.
  • I don't know about types yet:
    • I'll keep them out just for simplicity.
    • I'm not decided on how to handle null values.
  • Be beautiful:
    • I'm a Rubyist, afterall. So, beautiful code matters.
    • I want to keep the language consistent, yet.
  • Don't take it too serious:
    • This is my first language, so I want it to be fun (and learn from experience).
    • Speed will be nice (since it's implemented in Crystal), but it's not priority.

Installation

TODO: Write installation instructions here

Usage

let fib = fn { |n|
  if (n < 2) { return n; }

  return fib(n - 1) + fib(n - 2);
}

let n = gets();

puts("The # {n} fibonacci number is {fib(n)}")

Development

TODO: Write development instructions here

Contributing

  1. Fork it (https://github.com/your-github-user/lit/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

About

The LIT Programming Language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Crystal 93.6%
  • Ruby 5.7%
  • Shell 0.7%