Isaac Elliott
Isaac Elliott
Fallible operations like subtraction (underflow) and division (divide by zero) make Rust panic. Ipso needs to handle these failures and report its own stack trace. Without this, users have no...
I noticed that I forgot to highlight `from` as a keyword. See https://ipso.dev/docs/reference.html#imports
In https://github.com/LightAndLight/ipso/issues/187 and https://github.com/LightAndLight/ipso/issues/317 I talk about having an ipso program fail and print source locations. I'd need a way to carry the source location of particular functions through to...
Example: ``` gitex:292:49: error: expected type "IO ({ name : String, hash : String })", got type "IO ()" | 292 | exitWithError err | ``` The record type doesn't...
Incomplete pattern matches aren't detected during type checking and will cause a runtime failure. ``` f : (| A : String, B : String |) -> String f x =...
The equivalent of `KEY=value command` in shell. First iteration: ``` cmd.setvar : String -> String -> Cmd -> Cmd `command` |> cmd.withvar "KEY" "value" |> cmd.run ``` In the future...
In the CI pipelines, `nix profile install github:LightAndLight/ipso?ref=v0.3` takes ~20s, and most of that is spent downloading a checkout of `nixpkgs`. [Example log line](https://github.com/LightAndLight/ipso/actions/runs/4058497448/jobs/6985491742#step:14:11): ``` Tue, 31 Jan 2023 21:27:48...
Currently, stages of the interpreter return `Result`s, which mean only a single error is reported before the whole system halts. Stages need to collect errors and while recovering as much...
Example job: https://github.com/LightAndLight/ipso/actions/runs/3505790488/jobs/5872341175 (click the settings icon and enable timestamps). Total duration: 4.5 minutes. Compiling Rust dependencies for `cargo test` takes ~30 seconds for definitely-non-ipso-packages ([start](https://github.com/LightAndLight/ipso/actions/runs/3505790488/jobs/5872341175#step:15:128), [end](https://github.com/LightAndLight/ipso/actions/runs/3505790488/jobs/5872341175#step:15:186)), and ~60 seconds...