Results 90 issues of Isaac Elliott

Depends on #74. When `--script` is set, the entire file is treated as a `comp` expression defining the IO action to run. e.g. ``` #! /usr/bin/env -S ipso --script println...

feature

All builtin modules `ipso-builtins` are loaded at startup, regardless of how many are used in the program being run. The cost of unused builtin modules will continue to grow as...

performance

I'd like to run short `ipso` programs without creating a file. Use case: ``` # print the name and contents of each file in the current directory $ ipso -c...

feature

Required for #209 to work well. I should be able to write "block" expressions like `comp` and `case` on a single line. Possible syntaxes: * `comp { bind name

feature

GitHub Actions secrets aren't provided to fork pull requests. Currently the [ipso-cli workflow](https://github.com/LightAndLight/ipso/actions/workflows/ipso-cli.yml) will fail for such pull requests. It tries to push to the binary cache, but credentials (which...

build

Record extension adds an extra field to a record, but we also need a way to update an existing field. Perhaps a syntax like: ``` { a.b = c }...

feature

i.e. ``` f { x, y } = x + y ```

feature

``` let a = 1 b = 2 rest = [3, 4, 5] in [a, b, ..rest] ``` Together with #82, this gets arrays to a similar level of expressiveness...

feature

When `:type` returns a type containing metavariables, they appear in the printed output. e.g. ``` > :type \x y -> x ?0 -> ?1 -> ?0 ``` in `Repl::type_of`, rename...

feature

Depends on #170. --- ```ipso-repl > 1 + 1 2 ``` ```ipso-repl > if 2 == 3 . then "yes" . else "no" "no" ``` Write a program that can:...

tooling