Commit graph

  • cfca1c3f60 Merge branch 'ffi-foreign-types' into 'develop' Dmitry Solomennikov 2025-12-05 03:22:27 +00:00
  • 5694655fb4 Merge branch 'develop' into 'develop' Christos Kloukinas 2025-12-02 17:06:38 +00:00
  • 794dd8dc0f Adding back the clean dependency to distclean, since the build fails for some strange reason without it. c-kloukinas 2025-12-02 17:01:44 +00:00
  • 5f096a5a63 make distclean breaks after a clean - it shouldn't since the latter cleans inside build/ while the former deletes build/ and Makefile. c-kloukinas 2025-12-02 16:40:03 +00:00
  • 5766bb9fdd Merge branch 'develop' of gitlab.com:kloukin/ecl-chris into develop c-kloukinas 2025-12-02 16:22:28 +00:00
  • 8771084a8d Cleaned up Makefile, to avoid repetitions. c-kloukinas 2025-12-02 16:14:42 +00:00
  • 669fe45de8 Minor fixes to resolve some warnings when making the html version. c-kloukinas 2025-12-02 16:04:30 +00:00
  • 5e08ada791 Added braces around argument of @seealso. c-kloukinas 2025-12-02 15:39:16 +00:00
  • 4ead2c628d Deleted this file as it's no longer needed. c-kloukinas 2025-12-02 15:38:39 +00:00
  • e1ba86d8fb Merge branch 'i386' into 'develop' Kirill A. Korinsky 2025-12-01 06:10:42 +01:00
  • 4c7645f923 cmp: codegen: add an instruction declare-c-fun cmpwerk Daniel Kochmański 2023-12-04 20:20:07 +01:00
  • 6d28b5144e cmp: codegen: add a few preliminary instructions Daniel Kochmański 2023-11-28 15:27:17 +01:00
  • fdd7fa13a6 cmp: codegen: incorporate into the exit manager Daniel Kochmański 2023-12-05 09:12:35 +01:00
  • 586a891c54 cmp: introduce a separate codegen Daniel Kochmański 2023-11-28 14:38:46 +01:00
  • c05e8e067a [debug] record the last cfg Daniel Kochmański 2023-11-27 08:37:04 +01:00
  • e96cb0ca18 cmp: sneakily construct the cfg in the second pass Daniel Kochmański 2023-11-27 08:36:51 +01:00
  • 797816422a cmp: introduce the cfg graph tidbits: BIR, IBLOCK and INSTRUCTION Daniel Kochmański 2023-11-24 09:46:52 +01:00
  • b8ceb836a8 [wip] disable -tir -bir Daniel Kochmański 2023-11-23 11:41:43 +01:00
  • e8eec5e451 [wip] bir: add a custom pass to that generates cfg->cxx Daniel Kochmański 2023-10-31 12:03:07 +01:00
  • 42c674d539 [wip] cmpmain enable the custom pass Daniel Kochmański 2023-10-31 15:25:34 +01:00
  • 81d731b234 [remove] quiet compiler, remove pde from defun Daniel Kochmański 2023-05-24 17:53:56 +02:00
  • 671e578c7e [nucl] smaller stacks nucleus Daniel Kochmański 2025-06-06 12:56:39 +02:00
  • 3b25b8c8b4 [nucl] fix the compiled code size and cleanup the dictionary Daniel Kochmański 2025-06-04 10:03:03 +02:00
  • d7d446bfff [nucl] _nucl_word_dispatch use a stack-allocated frame Daniel Kochmański 2025-06-03 22:45:34 +02:00
  • 4880d93a6d [nucl] add all opcodes to the dictionary Daniel Kochmański 2025-06-03 22:39:44 +02:00
  • ae20397968 [nucl] words operate directly on the stack Daniel Kochmański 2025-06-03 21:35:47 +02:00
  • cd89c1f432 [nucl] write a forth compiler Daniel Kochmański 2025-06-03 18:53:37 +02:00
  • ebab441f31 [nucl] add a (mock for now) function nucl_compile_definition Daniel Kochmański 2025-05-30 15:14:14 +02:00
  • 0fcb28f3cb [nucl] don't modify VALUES vector and use dynamic STDIN/STDOUT vals Daniel Kochmański 2025-05-30 14:00:30 +02:00
  • fcd91a20c2 [nucl] liberate stack frames from stack allocation terror Daniel Kochmański 2025-05-30 12:59:55 +02:00
  • 8eb45e7041 [nucl] don't pop if the item was not added Daniel Kochmański 2025-05-30 12:34:27 +02:00
  • 113f22b6a8 [nucl] clean up the file (move things around) Daniel Kochmański 2025-05-30 11:57:46 +02:00
  • 01e6c4ef27 [nucl] implement word definition Daniel Kochmański 2025-05-30 11:24:06 +02:00
  • 9a57760a54 [nucl] add a compilation mode (doesn't actually compile yet) Daniel Kochmański 2025-05-30 10:47:19 +02:00
  • 5f61baef64 [nucl] resolve words only when called, otherwise return symbols Daniel Kochmański 2025-05-30 09:58:29 +02:00
  • f23b46bbbd [nucl] add to the dictionary word pop Daniel Kochmański 2025-05-29 21:12:59 +02:00
  • 013075a8d7 [nucl] reorganize file and add "print stack" word Daniel Kochmański 2025-05-29 21:07:16 +02:00
  • 7bf3a380f3 [nucl] allow calling into words and properly maintain the stack Daniel Kochmański 2025-05-29 16:10:36 +02:00
  • 903c4c44e8 [nucl] fix eof issues and add reading the line of objects Daniel Kochmański 2025-05-28 18:17:00 +02:00
  • 43e4187034 [nucl] allow extending the dictionary and make it a special variable Daniel Kochmański 2025-05-28 14:55:30 +02:00
  • 7ca2fc29ab [nucl] add a provisionary symbol dictionary Daniel Kochmański 2025-05-28 13:41:49 +02:00
  • fd2af0ad73 [nucl] add a proto-repl without eval step Daniel Kochmański 2025-05-28 13:01:17 +02:00
  • df436f5139 [nucl] use the data stack Daniel Kochmański 2025-05-28 11:08:51 +02:00
  • a44cb96fa5 [nucl] skip whitespace in the reader Daniel Kochmański 2025-05-27 15:03:28 +02:00
  • e47f37a104 [nucl] parse fixnums and hexnums Daniel Kochmański 2025-05-25 22:07:31 +02:00
  • 0bd275dd30 [nucl] implement basic reader and writer Daniel Kochmański 2025-05-25 13:38:47 +02:00
  • 82b0b415f6 [nucl] stacks: add a few unsafe operations Daniel Kochmański 2025-05-25 13:38:27 +02:00
  • 361a65e0b5 [nucl] add barebones reader Daniel Kochmański 2025-05-24 23:21:01 +02:00
  • da85aeb104 [nucl] strm_nucl implement unread char Daniel Kochmański 2025-05-24 23:20:41 +02:00
  • b07dc53b34 [nucl] add Lali-ho I/O Daniel Kochmański 2025-05-22 14:42:00 +02:00
  • bd65f0c4cc [nucl] implement a barebones stream Daniel Kochmański 2025-05-21 23:01:37 +02:00
  • da7ff0e8bf [nucl] add a mock stream Daniel Kochmański 2025-05-21 09:31:07 +02:00
  • 0058af914f [bytevm] [wip] new opcode CALLW, don't use lcl frame when no locals Daniel Kochmański 2025-06-03 09:59:54 +02:00
  • 69b8ef4842 stream: port stream.d so it can be used with early env Daniel Kochmański 2025-05-24 08:55:18 +02:00
  • 98b887a7ea [nucl] showcase calling into ecl_interpret Daniel Kochmański 2025-05-15 23:28:47 +02:00
  • d706faa600 nucleus: build nucleus directly from .c files (not .o) Daniel Kochmański 2025-05-16 13:51:34 +02:00
  • d1241fbe02 [bytevm][wip] bytevm: allocate stack manually Daniel Kochmański 2025-06-06 15:15:48 +02:00
  • 08f809d2f8 [wip] memory: ensure disabled interrupts in top-level operators Daniel Kochmański 2025-05-22 12:57:29 +02:00
  • 6232de673d type_info: reify the type_info database Daniel Kochmański 2025-05-20 14:53:07 +02:00
  • 71d8535442 nucleus: move ecl_cons to memory.d Daniel Kochmański 2025-05-20 11:49:29 +02:00
  • d58bab2a26 memory: make it possible to configure the allocator Daniel Kochmański 2024-12-09 12:10:54 +01:00
  • 24edc0a250 [wip] nucl: binary and preliminary notes Daniel Kochmański 2025-05-15 11:40:55 +02:00
  • 562df3f4b3 msvc: update the makefile and specify /std:c11 minimal standard Daniel Kochmański 2025-05-15 12:09:59 +02:00
  • c772ea3073 nucleus: move ecl_eql to a separate file Daniel Kochmański 2025-05-20 11:43:53 +02:00
  • f41fb2ae38 nucleus: introduce a table with early symbols ecl_symbols Daniel Kochmański 2024-12-10 13:24:21 +01:00
  • 0fa2095bd8 nucleus: move early stacks to a separate file Daniel Kochmański 2025-05-15 11:39:37 +02:00
  • 9c6f31f408 nucleus: move aux throw/go/tagbody implementations to jump.d Daniel Kochmański 2024-12-11 23:15:31 +01:00
  • e10bb675b0 modules: uninstall signal handlers when unixint is destroyed Daniel Kochmański 2025-06-06 14:22:58 +02:00
  • 0ce6adb1c2 modules: deallocate stacks when modules are destroyed Daniel Kochmański 2025-06-06 14:08:40 +02:00
  • 156704b5dd modules: release all resources on ecl_halt Daniel Kochmański 2025-06-06 13:47:07 +02:00
  • 8432685284 process: move process initialization to the process module hooks Daniel Kochmański 2024-12-09 11:48:39 +01:00
  • 8573c58768 garbage: register and unregister GC threads manually from a module Daniel Kochmański 2024-12-09 11:26:07 +01:00
  • 511389c126 process: abstract away create thread, exit thread and sigmask Daniel Kochmański 2024-12-06 18:13:38 +01:00
  • f567c1829e modules: [A/n] move the environment allocators to nucleus Daniel Kochmański 2025-05-15 11:08:05 +02:00
  • 5e20d8bd9a modules: [9/n] introduce ecl_module_thread Daniel Kochmański 2024-12-03 11:20:19 +01:00
  • c488a5ffd3 modules: [7/n] introduce ecl_module_stacks Daniel Kochmański 2025-05-15 11:06:58 +02:00
  • e550aad6ef modules: [6/n] introduce ecl_module_aux Daniel Kochmański 2024-12-03 10:00:55 +01:00
  • 13e14742a6 modules: [5/n] introduce ecl_module_ffi Daniel Kochmański 2024-12-03 09:53:28 +01:00
  • 9c1ae979f4 modules: [4/n] introduce ecl_module_bignum Daniel Kochmański 2024-12-04 22:49:57 +01:00
  • 46b0aa512d modules: [3/n] introduce ecl_module_process Daniel Kochmański 2025-06-06 12:47:11 +02:00
  • 10c03bedfc modules: [2/n] introduce ecl_module_unixint Daniel Kochmański 2024-12-03 14:12:58 +01:00
  • 05255a56e9 modules: [1/n] introduce ecl_module_gc Daniel Kochmański 2024-11-29 21:49:47 +01:00
  • dabaf19c2d modules: [0/n] introduce a new structure ecl_module in the system Daniel Kochmański 2025-06-06 12:49:54 +02:00
  • 9cf792a9ee process: move ecl_clear_bignum_registers to _dealloc_env Daniel Kochmański 2024-11-29 23:38:56 +01:00
  • 9ff07f7667 process: use GC_thread_is_registered() instead of the_env->cleanup Daniel Kochmański 2024-05-03 08:40:50 +02:00
  • d990d2afd5 nucleus: [2/n] move processing unit managament to nucleus Daniel Kochmański 2024-05-02 15:25:26 +02:00
  • 71d5f8dd78 nucleus: [1/n] move processing unit managament to nucleus Daniel Kochmański 2025-05-14 20:53:56 +02:00
  • 6fb1b5e9e1 exceptions: define *SIGNAL-HANDLERS* in cold_boot Daniel Kochmański 2024-04-23 08:04:21 +02:00
  • 5ce3a2be4d exceptions: dispatch signals exceptions (not conditions) Daniel Kochmański 2025-05-14 12:45:42 +02:00
  • 15013d2352 exceptions: runtime stack error signals exceptions (not conditions) Daniel Kochmański 2024-04-16 14:23:37 +02:00
  • 4320237c6a exceptions: interpreter signals exceptions (not conditions) Daniel Kochmański 2025-05-14 15:02:28 +02:00
  • 7bc1bade1b exceptions: introduce the concept of an exception Daniel Kochmański 2025-05-14 15:05:35 +02:00
  • a64870cb72 exceptions: introduce signals to the early environment Daniel Kochmański 2024-04-15 08:37:20 +02:00
  • 90d6e21697 exceptions: rewrite signal handling to use functions and not lists Daniel Kochmański 2024-04-11 12:20:41 +02:00
  • a2021f1afd nucleus: move ecl_core_struct to nucleus Daniel Kochmański 2025-05-14 11:05:02 +02:00
  • 6f07bed6c7 nucleus: move protect and dummy tags to boot.d Daniel Kochmański 2025-05-14 10:19:59 +02:00
  • 0d986c58d6 nucleus: move early constants from main.d to boot.d Daniel Kochmański 2025-05-14 10:11:00 +02:00
  • 617680e4d5 nucleus: add a module boot for booting the core Daniel Kochmański 2022-11-24 22:50:31 +01:00
  • fc68057fc0 core: add a module for program control transfer Daniel Kochmański 2025-05-14 10:01:30 +02:00
  • be5aa38bd1 apply: move funcall and apply-from-stack eval.d -> apply.d Daniel Kochmański 2025-05-19 09:53:45 +02:00