erasure and also baby's first scheme backend #29

Merged
rhi merged 33 commits from 🧼 into 🐉 2023-11-03 13:06:42 -04:00

33 Commits

Author SHA1 Message Date
rhiannon morris d4639a35c6 add hello.quox to examples 2023-11-03 18:05:54 +01:00
rhiannon morris b7e1f37b5b add some #[compile-scheme] 2023-11-03 18:05:54 +01:00
rhiannon morris 5dfefe443c more tidying of outputs 2023-11-03 18:05:54 +01:00
rhiannon morris 0514fff481 represent ℕ constants directly
instead of as huge `succ (succ (succ ⋯))` terms
2023-11-03 18:05:54 +01:00
rhiannon morris fa7f82ae5a rename Nat to NAT in AST 2023-11-03 18:05:54 +01:00
rhiannon morris e0ed37720f always vsep scheme lets, otherwise they are unreadable 2023-11-03 18:05:54 +01:00
rhiannon morris 4cc50c6bcd highlight errors even if real output is to a file
(unless told not to)
2023-11-03 18:05:54 +01:00
rhiannon morris 050346e344 add postulate, #[compile-scheme], #[main] 2023-11-03 18:05:54 +01:00
rhiannon morris cc0bade747 scheme output 2023-11-03 18:05:54 +01:00
rhiannon morris cd08a0fd98 more erasure 2023-11-03 18:05:54 +01:00
rhiannon morris 1f14e4ab9e automate more option stuff
if the elaborator writes it then it will be kept up to date
automatically
2023-11-03 18:05:54 +01:00
rhiannon morris 314e7f036d make nat elimination with erased IH non-recursive at runtime 2023-11-03 18:05:54 +01:00
rhiannon morris 6ab9637ab5 don't keep erased applications actually 2023-11-03 18:05:54 +01:00
rhiannon morris b6fd1e921e pretty printing improvements 2023-11-03 18:05:54 +01:00
rhiannon morris f4a45b6c52 keep the Except effect at the start of the list 2023-11-03 18:05:54 +01:00
rhiannon morris 8e0d66cab8 more erasure 2023-11-03 18:05:54 +01:00
rhiannon morris ea74c148b7 some of this EffExtra stuff doesn't work 2023-11-03 18:05:54 +01:00
rhiannon morris 83ab871d61 new main 2023-11-03 18:05:54 +01:00
rhiannon morris 421eb220fd erasure refactor 2023-11-03 18:05:54 +01:00
rhiannon morris fbb862c88b %default total 2023-11-03 18:05:54 +01:00
rhiannon morris b651ed5447 LoadFile does the parsing 2023-11-03 18:05:54 +01:00
rhiannon morris d6985cad55 tweak the pretty printer stuff slightly 2023-11-03 18:05:54 +01:00
rhiannon morris 52e54dcc3c add PrettyVal stuff for parser AST 2023-11-03 18:05:54 +01:00
rhiannon morris 0c1df54d62 improve handling of context lengths 2023-11-03 18:05:54 +01:00
rhiannon morris 2e9183bc14 add prettyDef 2023-11-03 18:05:54 +01:00
rhiannon morris 428397f42b erasure to untyped syntax 2023-11-03 18:05:54 +01:00
rhiannon morris 0b7bd0ef46 add locations and substitutions to untyped syntax 2023-11-03 18:05:54 +01:00
rhiannon morris 9cbd998d6f simplify isEmpty and isSubSing 2023-11-03 18:05:54 +01:00
rhiannon morris 6896c8fcc4 rename SQtys to sg (σ) 2023-11-03 18:05:54 +01:00
rhiannon morris be8797a3ef untyped λ calculus syntax 2023-11-03 18:05:54 +01:00
rhiannon morris bf605486f0 example updates
- misc.All doesn't need to be a ★¹
- add pair.map-fst and pair.map-snd
- add bool.dup!
- tweak quantities in eta.from-false
- add fail.quox to all.quox
- add qty.quox
2023-11-03 18:05:35 +01:00
rhiannon morris 69f032584e fix constructor name in comment 2023-11-03 17:56:42 +01:00
rhiannon morris 9ecaaf72bd bump pack collection 2023-10-22 19:18:38 +02:00