53 Commits

Author SHA1 Message Date
603efef28e New macro system and stdlib additions 2025-11-21 14:25:03 +01:00
b77653f841 Added support for defining macros in Rust within the macro system
Also fixed a lot of bugs
2025-09-30 21:23:16 +02:00
7971a2b4eb Correctly halts 2025-09-16 22:54:22 +02:00
e339350505 Phased out async-stream in pursuit of compile performance 2025-09-04 15:01:53 +02:00
088cb6a247 updated all deps
migrated away from paste and async-std
2025-09-03 18:42:54 +02:00
769c6cfc9f Various progress, doesnt compile
Added prelude, made lambdas a single-token prefix like NS, made progress on implementations, removed const line type
2025-07-31 00:30:41 +02:00
fe89188c4b temp commit 2025-07-12 00:46:10 +02:00
94958bfbf5 commit before easter break 2025-04-15 00:34:45 +02:00
5e474069e0 reference cycles resolved 2025-02-22 19:01:05 +01:00
cfa8b6ee52 for a moment, everything works 2025-02-21 23:53:31 +01:00
9e7648bc72 All sorts of test scaffolding works now 2025-02-20 18:06:44 +01:00
1556d54226 lex_hello worked for a second just now
this is just a backup however
2025-02-02 10:20:03 +01:00
2b79e96dc9 base and extension fully compiles, host in good shape 2025-01-25 00:10:49 +01:00
1974c69019 Decided to eradicate Send/Sync dependence, broke everything as a result. Should resume from interner 2025-01-20 22:22:33 +01:00
f1f49bab8e Commit before working on minimal rustfmt error demo 2025-01-13 09:18:26 +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
7cdfe7e3c4 Macro processing factored into Orchid functions 2025-01-08 01:34:40 +00: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
84cbcdd4fe Removed macro facets
Macros, placeholders, etc. will all be handled by std eventually so they shouldn't appear in the protocol or the host
2024-08-22 18:05:57 +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
949b3758fd Cleaned up atoms
- Atoms now use MFBI to distinguish between thin and owned atoms.
- Introduced TryFromExpr and ToExpr (formerly ToClause) from the old FFI
- Standardized on Bottom being a ProjErr, which means that there will be no RTErr
2024-07-02 00:57:11 +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
7ad4fe96d1 Progress mostly on atom repr 2024-05-12 13:30:00 +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
ed0d64d52e Almost Alpha
Massive improvements across the board.

One day I'll adopt incremental commits.
2024-02-24 00:31:00 +00:00
a8887227e5 Backup commit
My backspace key started ghosting. Nothing works atm.
2024-01-27 14:50:33 +00:00
86e520e8b8 September-october commit
- manual parser
- stl refinements
- all language constructs are now Send
2023-10-11 18:27:50 +01:00
3c0056c2db Generic mutation scheduling system
IO adapted to use it
Also, Atoms can now dispatch type-erased requests
2023-09-14 22:54:42 +01:00
3fdabc29da Most files suffered major changes
- Less ambiguous syntax
- Better parser (Chumsky only does tokenization now)
- Tidy(|ier) error handling
- Facade for simplified embedding
- External code grouped in (fairly) self-contained Systems
- Dynamic action dispatch
- Many STL additions
2023-08-18 12:57:41 +01:00
751a02a1ec Basic string and binary processing
- strings are now made of graphemes
- char is no longer a literal type
- preliminary binary support
- added implicit extraction methods for primitives
- added explicit extraction method for atoms

Nothing has been tested yet
2023-07-02 23:56:54 +01:00
79e28883db Removed a copious amount of premature Rc-s 2023-06-18 04:22:20 +01:00
aebbf51228 STL rework
- fixed lots of bugs
- overlay libraries work correctly and reliably
- the STL is an overlay library
- examples updated
2023-06-17 21:12:29 +01:00
5bb8a12fc2 Added define_fn
- updated write_fn_step to support attributes, bind names and
  explicit argument types
- added define_fn to generate write_fn_step sequences
- updated concatenate to define_fn as an example
2023-06-02 18:41:00 +01:00
0cc8094823 Touchups
- Added logo and social preview
- added icon to docs
2023-05-28 23:19:13 +01:00
6b71164aca Prepare for push
- last-minute rename
- extended manifest
- updated readme
2023-05-26 15:53:34 +01:00
fdf18e6ff8 Public API and docs 2023-05-26 15:23:15 +01:00
6a381c5b57 Fixing some showstoppers
- inertness now tracked separately from gas
- atomic_impl now correctly rolls over when the argument is inert
- syntax fixes
- tree shaking
2023-05-08 20:27:52 +01:00
a604e40bad bug fixes and performance improvements 2023-05-07 22:35:38 +01:00
f3ce910f66 Transfer commit 2023-03-21 19:36:40 +00:00
b9d47c3181 Dead end with macros 2023-03-05 19:55:38 +00:00
f967cc46a0 Versioning fuckup 2023-02-16 20:42:26 +00:00
6900d1213a executor, mostly 2022-11-07 15:15:38 +00:00
778c87db77 backup commit 2022-10-24 03:16:04 +01:00
2b55fae10d redid the parser, patched up the project too. 2022-07-03 18:01:40 +02:00