Isaac Elliott
Isaac Elliott
When I implemented #81 I only implemented a single level of pattern matching: ``` case x of [a, b, c] -> ... ... ``` Supporting nested patterns seems pretty complicated:...
Typing `readln` in the REPL hangs the program. Expected behaviour: after typing `readln`, I can type stuff followed by `` and have that stuff returned as the result of `readln`.
Example: ``` let x = 1 in let y = 2 in let z = 3 in { x, y, z } ``` should desugar to: ``` let x =...
Binary size increased by ~50% from [v0.5](https://github.com/LightAndLight/ipso/releases/tag/v0.5) to [v0.6](https://github.com/LightAndLight/ipso/releases/tag/v0.6). I added a bunch of builtins in 0.6, but should it result in a megabyte's worth of CPU instructions? Investigate.
``` int.parseHex! : String -> Int int.parseDec! : String -> Int int.parseOct! : String -> Int int.parseBin! : String -> Int ``` Variants of #393 that crash when parsing fails.
`$..` is not highlighted correctly: https://ipso.dev/docs/reference.html#interpolation Commas in arrays aren't highlighted as symbols: https://ipso.dev/docs/reference.html#arrays-1
Currently I can only pattern match on a record by punning its fields: ``` case x of { a, b, c } -> ... ``` I want to choose which...
``` string.partsn : Int -> String -> String -> { parts : Array String, rest : String } string.partscn : Int -> Char -> String -> { parts : Array...
Example: `deleteAt` in https://github.com/LightAndLight/ipso/blob/main/examples/todolist.ipso
Factored out of #393. ``` # int.printBin 5 == "101" # int.printBin -5 == "-101" int.printBin : Int -> String # int.printOct 10 == "12" # int.printOct -10 == "-12"...