Commit Graph

24 Commits

Author SHA1 Message Date
c461f82de1 Custom lexers can now terminate operators
Some checks failed
Rust / build (push) Has been cancelled
New constraint: custom lexer output is dropped whenever it is used to terminate an operator nested inside another custom lexer, because the recursive call has to return exactly one lexeme
2026-01-25 17:52:18 +01:00
48942b3b2c Unit tests pass
Fixed a nasty deadlock in reqnot
2026-01-19 00:56:03 +01:00
1a7230ce9b Traditional route appears to work
Beginnings of dylib extensions, entirely untestted
2026-01-12 01:38:10 +01:00
32d6237dc5 task_local context over context objects
- interner impls logically separate from API in orchid-base (default host interner still in base for testing)
- error reporting, logging, and a variety of other features passed down via context in extension, not yet in host to maintain library-ish profile, should consider options
- no global spawn mechanic, the host has a spawn function but extensions only get a stash for enqueuing async work in sync callbacks which is then explicitly, manually, and with strict order popped and awaited
- still deadlocks nondeterministically for some ungodly reason
2026-01-01 14:54:29 +00:00
0b2b05d44e Orchid-base uses task-local context.
Everything else is broken at the moment.
2025-12-14 17:17:43 +01:00
0f89cde246 added binary-safe (hopefully) pipe for upcoming dylib extension support 2025-12-12 17:32:01 +01:00
d211f3127d Added untested comm impl 2025-12-11 16:25:46 +01:00
7031f3a7d8 Macro system done in theory
too afraid to begin debugging, resting for a moment
2025-09-03 16:05:26 +02:00
94958bfbf5 commit before easter break 2025-04-15 00:34:45 +02:00
40c5eaf3d5 Formatter introduced 2025-02-07 00:47:34 +01:00
2b79e96dc9 base and extension fully compiles, host in good shape 2025-01-25 00:10:49 +01:00
3a76513638 orchid-base moved to async 2025-01-15 11:32:37 +01:00
e0d246fe1f Committing for reference 2025-01-12 02:02:01 +01:00
52c8d1c95a Updated everything and moved to hard tab indentation 2025-01-08 19:20:34 +01:00
e780969c6c Gitbutler >:(
I don't understand this piece of software at all
2024-12-31 00:03:39 +01:00
3a3ae98aff Began implementing fully isomorphic macros
Like Rust's Proc macros. Now we have preprocessor recursion to worry about. I also made a cool macro for enums
2024-10-14 00:13:09 +02:00
3a63894de2 New plans for macros
About to move them completely to stdlib
2024-08-18 22:57:06 +02:00
11951ede43 Lexer test mode works 2024-08-04 23:24:32 +02:00
9d35ba8040 Changes in api and upwards
- Removed out-of-stack error reporting
- Revised module system to match previous Orchid system
- Errors are now in a Vec everywhere
- Implemented atoms and lexer
- Started implementation of line parser
- Tree is now ephemeral to avoid copying Atoms held inside
- Moved numbers into std and the shared parser into base
- Started implementation of Commands
2024-07-28 23:59:55 +02:00
cc3699bbe7 bkp 2024-07-18 16:07:36 +02:00
fc8441f080 very elegant extension API and parts of it used in std as POC 2024-07-01 20:11:22 +02:00
93867e40c6 Finally figured out how I want atoms to work 2024-06-14 19:41:08 +02:00
bc3b10674b Separated orchid-host and orchid-extension
This is an architectural change that allows me to implment specifics first and generalize along observed symmetries in orchid-base
2024-05-01 21:20:17 +02:00
aa3f7e99ab in midst of refactor 2024-04-29 22:16:35 +02:00