Commit Graph

13 Commits

Author SHA1 Message Date
aea0fe510f Making preparations for more of the standard library 2025-12-28 21:39:38 +03:00
6b54db3fa6 Added more math operations, generalized and simplified existing math operations, added some list operations for the lisp lists 2025-12-28 21:39:37 +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 2025-12-28 21:39:37 +03:00
eb3b311589 Reorganized environment-related functions. 2025-12-28 21:39:37 +03:00
3d4e70b6a1 Added some standard functions 2025-12-28 21:39:37 +03:00
1df6f3603c reorganized a bit, separated bind-symbol into two operators that have different uses, def and set 2025-12-28 21:39:37 +03:00
Emin Arslan
6a9c2b8ddc Removed irrelevant comment 2025-12-28 21:39:37 +03:00
Emin Arslan
e372691b16 Changed the addition and subtraction functions to be clearer 2025-12-28 21:39:37 +03:00
Emin Arslan
17fd8f2d83 Evaluation is now performed properly, mimicking Common Lisp, and basic defun and defmacro definitions are provided (automatically executed on startup) 2025-12-28 21:39:37 +03:00
Emin Arslan
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! 2025-12-28 21:39:37 +03:00
Emin Arslan
55bf17cf47 Re-organized a lot of code, changed functions so that functions capture the surrounding environment and execute in that environment 2025-12-28 21:39:37 +03:00
Emin Arslan
2e4a0f6f83 Added bind-function primitive that allows us to define functions, also changed evaluation to allow for a persistent environment 2025-12-28 21:39:37 +03:00
Emin Arslan
af860266a9 Initial state - basic lexer + parser + interpreter 2025-12-28 21:39:37 +03:00