Commit Graph

  • 89f19adc1b Added pretty-printing. main haxala1r 2025-11-12 23:32:54 +03:00
  • facd6bb469 Improved the debug print function to pretty-print lists. haxala1r 2025-11-11 23:23:16 +03:00
  • aea0fe510f Making preparations for more of the standard library haxala1r 2025-11-11 22:34:22 +03:00
  • f342289cb3 Revert "Minor changes" haxala1r 2025-11-06 23:29:38 +03:00
  • 3c454b1fe3 Minor changes haxala1r 2025-11-06 23:29:28 +03:00
  • 6b54db3fa6 Added more math operations, generalized and simplified existing math operations, added some list operations for the lisp lists haxala1r 2025-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 haxala1r 2025-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. haxala1r 2025-11-03 23:00:46 +03:00
  • 44842aaead Update gitignore haxala1r 2025-11-03 22:34:00 +03:00
  • bd4ee5fddd remove mistaken autosave file haxala1r 2025-11-03 22:33:15 +03:00
  • eb3b311589 Reorganized environment-related functions. haxala1r 2025-11-03 22:32:43 +03:00
  • 3d4e70b6a1 Added some standard functions haxala1r 2025-10-30 23:42:10 +03:00
  • 1df6f3603c reorganized a bit, separated bind-symbol into two operators that have different uses, def and set haxala1r 2025-10-30 21:01:40 +03:00
  • 6a9c2b8ddc Removed irrelevant comment Emin Arslan 2025-10-16 22:31:12 +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
  • af860266a9 Initial state - basic lexer + parser + interpreter Emin Arslan 2025-10-12 21:33:57 +03:00
  • d401548d1d Change the build workflow to run on cron activations as well compiler haxala1r 2025-12-28 21:32:48 +03:00
  • 77213ce492 Change build workflow to only run on push and tag events haxala1r 2025-12-27 18:21:19 +03:00
  • 5afa613138 Change build workflow to also run the binary haxala1r 2025-12-27 18:17:29 +03:00
  • 61a08c1b9b Changed flake to use flake-utils and build for all targets haxala1r 2025-12-27 18:14:25 +03:00
  • 1422f14822 Added first build workflow haxala1r 2025-12-27 17:31:23 +03:00
  • 9981c222eb Added desugar phase for converting cond into a chain of if's haxala1r 2025-12-27 17:00:16 +03:00
  • 93ba06a6b0 Expand parser to include =, > and < as symbol characters haxala1r 2025-12-27 16:59:44 +03:00
  • 624d420afe Separated mutually recursive definition of desugar phases haxala1r 2025-12-27 16:44:18 +03:00
  • d80caadc85 Added gensym, and phases in the desugar module for logical and & or haxala1r 2025-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 haxala1r 2025-12-26 22:13:30 +03:00
  • 4f1ad54596 Started work on the compiler, with a desugar phase haxala1r 2025-12-26 20:42:03 +03:00
  • e10124498e Reorganize flake again, it should be good now haxala1r 2025-12-09 19:44:30 +03:00
  • fc44d7f195 Reorganize flake, remove unnecessary prebuild phase haxala1r 2025-12-09 19:43:26 +03:00
  • 582a0a3b86 Add merlin to the devshell, because I use emacs haxala1r 2025-12-08 22:37:48 +03:00
  • 58277ad0a3 Complete reorganization: finally at a building state again haxala1r 2025-12-08 22:25:58 +03:00
  • adbf083c3d Reorganized project haxala1r 2025-12-08 22:25:36 +03:00
  • 8e980a8f1b Reorganized basically everything, making way for the compiler haxala1r 2025-11-15 13:06:16 +03:00
  • 81c349c70a Added pretty-printing. haxala1r 2025-11-12 23:32:54 +03:00
  • 6c2ae01a80 Improved the debug print function to pretty-print lists. haxala1r 2025-11-11 23:23:16 +03:00
  • e46938005b Making preparations for more of the standard library haxala1r 2025-11-11 22:34:22 +03:00
  • e2f1a55cb7 Revert "Minor changes" haxala1r 2025-11-06 23:29:38 +03:00
  • 5b9de4d5a3 Minor changes haxala1r 2025-11-06 23:29:28 +03:00
  • 64e52cd0cf Added more math operations, generalized and simplified existing math operations, added some list operations for the lisp lists haxala1r 2025-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 haxala1r 2025-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. haxala1r 2025-11-03 23:00:46 +03:00
  • 93723be488 Update gitignore haxala1r 2025-11-03 22:34:00 +03:00
  • 52eee92b7b remove mistaken autosave file haxala1r 2025-11-03 22:33:15 +03:00
  • 892f47ba5f Reorganized environment-related functions. haxala1r 2025-11-03 22:32:43 +03:00
  • c7132325db Added some standard functions haxala1r 2025-10-30 23:42:10 +03:00
  • c80d5fd75f reorganized a bit, separated bind-symbol into two operators that have different uses, def and set haxala1r 2025-10-30 21:01:40 +03:00
  • 3e53f3720f Removed irrelevant comment Emin Arslan 2025-10-16 22:31:12 +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
  • 4535d57d21 Initial state - basic lexer + parser + interpreter Emin Arslan 2025-10-12 21:33:57 +03:00