Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
5d68c5c
Add Nix support
IamTheCarl Oct 31, 2024
1fb96d2
Implement tree-sitter parser
IamTheCarl Nov 17, 2024
b9b6b47
Implement Topiary formatter
IamTheCarl Nov 22, 2024
9a169c9
Early development of an interpreter
IamTheCarl Nov 23, 2024
f18ae9e
Implement AST builder
IamTheCarl Nov 29, 2024
7419b2a
Add value and error types
IamTheCarl Apr 5, 2025
aa6b975
Implement void and default expressions
IamTheCarl Apr 5, 2025
827e46b
Add integer
IamTheCarl Apr 6, 2025
34b772a
Add boolean type
IamTheCarl Apr 6, 2025
28a1d39
Implement comparisons
IamTheCarl Apr 6, 2025
a2679ac
Implement scalar
IamTheCarl Apr 6, 2025
4c2e51c
Rename VariableType to ValueType
IamTheCarl Apr 7, 2025
32b7582
Implement procedural blocks
IamTheCarl Apr 7, 2025
400354f
Implement expression statements
IamTheCarl Apr 7, 2025
86628ea
Add let statement
IamTheCarl Apr 8, 2025
ea21561
Implement assignment statements
IamTheCarl Apr 8, 2025
04b6e22
Implement parenthesis
IamTheCarl Apr 9, 2025
5cffc98
Rework of parsing for closures
IamTheCarl Apr 9, 2025
89613dc
Implement dictionaries
IamTheCarl Apr 11, 2025
cfc86cb
WIP closures
IamTheCarl Apr 16, 2025
2ae214b
Remove the heap and start moving values instead
IamTheCarl Apr 29, 2025
07ac852
Finally implement closures
IamTheCarl May 3, 2025
58aeb62
Convert to flake
IamTheCarl Nov 21, 2025
48192ad
Rip out statements
IamTheCarl Nov 22, 2025
fa3ae3e
Remove void type
IamTheCarl Nov 22, 2025
9101b22
Add formulas to parser
IamTheCarl Nov 22, 2025
d024ea8
Upate .gitignore to ignore .direnv
IamTheCarl Nov 22, 2025
528c07b
WIP update to new parser
IamTheCarl Nov 22, 2025
e33cb84
Add let-in syntax
IamTheCarl Nov 22, 2025
9019bcf
Include Rust analyzier
IamTheCarl Nov 23, 2025
6a85e29
Update for new parser (as much as possible without the new syntax)
IamTheCarl Nov 23, 2025
797d41b
Add let in parsing
IamTheCarl Nov 28, 2025
9e55742
Implement let in expression
IamTheCarl Nov 29, 2025
a07c530
Remove the last of the mutable features
IamTheCarl Nov 29, 2025
4034bb2
Minimal implementation of strings
IamTheCarl Nov 29, 2025
b606bfd
Implement function calls
IamTheCarl Nov 29, 2025
b0eb5b6
Fix warnings about Nix fortification.
IamTheCarl Nov 30, 2025
59fad1a
WIP builtin functions
IamTheCarl Nov 29, 2025
b9227e0
Type checking
IamTheCarl Nov 30, 2025
ce07e76
Implement builtin functions
IamTheCarl Dec 1, 2025
39a0efe
Implement default values
IamTheCarl Dec 1, 2025
47c3f42
Implement builtin functions
IamTheCarl Dec 3, 2025
6c9e163
Add test to make sure let in statement can reference its own variables.
IamTheCarl Dec 3, 2025
b1a5857
Remove obsolete error types
IamTheCarl Dec 3, 2025
8b09b53
Implement closure capture
IamTheCarl Dec 3, 2025
0dec343
Dictionaries can now self-reference while being constructed.
IamTheCarl Dec 4, 2025
94db3ab
Implement user closures
IamTheCarl Dec 6, 2025
c1bd81b
Implement builtin closures
IamTheCarl Dec 6, 2025
a4976b6
WIP builtin methods
IamTheCarl Dec 6, 2025
092f45a
Add qualification methods to ValueType
IamTheCarl Dec 9, 2025
ee67579
WIP map operations for strings
IamTheCarl Dec 10, 2025
1e278ab
Implement lists
IamTheCarl Dec 23, 2025
8c6d3e4
Remove old default type
IamTheCarl Dec 24, 2025
b5dcc36
WIP vectors
IamTheCarl Dec 24, 2025
88c6c6c
Implement if expressions
IamTheCarl Jan 1, 2026
0bb9ea8
Finish unit tests for Vectors
IamTheCarl Jan 1, 2026
52c4e02
Add scalar methods
IamTheCarl Jan 2, 2026
177ad45
Remove range syntax
IamTheCarl Jan 2, 2026
5e1f19e
Callable overhaul
IamTheCarl Jan 3, 2026
d3ec5a9
WIP add methods to integers
IamTheCarl Jan 4, 2026
2b5a501
Flush out integer methods
IamTheCarl Jan 6, 2026
10620f4
Update flake.lock
IamTheCarl Jan 6, 2026
8405da5
Add methods to list
IamTheCarl Jan 7, 2026
d07ddd0
Add file type
IamTheCarl Jan 8, 2026
a827252
Unified runtime context
IamTheCarl Jan 9, 2026
c94d7e1
Parallel list construction
IamTheCarl Jan 10, 2026
8d118ae
Make it possible to get the inverse of a function
IamTheCarl Jan 10, 2026
41aad9f
Move variable access discovery to more logical locations
IamTheCarl Jan 10, 2026
c494e39
Parallel let in
IamTheCarl Jan 11, 2026
009aa8c
Parallel binary operations
IamTheCarl Jan 12, 2026
42a4436
Parallel dictionary construction
IamTheCarl Jan 12, 2026
2b0a69f
String methods
IamTheCarl Jan 13, 2026
78813b0
Formatting
IamTheCarl Jan 14, 2026
21f4b70
More generalized closure syntax
IamTheCarl Jan 14, 2026
a967685
Fix member access syntax
IamTheCarl Jan 15, 2026
0a2bcd2
WIP Formulas
IamTheCarl Jan 17, 2026
d7b6893
Convert project into a workspace
IamTheCarl Jan 17, 2026
bb6f354
Setup basic REPL loop
IamTheCarl Jan 17, 2026
d5fba55
Basic repl
IamTheCarl Jan 18, 2026
7e6817e
Pretty error messages
IamTheCarl Jan 18, 2026
5ba15d5
Fix scalars exponenting with any kind of scalar
IamTheCarl Jan 18, 2026
c90ac2c
Report missing syntax
IamTheCarl Jan 18, 2026
0e34b27
Fix stack overflow when displaying Any type
IamTheCarl Jan 18, 2026
9005682
Improve builtin method automatic typing
IamTheCarl Jan 18, 2026
026cffe
Unamed units are now indicated with a question mark
IamTheCarl Jan 18, 2026
edf960c
Improve syntax error reporting
IamTheCarl Jan 19, 2026
3d4d3c4
Add default auto-complete suggestions
IamTheCarl Jan 19, 2026
e49084a
Fix syntax errors discovered in unit tests
IamTheCarl Jan 19, 2026
81a113c
Add suggestions for missing variables
IamTheCarl Jan 19, 2026
39ab928
Update function builder to match method builder's functionality.
IamTheCarl Jan 19, 2026
c699c1d
Prototype ConstraintSet
IamTheCarl Jan 21, 2026
2165f15
Add store
IamTheCarl Jan 25, 2026
6def898
Implement ManifoldMesh3D
IamTheCarl Feb 10, 2026
ad29868
Do not spawn a new store with every repl line
IamTheCarl Feb 11, 2026
261a3a4
STL files can be exported
IamTheCarl Feb 11, 2026
a7ea08c
Support exporting ascii stls
IamTheCarl Feb 12, 2026
b300af3
QOL fixes for mesh creation
IamTheCarl Feb 12, 2026
08cfaa5
Add support for building models from files
IamTheCarl Feb 13, 2026
5fbea42
Add support for importing other files
IamTheCarl Feb 13, 2026
a4a1ae8
Correct mesh operations
IamTheCarl Feb 13, 2026
39ab4a0
Fix variable capture for let-in expressions
IamTheCarl Feb 14, 2026
1cd91f0
Update readme
IamTheCarl Feb 14, 2026
bd31184
Apply cargo fmt
IamTheCarl Feb 14, 2026
b18b902
Add clippy to development environment
IamTheCarl Feb 14, 2026
645716b
Apply clippy corrections
IamTheCarl Feb 14, 2026
8377baa
Run cargo fmt again
IamTheCarl Feb 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
*~
*#*#
.*#*
.direnv
.ccad
Loading