6b54db3fa6
Added more math operations, generalized and simplified existing math operations, added some list operations for the lisp lists
haxala1r2025-11-06 23:02:16 +03:00
724aeefc0f
Reorganized the standard library a little more, moved the initialization code for the standard environment into a function. Making way for more organization changes to come
haxala1r2025-11-05 23:55:21 +03:00
bafa9bdfbe
Added type annotations for the environment module to make things clearer, switched bind_args implementation with a simpler one.
haxala1r2025-11-03 23:00:46 +03:00
e372691b16
Changed the addition and subtraction functions to be clearer
Emin Arslan
2025-10-16 22:28:11 +03:00
471fac4906
Added def, changed naming, and added if expressions
Emin Arslan
2025-10-16 17:15:04 +03:00
17fd8f2d83
Evaluation is now performed properly, mimicking Common Lisp, and basic defun and defmacro definitions are provided (automatically executed on startup)
Emin Arslan
2025-10-14 22:26:00 +03:00
7ea1bcdb5a
Added dot syntax for lists, and proper quote syntax. LQuoted is now unused
Emin Arslan
2025-10-14 22:24:57 +03:00
8f46107e1e
Improved the repl to return to evaluation upon error. Also added an exit command
Emin Arslan
2025-10-14 21:06:11 +03:00
9097ddd5c1
Added builtin special forms, lambda forms and bind-symbol. got rid of bind-function, as it is now unnecessary. it is now possible to create functions!
Emin Arslan
2025-10-14 21:05:10 +03:00
55bf17cf47
Re-organized a lot of code, changed functions so that functions capture the surrounding environment and execute in that environment
Emin Arslan
2025-10-14 20:21:29 +03:00
4a1d27b01e
General style changes, nothing major
Emin Arslan
2025-10-14 19:01:29 +03:00
2e4a0f6f83
Added bind-function primitive that allows us to define functions, also changed evaluation to allow for a persistent environment
Emin Arslan
2025-10-12 21:58:54 +03:00
d80caadc85
Added gensym, and phases in the desugar module for logical and & or
haxala1r2025-12-27 16:41:22 +03:00
be0d479665
Added desugar steps to add (begin) wrappers around long lambda bodies, and rewrite internal (define) forms into letrec forms
haxala1r2025-12-26 22:13:30 +03:00
4f1ad54596
Started work on the compiler, with a desugar phase
haxala1r2025-12-26 20:42:03 +03:00
e10124498e
Reorganize flake again, it should be good now
haxala1r2025-12-09 19:44:30 +03:00
64e52cd0cf
Added more math operations, generalized and simplified existing math operations, added some list operations for the lisp lists
haxala1r2025-11-06 23:02:16 +03:00
2f9501450f
Reorganized the standard library a little more, moved the initialization code for the standard environment into a function. Making way for more organization changes to come
haxala1r2025-11-05 23:55:21 +03:00
a45918d203
Added type annotations for the environment module to make things clearer, switched bind_args implementation with a simpler one.
haxala1r2025-11-03 23:00:46 +03:00
d0accebf73
Changed the addition and subtraction functions to be clearer
Emin Arslan
2025-10-16 22:28:11 +03:00
9b20547e84
Added def, changed naming, and added if expressions
Emin Arslan
2025-10-16 17:15:04 +03:00
dec68856f3
Evaluation is now performed properly, mimicking Common Lisp, and basic defun and defmacro definitions are provided (automatically executed on startup)
Emin Arslan
2025-10-14 22:26:00 +03:00
365595a345
Added dot syntax for lists, and proper quote syntax. LQuoted is now unused
Emin Arslan
2025-10-14 22:24:57 +03:00
df0b3178f0
Improved the repl to return to evaluation upon error. Also added an exit command
Emin Arslan
2025-10-14 21:06:11 +03:00
bb0ec74ee7
Added builtin special forms, lambda forms and bind-symbol. got rid of bind-function, as it is now unnecessary. it is now possible to create functions!
Emin Arslan
2025-10-14 21:05:10 +03:00
aaafe1c3e6
Re-organized a lot of code, changed functions so that functions capture the surrounding environment and execute in that environment
Emin Arslan
2025-10-14 20:21:29 +03:00
f9e96b1bd4
General style changes, nothing major
Emin Arslan
2025-10-14 19:01:29 +03:00
354e9b355b
Added bind-function primitive that allows us to define functions, also changed evaluation to allow for a persistent environment
Emin Arslan
2025-10-12 21:58:54 +03:00