Commit Graph

100 Commits

Author SHA1 Message Date
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
b1ab483d92 Merge remote-tracking branch 'origin/ipc-refactor' into ipc-refactor 2024-05-12 13:31:13 +02:00
7ad4fe96d1 Progress mostly on atom repr 2024-05-12 13:30:00 +02:00
ee823ca3c2 perftest more idiomatic 2024-05-03 12:29:57 +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
c279301583 Massive feature drop
- pattern matching seems to be correct
- dynamic dispatch works with the to_string example
- template strings as a last-minute addition
- interpreter revamp, virtual stack for abort safety
2024-01-29 18:26:56 +00:00
a8887227e5 Backup commit
My backspace key started ghosting. Nothing works atm.
2024-01-27 14:50:33 +00:00
f77e4fd90a October commit
- custom parser support and infra
- type-tagging and traits (untested)
- match expressions
2023-10-24 22:17:37 +01:00
c961506a3a Extended examples 2023-10-12 18:53:31 +01:00
ce34777555 Improved timer example
Also pushed other half of system::fs rename
2023-10-12 17:41:27 +01:00
ff486a5f74 FIxed the timer and the example 2023-10-12 15:01:19 +01:00
cb395da894 Fixed a tricky type erasure bug in the scheduler 2023-10-12 14:47:12 +01:00
af3e9f67fa Fixed float parsing and improved printing 2023-10-11 20:32:04 +01:00
86e520e8b8 September-october commit
- manual parser
- stl refinements
- all language constructs are now Send
2023-10-11 18:27:50 +01:00
56679dcc01 added rust-analyzer to recommendations 2023-09-24 13:00:34 +01:00
ba0b155ebd Removed foreign macros
Converted the function integration to use template
metaprogramming instead of macros.
2023-09-22 23:25:26 +01:00
7396078304 Added directfs
Added a very rudimentary file I/O system suitable for experimenting
with the language further. A better one will be designed when we have
sensible error management.
2023-09-17 16:37:39 +01:00
1078835e8b opportunistic move
should be way faster now
2023-09-16 12:57:50 +01:00
0bcf10659b Cut down on macro nonsense
- InertAtomic replaced atomic_inert! for improved tooling support
- atomic_defaults! is easier to type out than to explain in a docstring
- Changed rustfmt config to better support tiny functions such as as_any
2023-09-15 12:37:10 +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
8c866967a9 The pipeline is finally reasonably clean 2023-09-12 01:26:46 +01:00
6693d93944 Interning Orchid string literals 2023-08-19 14:35:24 +01:00
0b887ced70 Converted Interner to work with Rc-s
- Interner no longer contains unsafe code
- Tokens now hold a reference to the value they represent directly

This will enable many future improvements
2023-08-19 14:03:05 +01:00
ab0b57b1b8 Added line:col display to errors 2023-08-18 22:53:38 +01:00
c9cb1b205f Temporarily disable borked workflow 2023-08-18 21:54:24 +01:00
7e2975115f Toolchain patch 2023-08-18 21:51:56 +01:00
9186bce956 Import and export improved
- Import paths are now vname and not sym
- Imports and exports accept multiple space-delimited operators in []

as a result, we can now reliably import and export the operator *

- error reporting ergonomics
2023-08-18 21:10:29 +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
cce4b8f11c Various Improvements
- removed many panics from the pipeline
- extracted project and const tree to representations
- extended STL list support
- improved loops
2023-06-28 22:29:58 +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
01aa37b27d write_fn_step convenience macro 2023-06-01 19:10:07 +01:00
6e545be8a7 docs reference 2023-05-29 22:17:34 +01:00
c40c731138 bruh 2023-05-29 21:35:49 +01:00
5a18f14d3b More adjustments 2023-05-29 21:34:54 +01:00
12112ff063 Fixed doctest 2023-05-29 21:20:38 +01:00
f28c922f66 Fixed doctest 2023-05-29 20:59:47 +01:00
0ec4233044 Created workflow 2023-05-29 00:47:54 +01:00
0cc8094823 Touchups
- Added logo and social preview
- added icon to docs
2023-05-28 23:19:13 +01:00