lambda-calculus
lambda-calculus copied to clipboard
Lambda Calculus compiler for Codewars
Under numEncoding `None` it is not even possible to pass numbers to functions that do not evaluate their arguments. It is possible to pass JS values other than `Number`, but...
There is no reason to limit numbers to `2**32` or `2**53` ( this limit has already been exceeded in the wild), and floats are unsupported anyway ( negative numbers, however,...
For namespacing purposes, `.` in names might be useful. Say you seriously use both `Stream` and `List` - you're going to have operator overlap. Modules are going to need their...
The implicit behaviour of some parts of the library has been identified as an area which could use improvement. This thread aims to be a general place to discuss such...
The current `Env` is already opaque. It might turn out implementing environments with functions is faster, because copying is faster and sharing is improved. If so, we _lose_ nothing by...
Certain functions can easily be inlined. Mark these with a pragma `#inline` and do magic, and you have traded increased compile time for ( probably more ) decreased runtime. Doing...
- [en/de]coders for a variety of encodings - type constructors - combinators Importable, or in some way modularised (`LC.helpers`?)
For reference JohanWiltink: " I think threading stdin and stdout through source is the correct way to do I/O anyway - can use a Monad for that"