17 Commits

Author SHA1 Message Date
5a90f78219 Added type annotations for the environment module to make things clearer, switched bind_args implementation with a simpler one. 2025-11-03 23:00:46 +03:00
46a1553dac Update gitignore 2025-11-03 22:34:00 +03:00
4d440dc1d7 remove mistaken autosave file 2025-11-03 22:33:15 +03:00
d24f8dc77f Reorganized environment-related functions. 2025-11-03 22:32:43 +03:00
37c8d2a62a Added some standard functions 2025-10-30 23:42:10 +03:00
45828a8dd4 reorganized a bit, separated bind-symbol into two operators that have different uses, def and set 2025-10-30 21:01:40 +03:00
Emin Arslan
ccf1aec5da Removed irrelevant comment 2025-10-16 22:31:12 +03:00
Emin Arslan
6c3efde5e9 Changed the addition and subtraction functions to be clearer 2025-10-16 22:28:11 +03:00
Emin Arslan
8273baecf1 Added def, changed naming, and added if expressions 2025-10-16 17:15:04 +03:00
Emin Arslan
fb52fb03b6 Evaluation is now performed properly, mimicking Common Lisp, and basic defun and defmacro definitions are provided (automatically executed on startup) 2025-10-14 22:26:00 +03:00
Emin Arslan
7105b2dd39 Added dot syntax for lists, and proper quote syntax. LQuoted is now unused 2025-10-14 22:24:57 +03:00
Emin Arslan
be6e1cd684 Improved the repl to return to evaluation upon error. Also added an exit command 2025-10-14 21:06:11 +03:00
Emin Arslan
b0ded579af 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! 2025-10-14 21:05:10 +03:00
Emin Arslan
22e7c3dbb3 Re-organized a lot of code, changed functions so that functions capture the surrounding environment and execute in that environment 2025-10-14 20:21:29 +03:00
Emin Arslan
965804c18d General style changes, nothing major 2025-10-14 19:01:29 +03:00
Emin Arslan
a905ab2b42 Added bind-function primitive that allows us to define functions, also changed evaluation to allow for a persistent environment 2025-10-12 21:58:54 +03:00
Emin Arslan
aa066f87d0 Initial state - basic lexer + parser + interpreter 2025-10-12 21:33:57 +03:00