Skip to content

Latest commit

 

History

History
177 lines (131 loc) · 13.7 KB

File metadata and controls

177 lines (131 loc) · 13.7 KB

Changelog

All notable changes to this project will be documented in this file.

Unreleased

Bug Fixes

  • (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)

Documentation

  • (readme) Add badge, and slight correction (c3bb48a)
  • Remove CONVENTIONS.md (8ca1725)

Features

  • (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)

Infrastructure

  • (justfile) Allow previewing changelog (2aa4b8e)
  • Add .editorconfig (57d0180)
  • Add cargo-deny deny.toml (70a25f9)

Refactor

  • (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)

Styling

  • (ast,parser) Rename existential type to interface (c00f3ee)

Testing

  • (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)

0.0.1 - 2026-02-13

Bug Fixes

  • (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)

Documentation

  • (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)

Features

  • (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 fn expr (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)

Infrastructure

  • (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)

Performance

  • (incremental) Interner re-use (be2df09)
  • (parser) Hashset for ParserError::Unexpected (2b5569d)

Refactor

  • (incremental) Introduce incremental (e3cbded)
  • (incremental) Add HashMapResolver creation from iterators (8a7f0bd)
  • (incremental) Reuse Parse struct in ReplParse (901ab10)
  • Op declaration associativity as visitors (1639159)

Styling