|
|
d6104b6a0b
|
Update .gitignore
|
2026-01-05 14:33:06 -05:00 |
|
|
|
4d92954a5f
|
main: expand the repl's capabilities to include debug + all syntactic positions
|
2026-01-03 22:03:10 -05:00 |
|
|
|
e199e15804
|
parser: Tweak type and fn precedence
|
2025-12-24 17:44:59 -05:00 |
|
|
|
4a38a0ebbf
|
main: Put the expression body on line after byte-span
|
2025-12-23 05:01:53 -05:00 |
|
|
|
41b8688438
|
display: newline-indent bare function bodies(?)
|
2025-12-23 05:01:25 -05:00 |
|
|
|
a836de32c7
|
Use: add alias use foo as bar form
|
2025-12-20 06:09:31 -05:00 |
|
|
|
f551e3aef3
|
ast: Break compatibility
- Turned `static` and `const` into scoped modifiers (like `pub`
- Added anonymous record patterns
|
2025-12-20 05:22:14 -05:00 |
|
|
|
64ce18d576
|
examples: add silly to-lisp converter that doesn't produce any actual lisp
|
2025-12-16 04:18:30 -05:00 |
|
|
|
cca8347cc2
|
patterns: make PatOp::ArRep match Op::ArRep
|
2025-12-16 04:17:38 -05:00 |
|
|
|
1887c9c014
|
parser/pat: allow ranges in function type annotations
|
2025-12-05 09:24:57 -05:00 |
|
|
|
12cf529186
|
Cargo.toml: Use public version of Repline
|
2025-12-02 03:12:52 -05:00 |
|
|
|
e4f57250b5
|
Cargo.toml: update to repline 0.0.9
|
2025-12-01 23:25:28 -05:00 |
|
|
|
3b6cac2bcb
|
.cargo: use sparse registry
|
2025-12-01 23:25:05 -05:00 |
|
|
|
e566ea62e5
|
ast: Give for loops a dedicated node and remove eager desugar
|
2025-12-01 23:16:47 -05:00 |
|
|
|
7ea483fe26
|
fmt: fix write_char not respecting indent string
take default indent string from env!
|
2025-12-01 23:09:58 -05:00 |
|
|
|
2e5cd3029f
|
samples: remove receiver.do, fix usable.do
|
2025-11-04 09:17:12 -05:00 |
|
|
|
82ec6770c8
|
examples: Add sevenfold example demonstrating (and testing) Visit and Fold
|
2025-11-02 01:17:39 -04:00 |
|
|
|
bb10056f38
|
main: Print span of expressions, by parsing them as Anno
|
2025-11-02 01:10:36 -04:00 |
|
|
|
719f98917b
|
ast: separate display impls from node decls
|
2025-11-02 01:10:11 -04:00 |
|
|
|
30871013cd
|
parser/expr: Don't next() the precedences in bind; it makes everything less readable.
|
2025-11-02 00:37:28 -04:00 |
|
|
|
6c4c58dc2e
|
parser/expr: Like I said in the comment...
|
2025-11-01 21:11:33 -04:00 |
|
|
|
c1d32f3efc
|
ast: Add Fold, Folder traits, reorganize visit
parser: fix precedence of `BindOp::Let`
|
2025-10-29 04:39:41 -04:00 |
|
|
|
9a0d1232a6
|
token: docs
pat: Token::kind
|
2025-10-28 23:02:33 -04:00 |
|
|
|
d5e25a15dc
|
ast: add continue expression
|
2025-10-28 22:47:58 -04:00 |
|
|
|
fb8677c937
|
lib.rs: improve the blurb
|
2025-10-28 22:17:43 -04:00 |
|
|
|
8e2bc5ad85
|
src: Split parser into modules, reorganize AST
|
2025-10-28 22:15:06 -04:00 |
|
|
|
a3cab92b35
|
parser: clean up unused ExplicitDo
|
2025-10-28 04:26:41 -04:00 |
|
|
|
0d7b89da96
|
ast: Add Visitor interface
Questions: do we need this?
|
2025-10-28 04:21:52 -04:00 |
|
|
|
588606e0c4
|
src: address a bunch of clippy::pedantic lints
|
2025-10-28 02:53:20 -04:00 |
|
|
|
0bf5a41498
|
syntax: Merge ALL definitions into Bind, and allow type variable introducers at every Bind
|
2025-10-28 02:27:56 -04:00 |
|
|
|
a29adeeef3
|
ast: move typedef up
|
2025-10-24 05:26:07 -04:00 |
|
|
|
287b57abd7
|
main: print parse stats when parse errors
|
2025-10-24 05:25:38 -04:00 |
|
|
|
89e4afcc42
|
parser: "Parse" type variable introducers (and discard them for now)
|
2025-10-24 05:24:58 -04:00 |
|
|
|
64dc8bb279
|
ast: add ptr patterns
|
2025-10-21 08:35:46 -04:00 |
|
|
|
263d2290c0
|
token: Make TKind::{Pub, Mod} match their keywords
|
2025-10-21 08:35:33 -04:00 |
|
|
|
3fd089ad11
|
parser: Move parse_for below impl Parse<'t> for Expr, and allow a single semi at EOF
|
2025-10-21 07:44:13 -04:00 |
|
|
|
6c57263492
|
token: Remove and and or tokens, since they clash with operator overload function names
|
2025-10-21 07:43:04 -04:00 |
|
|
|
115fe836f9
|
ast: move implementations of Expr below Op
|
2025-10-21 07:42:37 -04:00 |
|
|
|
c7e2e3d31d
|
ast: pub patterns, and, since Pat replaced Ty, !(never) patterns.
|
2025-10-21 07:42:04 -04:00 |
|
|
|
ccb6bef6d9
|
ast: Add use, tackle remaining low-hanging fruit
|
2025-10-21 07:09:12 -04:00 |
|
|
|
9cccac5910
|
docs: Fix cargo-doc errors
|
2025-10-20 04:52:52 -04:00 |
|
|
|
b80a3a55c3
|
ast: Merge Ty into Pat, merge Mod and Fn into Bind
|
2025-10-20 04:24:21 -04:00 |
|
|
|
22094f4862
|
main: Clear screen on mode change
|
2025-10-20 00:40:22 -04:00 |
|
|
|
0015ac5f1b
|
ast: rename Let to Bind
|
2025-10-20 00:39:56 -04:00 |
|
|
|
458e95a8ed
|
AST: merge let, const, static, match_arm into one binder
|
2025-10-20 00:21:49 -04:00 |
|
|
|
607615db74
|
Add .cargo/config.toml, so other people can build Conlang
|
2025-10-20 00:07:20 -04:00 |
|
|
|
f625e4181f
|
test.sh: add trailing newline.
|
2025-10-17 07:03:36 -04:00 |
|
|
|
75048c61c9
|
dummy.do: Semicolon elision!
|
2025-10-17 06:57:37 -04:00 |
|
|
|
db9c75b3c6
|
ast: formatting; main: explicit verbosity
|
2025-10-17 06:57:21 -04:00 |
|
|
|
f05d480b35
|
test.sh: add test script to quickly parse every file in a directory
|
2025-10-17 06:26:21 -04:00 |
|