Commit Graph

26 Commits

Author SHA1 Message Date
rhiannon morris 68d8019f00 add `let` to frontend syntax 2023-12-04 18:56:45 +01:00
rhiannon morris 50984aa1aa refactor #[attribute] stuff 2023-11-05 20:49:02 +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 050346e344 add postulate, #[compile-scheme], #[main] 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 52e54dcc3c add PrettyVal stuff for parser AST 2023-11-03 18:05:54 +01:00
rhiannon morris d4cfbd4045 add @[fail] modifier to declarations
- `@[fail] def foo = ...` succeeds if `foo` has some error.
- `@[fail "scope"] def foo = ...` succeeds if `foo` has some error
  containing the word "scope" somewhere
- `@[fail] namespace foo { }` works too and the error must be anywhere
  in the namespace
2023-09-22 14:03:22 +02:00
rhiannon morris bb8d2464af add fst and snd 2023-09-18 21:53:38 +02:00
rhiannon morris 42aa07c9c8 crude but effective stratification 2023-05-21 20:34:05 +02:00
rhiannon morris d5f4a012c5 add source locations to inner syntax 2023-05-02 03:06:25 +02:00
rhiannon morris 7e079a9668 add file locations to Parser.Syntax
they're immediately thrown away currently. but one step at a time
2023-04-26 06:12:03 +02:00
rhiannon morris b74ffa0077 rewrite parser
previously it backtracked too much, so instead of giving a useful
parse error, it just said "expected end of input" at the beginning of
the problem toplevel. which, if it's a namespace, could be way off.
2023-04-24 22:25:04 +02:00
rhiannon morris a5ccf0215a coercions and compositions 2023-04-15 15:13:01 +02:00
rhiannon morris a42e82c355 type-case 2023-04-03 17:46:23 +02:00
rhiannon morris ba2818a865 remove IsQty interface 2023-04-01 19:16:43 +02:00
rhiannon morris 8a9b4c23dd box type 2023-03-31 19:26:24 +02:00
rhiannon morris 9250789219 natural numbers 2023-03-26 14:40:54 +02:00
rhiannon morris 6dc7177be5 use NContext/SnocVect for scope name lists etc 2023-03-16 18:18:49 +01:00
rhiannon morris c81aabcc14 more parser/FromParser stuff
- top level semicolons optional
- type optional [the def will need to be an elim]
- `load` statement
- namespaces
2023-03-12 18:28:37 +01:00
rhiannon morris d9bc68446f more fromparser stuff 2023-03-10 21:52:29 +01:00
rhiannon morris 757ea89b0f add definitions to parser 2023-03-06 12:04:29 +01:00
rhiannon morris ab2508e0ce add fromPTerm, etc 2023-03-05 16:50:05 +01:00
rhiannon morris b7acf39c39 remove universe type 2023-03-05 16:48:29 +01:00
rhiannon morris 0cae84c75b add module Parser.Syntax with PTerm and toPTerm 2023-03-05 14:55:04 +01:00