All notable changes to this project will be documented in this file.
- (lexer) Add ellipsis (000932f)
- (parser) Remove "dot stopping", use spines (ecf6042)
- (parser) Allow integer in type expression (7bddbdf)
- (parser) Import items (f885939)
- (parser) Support ternary unary ops (d868b4e)
- (parser) Don't hang on malformed import (4e69b05)
- (parser) Allow for arbitrary expressions in type position (2af8b99)
- (ast) Get function, variable, import decls (09967bb)
- (parser) Add constructor syntax (2e2722a)
- (parser) Builtin operators (8e42015)
- (parser) Add import statement (73e5725)
- (parser) Fix a bug in parser recovery (dca54bf)
- (vm) Skip tycheck and get execution running (82098a4)
- (justfile) Allow previewing changelog (2aa4b8e)
- Add .editorconfig (57d0180)
- Add cargo-deny deny.toml (70a25f9)
- (parser) Nicer OperatorAnalysisPass (cab18d7)
- (parser) Move tuple syntax to brackets (e4b78cd)
- (parser) Effect modalities (1e788f3)
- (parser) Pass through expected tokens (82cdef8)
- (visitor) Ergonomics (2f24b9c)
- Add more Visitor methods (3031a78)
- (ast,parser) Rename existential type to interface (c00f3ee)
- (lexer) Use codesnake for lexer tests (9849eef)
- (lexer) Add symbols test (f97417d)
- (parser) Add test for malformed opdecls (51dccb0)
- (parser) Import statement importing (7ae35c5)
- (ui) Remove unused snapshot (41733c5)
- (frontend) Remove
*from lexer (a47bdcd) - (gourmand) Make gourmand crate a library (9ce27d4)
- (igour) Error suggestions (6d648ba)
- (igour) Extend error func to handle dbrackets (7c07e7f)
- (igour) Add ident -> type var suggestion (a55ca36)
- (igour) Add progressive operator definition to REPL (3c66258)
- (lexer) Adjust lexer enum to be dataless (da61e69)
- (lexer) Add
_as a "wildcard" (4f04ae5) - (lexer) Allow identifiers that start with "_" (a0925f8)
- (lexer) Add "~$@^" to valid op syntax (e5bfae6)
- (lexer) Make fressh tyvar simple (fcb6d18)
- (meal) Interpret "!2" a bit more correctly (1e08bad)
- (parser) Use explicit error recovery (3d76a55)
- (parser) Incomplete vardecl causing panic (01a8f9f)
- (parser) Properly handle minimal unit
()(dee144f) - (parser) Allow whitespace on array sugar (da33b9f)
- (parser) Catch certain cases for null-recov (5fc1959)
- (parser) Make forall syntax robust (1cc5800)
- (parser) Stop TypeTy at Dot (and expr atom) (3fb7113)
- (parser) Allow type annotation on block
let(6e96122) - (parser) Write more expectations on failure (ad27251)
- (parser) Operator rejection (b119b88)
- (testing) Use consistent *.<mode>.gour ext (e3677f5)
- (changelog) Update changelog (267ef95)
- (infra) Expectation for "Signed-Off-By" trailer (7f1c898)
- (readme) Adjust plans (afb5bab)
- (style) Keep plans out of README (8291e72)
- (usage) Type variable convention (43f3d77)
- (ast) Start viewing prelude nodes (836294a)
- (ast) Build out more structure (b4e327a)
- (ast) Add Visitor and VisitorMut (c270c2d)
- (experiment) Have a crate for a toy typeck (5486fd9)
- (frontend) Add display for Token (9e6f8f0)
- (frontend) Add annotation syntax (0d8f5c0)
- (gourmand) Initial lexer and parser (7c52fdb)
- (igour) Start parser testbed (96bf573)
- (igour) Add version syntax calculator (b73c9d9)
- (incremental) Complete parsing process (9ab786f)
- (lexer) Add booleans to lexer (31c6455)
- (lexer) Strings (0b1ea15)
- (lexer) Support real/floating literals (both "simple" and scientific) (5e2f34e)
- (lexer) Allow
'as a prefix to type-idents (0e33fed) - (meal) Add
gourmand-meal(c1162e9) - (parser) Start recursive descent parsing (338c1ba)
- (parser) Start parser tests (ce027fe)
- (parser) Add tagged type to parser (4b753cb)
- (parser) Add array shorthand syntax (4b3336e)
- (parser) Parse function type (f0cc7c8)
- (parser) Add explicit forall syntax (7bcba44)
- (parser) Support type alias declarations (3ed01d3)
- (parser) Design how operators are specified (b1ca37a)
- (parser) Intrinsic token type (660bc8f)
- (parser) Allow full parser creation to fail (6c5770b)
- (parser) Existential syntax (ad92936)
- (parser) Stub effect declaration (8dfccbe)
- (parser) Signature parsing (9f3b8f2)
- (parser) Support
<expr> :: <ty>atom (7bb3fb9) - (parser) Allow signatures to be annotated (8c54e55)
- (parser) Func declaration syntax (1504116)
- (parser) Remove external funcs and func break (0cda3d5)
- (parser) Add support for parsing
fnexpr (a7090d8) - (parser) Add op-table binary @left declaration (032c9c0)
- (parser) Add record type parse function (055c384)
- (parser) Add @right and @unary annotations (d90f167)
- (parser) Add record and array literals (f489d17)
- (repl) Add file input (02081c7)
- (typeck) Egg-based type checker (b26fd3e)
- Initial commit (74af1b7)
- Add
gourmand-treewalk(d37e132)
- (changelog) Update changelog + cliff.toml (afe5e0a)
- (ci) Setup CI for sourcehut (84e71c3)
- (git-cliff) Add "Infrastructure" to changelog (bf2aafb)
- (just) Add recipe for snapshot update (2052291)
- (zellij) No auto edit (c308b18)
- (zellj) Get a nice layout going (d3539bf)
- (incremental) Introduce incremental (e3cbded)
- (incremental) Add HashMapResolver creation from iterators (8a7f0bd)
- (incremental) Reuse Parse struct in ReplParse (901ab10)
- Op declaration associativity as visitors (1639159)
- Run dprint formmating (b49497d)