Commit graph

42 commits

Author SHA1 Message Date
15fe5242f6 forge: const basically working; provide with-trace macro 2024-05-29 09:38:14 +02:00
52f9f7e3ed work in progress: const as forge-word defined with reg and regc 2024-05-28 16:10:07 +02:00
18203bd833 forge: clean-up, start next steps 2024-05-28 10:34:44 +02:00
192c6c0fb9 forge: reg basically working 2024-05-28 09:39:29 +02:00
3a764bc9f8 forge: minor refactoring - use + and * for add and mul, ... 2024-05-26 13:56:40 +02:00
98e9e59017 forge: setup, register: more improvements, refactoring, simplification 2024-05-25 08:49:13 +02:00
43a0b0f9d8 forge improvements: use macro for registration, initialize builtins via explicit init-forge-env 2024-05-24 19:52:58 +02:00
7c9434960e forge, new implementation: basically working 2024-05-24 17:34:17 +02:00
944b3402e5 work in progress: organizing words in hash-tables; simple exec working again 2024-05-24 15:39:30 +02:00
272430f36c work in progress: define 'def' 2024-05-24 11:32:41 +02:00
4d2f6655ef forge rewrite: improvements: get-symbol, access to cp, ip 2024-05-23 14:50:32 +02:00
abd8e6e2e0 forge rewrite: basic interpreter / compiler working 2024-05-23 11:54:59 +02:00
b6e1e3ccd4 work in progress: rewrite of forge implementation; keep old versions in ...-legacy files 2024-05-23 10:33:16 +02:00
547e02b85f forge: use deftest; implement seq as class 2024-05-21 11:39:34 +02:00
778409a842 work in progress: testing improvements 2024-05-20 12:22:29 +02:00
f3c44f7baf keep functional seq (pointer) definition in separate file for reference 2024-05-20 12:22:05 +02:00
8e5317810b forge sequence: functional version 2024-05-19 11:05:52 +02:00
3eca0d0c19 forge sequence: improvements 2024-05-19 10:30:45 +02:00
7dd30882e0 work in progress: forge sequence (pseudo-pointer) 2024-05-19 10:03:39 +02:00
db405da6d9 simplify forge code: use special variable *forge-env* 2024-05-07 14:06:28 +02:00
5d7a4c0b82 replace tabs with spaces 2024-05-06 12:15:33 +02:00
53a999bb38 compile recursively 2024-04-29 15:28:16 +02:00
27fb32feb2 compile code in def 2024-04-29 14:48:05 +02:00
df88bec20a provide var definition with get and put operations 2024-04-28 14:56:46 +02:00
c2b48289ab add const definition 2024-04-27 08:25:53 +02:00
848160c2de forge: provide a simple REPL 2024-04-26 13:11:21 +02:00
a16f4c2417 add 'scratch' for interactive tests; strings as words, new vocabulary for user-defined words 2024-04-26 09:31:21 +02:00
d3057ff9d7 forge: add exec-str function 2024-04-24 14:36:09 +02:00
dff1de06a8 define words with 'def' working 2024-04-22 15:02:36 +02:00
3cfb89d9fd add vocabulary to forge-env, with searching in chained vocabulary entries 2024-04-22 12:23:34 +02:00
dcb5208a25 use hash table for registering words, with *builtins* default registry 2024-04-22 10:24:17 +02:00
9c56ae475b same name for class and constructor 2024-04-21 19:30:10 +02:00
0ba0ef1162 make test-suite a class; and don't use methods at the moment 2024-04-21 15:31:37 +02:00
5f491aa901 forge-env: define as class with reader and accessor; testing: put macro definition before first use 2024-04-21 14:41:16 +02:00
9bed7704b6 use separate reader and writer functions / methods for data stack and test result 2024-04-21 14:17:11 +02:00
6f93968e4b split up test.run function: allow for multiple test functions 2024-04-21 09:13:59 +02:00
310837ab58 forge.exec: fix action selection using symbolp, lookup in scopes/forge package 2024-04-20 15:36:56 +02:00
aa065dd283 use macros for accessing test suite and forge env objects 2024-04-20 11:55:16 +02:00
b573e49d2c first minimally working version of forge interpreter 2024-04-20 11:36:04 +02:00
21843546fa work in progress: forge basics, testing 2024-04-20 10:45:01 +02:00
d2f708999f trying to start with simple things: forge interpreter and testing facility 2024-04-19 16:17:52 +02:00
7c321b76aa initial import 2024-04-18 19:46:47 +02:00