Commit graph

32 commits

Author SHA1 Message Date
Roman Godmaire
5fa8e1a6ae misc!: rename fn* to lambda
I just like it more
2024-07-15 19:34:45 -04:00
Raine Godmaire
fa8195458d misc: clippy 2024-07-15 18:55:14 -04:00
Raine Godmaire
8f9f299e13 refactor: special data type for built-ins
These are now not specials or included in the core environment
2024-07-15 18:52:58 -04:00
Roman Godmaire
5a623af9ad feat: allow step size for range 2024-05-14 20:07:16 -04:00
Roman Godmaire
ab20f6e85e refactor: namespaces(?)
And move list functions over there
2024-05-14 20:04:35 -04:00
Roman Godmaire
285b93aa89 feat: reduce + fold 2024-05-14 16:08:21 -04:00
Roman Godmaire
a2210f2db3 fix: 1-based indexing, babey 2024-05-14 14:48:52 -04:00
Roman Godmaire
e25c9baa66 lint: clippy 2024-05-14 14:21:18 -04:00
Roman Godmaire
06a2bc13d8 feat: modulo operator 2024-05-14 14:20:27 -04:00
Roman Godmaire
25ea02d5e6 feat: filter for iterators 2024-05-14 14:18:19 -04:00
Roman Godmaire
315478826f feat: map function for iterators 2024-05-14 13:46:07 -04:00
Roman Godmaire
a7c6e1a07d refactor: remove mutable reassignment 2024-05-14 11:50:01 -04:00
Roman Godmaire
ed86c884ec feat: range function 2024-05-14 11:39:48 -04:00
Roman Godmaire
6a83d228bb feat: lisp/vec manipulation
first, last, nth, push, pop
2024-05-13 10:07:44 -04:00
Roman Godmaire
5f7f7e4aed feat: swap macro 2024-05-12 22:10:44 -04:00
Roman Godmaire
07c01a1e39 refactor: Vec to VecDeque 2024-05-12 21:48:47 -04:00
Roman Godmaire
5e98637ae0 fix: quote macro 2024-05-12 15:17:55 -04:00
Roman Godmaire
6c08af02a1 fix: unquote not being truly recursive
Before we were skipping checks for unquotes within specials, which
themselves contain lists.  Quote is still broken, funnily enough.
2024-05-12 15:00:06 -04:00
Roman Godmaire
02463197c3 misc: Chesterton's Fence
Everything is a list in lisp for a reason 🙃
2024-05-12 08:11:12 -04:00
Roman Godmaire
047db2b188 feat: proc macro to write mute in rust 2024-05-11 13:19:58 -04:00
Roman Godmaire
4f882b35a6 refactor: move arg count
We only use this in the evaluator env, so move it to there.
2024-05-11 07:56:48 -04:00
Roman Godmaire
de4e9b4bd3 refactor: use macros for semi-repeated functions 2024-05-10 21:27:00 -04:00
Roman Godmaire
5669a04db0 feat: return errors on bad operations
The vast majority of these will turn into parse time type checks
2024-05-10 19:23:48 -04:00
Roman Godmaire
1958da3a96 docs: future of errors 2024-05-10 19:00:56 -04:00
Roman Godmaire
c53bb68b13 misc: grammar(?) 2024-05-10 18:56:21 -04:00
Roman Godmaire
2e19a44c0a feat: error node
Errors as values, baby!!
2024-05-10 18:54:18 -04:00
Roman Godmaire
ff6b12e408 lint: clippy 2024-05-10 11:24:45 -04:00
Roman Godmaire
e54d095c5f refactor!: move specials out of env
This is a fucked up commit.  If you see this, you have fallen too deep
into the rabbit hole.  Come say hi!
2024-05-10 11:21:46 -04:00
Roman Godmaire
d8724eb4b7 refactor: merge imports 2024-05-06 22:36:06 -04:00
Roman Godmaire
872195f6a5 feat: support floats in ordering operators 2024-05-06 22:35:39 -04:00
Roman Godmaire
e4484297a9 misc: remove i128 support
Rather than doing this, we should use a BigNumber library
2024-05-06 22:16:05 -04:00
Roman Godmaire
f1083009a4 refactor: split parser and interpreter into separate crates 2024-05-06 21:51:22 -04:00