ketos
ketos copied to clipboard
Lisp dialect scripting and extension language for Rust programs
Adds conditional compilation for the `wasm32` target to enable wasm support. Tested with a small program on Firefox 88.0.1 and it works well enough. It requires a nightly compiler to...
Reduce download/compilation time. Passes `cargo check` and `cargo test`
In order to facilitate smaller binaries, it would be useful to put some features behind feature flags. For example: - `mod_random` could be gated to remove a dependency - all...
I tried to specify a struct name as a field type: ``` ketos=> (struct foo ((a string))) foo ketos=> (struct bar ((b foo))) bar ketos=> (new bar :b (new foo...
This pull request would add a basic time module. The module provides two functions (`utc-timestamp` and `local-timestamp`) that return the current time in UTC or your local timezone as the...
``` ketos=> (define (x) (define (x-1) "hello") (x-1)) Traceback: In main, define x execution error: type error: expected string; found list: (define (x-1) "hello") ``` Would something like this be...
I thought it might be fun to have a logo for the project ... I'll attach some ideas I had.
Currently ketos outputs the line and column number for parse errors, but not for compile errors. This makes debugging very painful, because the location of the error has to be...
I'm trying to create a function that returns a function that calls itself. I tried this: ```lisp (define (multo ex) (let ((f (lambda (n) (if (= 0 n) 1 (*...
I don't know what kind of example you want in the `examples` directory, but here are a few simple programs: ## Tower of Hanoi ``` lisp (define (move n from...