John
5eb6411d53
- Allowed builtins to self-describe - Broke builtins into their own module - Created a macro to work with BuiltIns easier - Uses macro 2.0 syntax, so it requires passing in ALL externally referenced identifiers - Luckily, this is already a requirement of good, readable macro definitions! - As a temporary hack, turn overloadable operators into function calls - This is kind of pointless at the moment, since there can only be one definition of a function per name (no ADL/function overloading/traits/type namespaces yet!) - This is also pretty slow, but benchmarking shows it's not as slow as I thought (~400x slower in release mode than a native Rust implementation when running `fib.cl`/`fib.rs`. Totally unacceptable for most work, but this is a tree walk interpreter.) - TODO: Remove this when desugaring from operators to function calls is implemented |
||
---|---|---|
.. | ||
fib.cl | ||
fizzbuzz.cl |