Commit Graph

87 Commits

Author SHA1 Message Date
Benjamin Vedder e07148ffb0 Squashed 'lispBM/lispBM/' changes from cdfd116c..27abc6a9
27abc6a9 added backwards lookup function for assoc structures
e82dc20f update benchmarking

git-subtree-dir: lispBM/lispBM
git-subtree-split: 27abc6a960d2e8deb98b1c6ed5b383d587d5ca7b
2022-07-13 13:30:58 +02:00
Benjamin Vedder 85ee6ead03 Squashed 'lispBM/lispBM/' changes from 3836952f..cdfd116c
cdfd116c added some tests for partial applications
46d02e9c Added the possibilty to partially apply a closure
788dfa27 debug inspection of local environments in the REPL
b28ceec1 shutting down some warnings originating in repl.c
d35ef54d small tweak example code
5fa6f453 added some sanity checking of the type of the key used in let bindings
81314729 Updates chibios xmas-dac example so that it builds again
0d1f05ca updates chibios example repl so that it builds again
4ae17fc8 small tweak to texture loading demo.
a309e37a added silly texture image for the sdl_texture.lisp example
1dc0e4e6 added texture loading extension and a blit function for drawing sprites on the window
6c249a37 proper scaling on the sleep and timestamp callbacks
e65b0b83 ESP32c3 repl up and running
24f93026 work in progress esp32 repl
958a273d work in progress esp32 repl
d4fb301b work in progress repl example for ESP platforms (esp32c3 specifically)
7e924bf6 freertos includes correctly, compiles. stiill untested
29b9e3a4 added freeRTOS platform files. Untested currently
f3931c13 update README and small tweaks
357bb438 closing one warning
205ca17e small tweak to SDL tree-demo
27c1f601 added a way to explicitly run a custom type destructor and clean up its deference trampoline
d955f26e added missing files
a94dfb5c Update README.md
0e29e692 added SDL example that draws a tree
a5417886 Bugfix in lbm_sdl.c for destructors of window and renderer
b3a0e586 Getting started with interfacing LBM and SDL2
7aa2c1d0 started towards custom types with associated destructors for when they are freed by GC
a8b33a8d safer behaviour of car and cdr in relation to pointer-types that are not really cons-cells
9fbf02ce fixed some inconsistencies
3051e8e7 update change log
8d002536 handling one warning in 64 bit compile
7794a9b2 added array tests
a83f385c Merge branch 'master' of github.com:svenssonjoel/lispbm
21c79aaf fix problem with array parsing in the case of float arrays
dc926e59 added script to generate ctags
38046a49 updates to changelog with changes up and including may 22 2022
45b5d6c0 fix potential corner case issue with call-cc on 64 bit platforms
ebb100a5 some streamlining of the bind_to_key rest continuation in eval_cps.c
1c9a7df2 Added explicit stack version of defunctionalized evaluator example
2812b7b0 added some more testcases in evaluator.lisp and evaldefunc.lisp
0393bd21 New features in evaluator.lisp and evaldefunc.lisp
c6dd4e10 found an evalutor bug related to progn thanks to writing evaluator.lisp and evaldefunc.lisp
5d1bfc75 added continuation passing style evaluator of a mini-lisp as well as a defunctionalized CPS style evaluator for the same mini-lisp
a5a6c2a2 removed commented out old code
c135b4a3 fix problem related to assoc
8ddd44cc removed some code duplication in eval_cps
c625af8e lbmref update
a1a7a4b6 lbmref update
12d9f4e9 lbmref update

git-subtree-dir: lispBM/lispBM
git-subtree-split: cdfd116c655e20bac787a2080b8c601c6bc846ca
2022-07-06 10:18:45 +02:00
Benjamin Vedder 444c98ea52 Squashed 'lispBM/lispBM/' changes from 94df9e23..3836952f
3836952f tweak doc
37f8c948 clear extension and cleanup in doc
e7e1fd84 filled out the changelog
7d5cd0bc added two more tests of bufget
3d876227 change type return value for get_u8 and get_u16 in array_extensions

git-subtree-dir: lispBM/lispBM
git-subtree-split: 3836952f28d94c44affc6b45fadec8e3815be365
2022-05-12 16:06:35 +02:00
Benjamin Vedder 3dd1bd9c62 Squashed 'lispBM/lispBM/' changes from a136db86..94df9e23
94df9e23 a bit hacky but should be in the right direction
234f9782 unused arguments

git-subtree-dir: lispBM/lispBM
git-subtree-split: 94df9e23ceeeec9d6e28b0c84f4d96a7440244cf
2022-05-10 19:32:01 +02:00
Benjamin Vedder 92b2a8830b Squashed 'lispBM/lispBM/' changes from 748a3a97..a136db86
a136db86 Bug fix towards adding capability to dynamically load an extension

git-subtree-dir: lispBM/lispBM
git-subtree-split: a136db86d29f0808811af2d8b50ba36ca1d2a399
2022-05-10 19:05:51 +02:00
Benjamin Vedder cfb5e8b522 Squashed 'lispBM/lispBM/' changes from 4d6badc8..748a3a97
748a3a97 added a way to make up symbols on the fly in the extensions array. Symbol names starting with ext are allocated to the extensions table
5c934bd7 added a profiling script that uses callgrind
d5c14c2a cleaning out old unused code from heap.c

git-subtree-dir: lispBM/lispBM
git-subtree-split: 748a3a974f80c47c59a1252abc4db4cfb1fb875e
2022-05-10 16:19:07 +02:00
Benjamin Vedder 08da2db380 Squashed 'lispBM/lispBM/' changes from 5c7c28f5..4d6badc8
4d6badc8 Merge branch 'master' of github.com:svenssonjoel/lispbm
44b05640 adding an extension with the same name as an earlier added extension should now replace the previous extension with the new one
2e878154 added lbm_memory macros for 10, 12 and 14 K of lbm_memory
37c3bff6 store size of symbol table and provide function for getting table size and total size of strings stored in table
5658f36c fix comment

git-subtree-dir: lispBM/lispBM
git-subtree-split: 4d6badc89760869504d4dbf0e9e1c51934b10ce2
2022-05-09 16:24:00 +02:00
Benjamin Vedder 3991b47281 Squashed 'lispBM/lispBM/' changes from 26c1b54c..5c7c28f5
5c7c28f5 added explanatory reasons for read errors

git-subtree-dir: lispBM/lispBM
git-subtree-split: 5c7c28f55fdb2fbda9df90755f5be481b5d8d2a7
2022-05-05 19:51:17 +02:00
Benjamin Vedder 8470944cc5 Squashed 'lispBM/lispBM/' changes from be981ff1..26c1b54c
26c1b54c read errors now have line and column numbers associated with them.

git-subtree-dir: lispBM/lispBM
git-subtree-split: 26c1b54c6c4affd86dfc92cf8550c757ad42891b
2022-05-04 22:16:07 +02:00
Benjamin Vedder 4dbe8c6837 Squashed 'lispBM/lispBM/' changes from 90b18761..be981ff1
be981ff1 added setix to refman and a way to block a context from a c extension together with a way to later unblock such a blocked context from C
8d4ec0e3 small tweak to the main evaluation case (function application).
289c69a6 a small tweak for closure argument evaluation efficiency
664347f4 added the lbm_stack_reserve function for allocation of multiple words on the stack in one go

git-subtree-dir: lispBM/lispBM
git-subtree-split: be981ff1f8e40b40dfa1dcbc43075e9e8ec9fa9c
2022-05-03 22:58:33 +02:00
Benjamin Vedder 2f5f73f2af Squashed 'lispBM/lispBM/' changes from c155cb49..90b18761
90b18761 potential small improvement in argument evaluation performance
0b41ce56 added some tests of alists

git-subtree-dir: lispBM/lispBM
git-subtree-split: 90b187612f957b2bac8e8de3a3576835b20cee4b
2022-05-01 19:16:24 +02:00
Benjamin Vedder 64241f5b10 Squashed 'lispBM/lispBM/' changes from 729c0e51..c155cb49
c155cb49 remove printf
18fe416c fix assoc
74339abd added explicitly free for streams

git-subtree-dir: lispBM/lispBM
git-subtree-split: c155cb49b20e7a559031155f5a6b4e7b0707d790
2022-04-29 15:51:09 +02:00
Benjamin Vedder ca4bd9b87a Squashed 'lispBM/lispBM/' changes from 5e49fad5..8dbe7463
8dbe7463 adding some short descriptions of alists to the refman
8403421f Fix a bug related to heap-lbm_memory consistency and array syntax.
55fb723f added some type-of tests and small fix in tokpar

git-subtree-dir: lispBM/lispBM
git-subtree-split: 8dbe7463e3d3b27393286b921ae245f01407a81f
2022-04-27 20:21:49 +02:00
Benjamin Vedder 06d88e9175 Squashed 'lispBM/lispBM/' changes from 24b8df22..5e49fad5
5e49fad5 removed duplicated code for parsing float/double values in tokpar
c2ad1207 dropping lots of code duplication from tokpar
103d74c9 chapter 2 first draft
b7268076 fix order of arguments on acons
682aede3 update chapter 2
4d2f9546 added a bit of text to ch2

git-subtree-dir: lispBM/lispBM
git-subtree-split: 5e49fad5f379718dca03944f3dad5e8ca2776f66
2022-04-26 21:15:39 +02:00
Benjamin Vedder b28b9c8eae Squashed 'lispBM/lispBM/' changes from 1f19918d..24b8df22
24b8df22 adding text to manual ch2 and tweaking iota to enumarete up to (- n 1)
7558ee8d update manual ch2
ac09a621 work on chapter 2
a0ccae7f differentiating betwen applying to too many or too few arguments in a closure application
b002e1a6 update ch2 tiny
10efcb11 update ch2 to match current REPL formatting
f485a5f1 make REPL less verbose and update chapter 1
c7194629 work on ch2 and some additions to repl
6146a6c0 the reader will now signal via a callback when reading of source is completed

git-subtree-dir: lispBM/lispBM
git-subtree-split: 24b8df22427e05561c1dae8a60297b98a0027a74
2022-04-24 12:34:49 +02:00
Benjamin Vedder 8e71e55227 Squashed 'lispBM/lispBM/' changes from cf470a85..1f19918d
1f19918d update ch2
55e1f370 closed some warnings. Made changes to match algorithm to allow lookup of variables in patterns
fdd6226a tweak ch1
54ea2a5e spell-checking pass chapter2
c4015d81 first draft of some association-list built-ins

git-subtree-dir: lispBM/lispBM
git-subtree-split: 1f19918d06d1b80286ef0be24635dac2ed54cd92
2022-04-19 18:01:39 +02:00
Benjamin Vedder 5ea5b08e2c Squashed 'lispBM/lispBM/' changes from 4c19fddd..cf470a85
cf470a85 setix and rename of set! to setvar
12b2f2a3 update to chapter 2
a140ddd2 Fix potential null pointer dereference
2dc877c3 work in progress on chapter 2
415d46c7 fix environment handling bugs in pattern-matching
a6a1423b update ch2
f0a78631 update chapter 2
aca7cb5e small additions to chapter 2 in the manual
4fb9b26f starting to think about manual chapter 2
9a4c892e added rule to install the REPL as the executable file lbm into .local/bin in the home dir
3383919b update lbmref
c5ade0ab update lbm_version to better reflect reality
bde07853 reduced the set of expected failed tests
fed58b00 added some more array-syntax tests
965013e3 update refman

git-subtree-dir: lispBM/lispBM
git-subtree-split: cf470a85702aaab6e7cd73712516f22215b8bd61
2022-04-18 18:06:37 +02:00
Benjamin Vedder 829ebc6713 Squashed 'lispBM/lispBM/' changes from b548be4e..4c19fddd
4c19fddd fix bug in progn

git-subtree-dir: lispBM/lispBM
git-subtree-split: 4c19fdddff55996bad8291b6cf4e241169c27da4
2022-04-14 22:15:46 +02:00
Benjamin Vedder a22604a5f5 Squashed 'lispBM/lispBM/' changes from 077af235..b548be4e
b548be4e close 2 warnings about convertions
0335ae9b Merge branch 'master' of github.com:svenssonjoel/lispBM
c4d46dbb added type convertion functions and small tweak to refman

git-subtree-dir: lispBM/lispBM
git-subtree-split: b548be4e48f5aac4c91962d653b85ad99e4ea168
2022-04-14 19:37:23 +02:00
Benjamin Vedder 6c2d91819a Squashed 'lispBM/lispBM/' changes from 10340fbf..077af235
077af235 small tweak to array-shrinker

git-subtree-dir: lispBM/lispBM
git-subtree-split: 077af235651edbe6507897a8a22d645af6601249
2022-04-14 15:45:54 +02:00
Benjamin Vedder d1f8cb5c06 Squashed 'lispBM/lispBM/' changes from 0941f213..10340fbf
10340fbf small fix related to negative numbers when parsing array-literal-syntax

git-subtree-dir: lispBM/lispBM
git-subtree-split: 10340fbfccb97edc6479be173e288e52b4ababe8
2022-04-14 15:43:01 +02:00
Benjamin Vedder 4c859cc691 Squashed 'lispBM/lispBM/' changes from 5b9b298b..0941f213
0941f213 Hex notation in array-literal-syntax, first draft
da0b1f44 added array-size fundamental and one more test involving size and array-literal-syntax
0835c5a4 added a first test of the array-literal syntax and made source-code-compression compatible with array-literal-syntax

git-subtree-dir: lispBM/lispBM
git-subtree-split: 0941f2132d311505708b225b053dcaef477d53e1
2022-04-14 10:21:24 +02:00
Benjamin Vedder 5a6b045e2c Squashed 'lispBM/lispBM/' changes from fdbe8699..5b9b298b
5b9b298b typo

git-subtree-dir: lispBM/lispBM
git-subtree-split: 5b9b298be452f7b8901aa797b22bc1468b0fc3dc
2022-04-13 22:23:19 +02:00
Benjamin Vedder 3dd2f879e0 Squashed 'lispBM/lispBM/' changes from 3c02bc6f..fdbe8699
fdbe8699 One comment
53c4495e One instance of off-by-one found

git-subtree-dir: lispBM/lispBM
git-subtree-split: fdbe869982229d2516faaf9cbdf55dca3d11b838
2022-04-13 22:16:39 +02:00
Benjamin Vedder 9d539909ef Squashed 'lispBM/lispBM/' changes from 3c0b033d..3c02bc6f
3c02bc6f first draft of array literal syntax. It does not break any existing tests but a a lot more testing needed!
793d95b1 small tweak pop
2ef9f34e added tiny comment
837cd180 rewrite of cont_if to use indexing into stack rather than a pop3

git-subtree-dir: lispBM/lispBM
git-subtree-split: 3c02bc6f31ef042f2c53b5501cce1fd4d8f45ffa
2022-04-13 21:08:55 +02:00
Benjamin Vedder a78c13526b Squashed 'lispBM/lispBM/' changes from 0b7dba9e..980d17d9
980d17d9 work on manual and add byte literals

git-subtree-dir: lispBM/lispBM
git-subtree-split: 980d17d9a30c722e2eb25a2569b59d33b3c6b245
2022-04-12 16:01:44 +02:00
Benjamin Vedder 502a8f12a2 Squashed 'lispBM/lispBM/' changes from 054fb111..0b7dba9e
0b7dba9e update manual
b46650ab update manual
1bfff5b8 update manual
ff0b7c77 update manual
ad76cb89 fix incorrect rename

git-subtree-dir: lispBM/lispBM
git-subtree-split: 0b7dba9e412d9a83a13ec74f6f402f262ab47a21
2022-04-12 14:09:36 +02:00
Benjamin Vedder 59c1604e08 Squashed 'lispBM/lispBM/' changes from db80cb7d..054fb111
054fb111 renaming

git-subtree-dir: lispBM/lispBM
git-subtree-split: 054fb111d27a171dd82eb77489b63b63692af269
2022-04-12 11:23:57 +02:00
Benjamin Vedder b0e227d28f Squashed 'lispBM/lispBM/' changes from ccca9778..db80cb7d
db80cb7d updates to how symbols are evaluated, mostly for readability but also efficiency
bb573b53 slight optimizations to mark_phase and mark_freelist
58242f41 tweaking the manual
51666fb5 update manual fix prelude situation
2c6349da work on manual
39a15fd8 update
a5310055 added a bit more text about symbols in the manual
60d59eec added a bit more text about symbols in the manual
f685819e added a bit more text about symbols in the manual
31d56d35 added a bit more text about symbols in the manual
54796c35 added a bit more text about symbols in the manual
e333c00f Small readability and efficiency tweaks to eval_cps
0d234b5e lbm_cadr added and sligth modifications to eval_cps.c using lbm_cadr
85cd864a update changelog
6d2c8685 work on manual
5203a64f work on manual
63ebbae2 work on manual
4a146954 work on manual
19a0d06f work on manual
91c1d992 work on manual
ab393f46 work on manual
26309199 work on manual
c474931b work on manual
1a822e8d work on manual
648f6433 work on manual
6737828a work on manual
2d8e7084 work on manual
3a834fce work on manual
7ae1b342 work on manual
bc5b1fd0 work on manual
d3b6ec4d work on manual
654d70f8 writing on the manual
0d66dda6 tweak readme
d846ea3b update README
2c18d1a6 small tweak
bd9f80e5 allowing more characters in symbols
61827fc2 remove the prelude library in its current form. It is still available in the REPL
f1dcea8f small tweak benchmarking code
3a761cee update manual
e9898b19 make the prelude functions load dynamically when needed by the repl and test-system
714be360 update manual
e1804e3e update lbmref, renamings
508d167c Update README.md
6f3207fa Update ch1_introduction.md
6562daef Update ch1_introduction.md
76b48adf work in progress proramming doc
91c44751 fix repl-cps makefile to correctly build deps
54e66b25 remove lbmref.dox
f0c90ffd update reference manual
5b577572 fix potential bug in cont_application_start

git-subtree-dir: lispBM/lispBM
git-subtree-split: db80cb7dd05eef9e71980a55ff7987118c32c6e9
2022-04-12 10:44:49 +02:00
Benjamin Vedder de7b14ffe2 Squashed 'lispBM/lispBM/' changes from 6deae379..ccca9778
ccca9778 update lbmred.md
e182bffd changed doc i28 to i
3b277e28 error message printing verbosity level can be toggled between high and low
0f00e692 update one of the call-cc tests
6a377f74 added some tests of call-cc
4f3e8adc update application of a call-cc continuation. zero arguments is ok, will apply to nil. More than 1 argument is an error and terminates the context
50fdd498 small tweaks to repl-cps

git-subtree-dir: lispBM/lispBM
git-subtree-split: ccca9778ee0ddad6ea44bdc309ba128c92723309
2022-04-03 12:26:23 +02:00
Benjamin Vedder 219cd6a05f Squashed 'lispBM/lispBM/' changes from 3bb13f0f..6deae379
6deae379 Merge branch 'master' of github.com:svenssonjoel/lispBM
087437b4 update callcc to use lbm_memory for continuation creation rather than list

git-subtree-dir: lispBM/lispBM
git-subtree-split: 6deae3798fb770fdc971ce8d2f2cc32a3bc1b3dd
2022-04-01 15:10:24 +02:00
Benjamin Vedder 39e34bdd05 Squashed 'lispBM/lispBM/' changes from 95026da4..cf60058d
cf60058d added error reason when applying to too many arguments

git-subtree-dir: lispBM/lispBM
git-subtree-split: cf60058d7f3f7ca49db800452a8d9acc6b048ab2
2022-03-28 21:17:49 +02:00
Benjamin Vedder b63c02e4ba Squashed 'lispBM/lispBM/' changes from 5b3815ee..95026da4
95026da4 shut down some wsign-compare varnings in symrepr

git-subtree-dir: lispBM/lispBM
git-subtree-split: 95026da4422600fdb0626c79fd0c5506b4369dee
2022-03-28 16:57:43 +02:00
Benjamin Vedder ac78672955 Squashed 'lispBM/lispBM/' changes from 7341f811..5b3815ee
5b3815ee added aliases first, rest, fn and def for car, cdr, lambda and define
7d1bf1d5 added aliases first, rest, fn and def for car, cdr, lambda and define
3ac28d2f let the compiler keep track of the size of the special_symbols
51c84e90 update evaluator example program

git-subtree-dir: lispBM/lispBM
git-subtree-split: 5b3815eec0ae4b8b4fbbe96a77e71e151359ee13
2022-03-28 16:15:10 +02:00
Benjamin Vedder 7038b827b4 Squashed 'lispBM/lispBM/' changes from 9290347b..7341f811
7341f811 minitweak to doc ?i, ?u patterns
0c556bbb actual source code change that removes the environment copy

git-subtree-dir: lispBM/lispBM
git-subtree-split: 7341f811b285d9fd56aa5b95c552dc48d862fe3c
2022-03-27 22:38:18 +02:00
Benjamin Vedder 4d6d76269c Squashed 'lispBM/lispBM/' changes from 6bf6dd72..184f58ca
184f58ca added one more test involving strange lambdas
f17252a1 fixed bug related to closures applied to zero arguments. More tests needed

git-subtree-dir: lispBM/lispBM
git-subtree-split: 184f58cab68b5350852d2749ef97ee5b4eb245d8
2022-03-27 20:53:38 +02:00
Benjamin Vedder 3e26f17751 Squashed 'lispBM/lispBM/' changes from b6e3a0e5..6bf6dd72
6bf6dd72 Better attempt at fixing the forgotten temporary value in eval_let.

git-subtree-dir: lispBM/lispBM
git-subtree-split: 6bf6dd725abb236ac4a2a84d8965f2b3dc4fff8a
2022-03-27 15:24:03 +02:00
Benjamin Vedder bf8a70190b Squashed 'lispBM/lispBM/' changes from 95c77be2..b6e3a0e5
b6e3a0e5 fix mistake in eval_let where an intermediate value could be forgotten by the Mark phase and end up removed by GC
f327c61b renaming all pop_u32 and push_u32 functions to just push and pop

git-subtree-dir: lispBM/lispBM
git-subtree-split: b6e3a0e5286c6380e4a9170819404752afcdf5e1
2022-03-27 14:58:32 +02:00
Benjamin Vedder a1b652d388 Squashed 'lispBM/lispBM/' changes from bbfcd36d..95c77be2
95c77be2 removed a left over printf from debug session
6ac46afb found bug in pointer identification for GC and added a call to gc at the very start of cont_read

git-subtree-dir: lispBM/lispBM
git-subtree-split: 95c77be23c28d85a245c98990eb2f47cb72ad9d9
2022-03-26 21:13:23 +01:00
Benjamin Vedder 14ea874655 Squashed 'lispBM/lispBM/' changes from a8aac402..bbfcd36d
bbfcd36d Added a gc check in case SYM_READ and fixed the tokenizer when it comes to pattern matching pattern for ?i

git-subtree-dir: lispBM/lispBM
git-subtree-split: bbfcd36d448849287d2f0e2c66f3d12dc63adae8
2022-03-26 19:23:37 +01:00
Benjamin Vedder dfcc42f57e Squashed 'lispBM/lispBM/' changes from 689a2fa3..a8aac402
a8aac402 added one more gc check in dynamic load.

git-subtree-dir: lispBM/lispBM
git-subtree-split: a8aac402d93038a96cd5314f8ec09081ffa78955
2022-03-26 17:09:55 +01:00
Benjamin Vedder 881875dfe1 Squashed 'lispBM/lispBM/' changes from 33093e6e..689a2fa3
689a2fa3 attempt to resolve macro situation

git-subtree-dir: lispBM/lispBM
git-subtree-split: 689a2fa3d6f1824ed5f09a6ce876a2ad81a8763d
2022-03-26 16:43:20 +01:00
Benjamin Vedder 6ccae99cb5 Squashed 'lispBM/lispBM/' changes from f3605d21..33093e6e
33093e6e dynamic loading of symbol mappings now perform gc if lbm memory if close to full
b7b35f0c Some amount of cleaning

git-subtree-dir: lispBM/lispBM
git-subtree-split: 33093e6e3fe4d8c99eb773a04f111ebe92161b5f
2022-03-26 16:05:53 +01:00
Benjamin Vedder 9ce71962f7 Squashed 'lispBM/lispBM/' changes from 43ebce71..f3605d21
f3605d21 fix bug in if. If required 't instead of accepting anything other than 'nil as true. Added null check to cont_closure_application_args
cba089b3 giving closure applications their own code-path separate from built-in fundamentals and extensions.
3856726f extendd functionality of dec_as functions

git-subtree-dir: lispBM/lispBM
git-subtree-split: f3605d21badf939007237e547dba785e1be2283b
2022-03-26 11:13:06 +01:00
Benjamin Vedder 9a62433015 Squashed 'lispBM/lispBM/' changes from 6199703d..43ebce71
43ebce71 Fix formatting int print.c and constants that default to float/double
fa220f0b update gc statistics collection a small bit
25b20686 fix get_heap_state
783d774e Arrays of 64bit values passes the associated tests. More tests are needed though
ff40d02f working on 64bit arrays. more testing needed
204bea39 CMP as a macro instead of 8 different functions
44bb152d added a set of math extensions grabbed from  Benjamin's bldc repo
9c34b4cd added string extensions from benjamins bldc repo
b4370155 merge in changes on master into dev64bit
c129344b fixed masking bug in fundamentals
ed3ab5be closed down ome warnings when building 64bit
d46564c9 expanded functionality of type-of to cover 64bit types and preparations for arrays of 64bit values
f7cb5538 added more 64bit functionality to fundamentals and a tiny amount of tests
4dafbe6c added decoders for 64bit values
63026a8a added 64bit value literals
8c1f0f0f made GC aware of lbm_memory allocated values
17148ada 64 bit values allocated on lbm_memory on 32 bit version
4445e5a8 sketch of encoders for 64 bit values
f636e64d suffix for the lisp size of int and uint are now i and u instead of i28 and u28
840723ca preparations and planning for 64bit types in both 32 and 64 bit versions.
13675dda 64bit up and running. but there are many TODOs
033bfd9a small fixes following bug hunt
f5c984de fix bug in representation of important masks and constants
d40b2437 Merge branch 'master' into dev64bit
06f9603f Merge branch 'master' into dev64bit
69950ba1 32 bit tests are ok
46b6fa28 Merge branch 'master' into dev64bit
b9e2c993 work in progress
8dff9b4d work in progress
a241aded work in progress
4738e0da update year in lbm_types
ca469923 made it possible to run the same tests as on the 32 bit version on the 64 bit code
85acec30 small tweaks tp create_ctx, use correct type
bf0286a7 Merge branch 'master' into dev64bit
824e1634 Merge branch 'master' into dev64bit
04a97f17 lots of testing needed
ea862cce a bunch of changes in preparation for 64bit compatibility.

git-subtree-dir: lispBM/lispBM
git-subtree-split: 43ebce71a281f4a158b8d2dec3fc537c26766ec3
2022-03-25 15:47:05 +01:00
Benjamin Vedder 58daf1b609 Squashed 'lispBM/lispBM/' changes from 78047efe..6199703d
6199703d removed left over debug residue from destructive reverse
5f3257f4 added a destructive list reverse function
421d5a61 returning an error from an extension now terminates the context in which the error happened. There is still one retry in the case of merrot
c6d9a3cb update changelog
6332a158 added a way to register an error reason string from extensions. pretty untested at the moment
e9a7fa5d update README
f9a66bfc fix left over num-eq in doc
52c4e05f doc update
b54230f8 md doc test
80125f23 experiment
1278aa24 update
e576c4f2 md doc

git-subtree-dir: lispBM/lispBM
git-subtree-split: 6199703df06c4a5709c84cb17102a8e088caa847
2022-03-10 16:29:11 +01:00
Benjamin Vedder 1b64651a9a Squashed 'lispBM/lispBM/' changes from eead0b27..78047efe
78047efe update
615f0d3c = now behaves as num-eq did and num-eq has been removed. for structural equality use eq
25cd006a define will give evaluation error if given more than 2 arguments

git-subtree-dir: lispBM/lispBM
git-subtree-split: 78047efe2b9ce60c841f85179539a62e1b1c48e5
2022-03-08 17:48:01 +01:00
Benjamin Vedder 0f002ca397 Squashed 'lispBM/lispBM/' changes from e81f234f..eead0b27
eead0b27 removed a case of shadowing
4f744f8b Added more escape characters, not sure it is safe.. It does something though

git-subtree-dir: lispBM/lispBM
git-subtree-split: eead0b27dd8f8ee2d7f2029b9b9af03b18bcc502
2022-03-06 21:41:39 +01:00
Benjamin Vedder 9a20ef543b Squashed 'lispBM/lispBM/' changes from 9b375671..e81f234f
e81f234f create_ctx changes to when it invokes gc to free up enough space for a context
55d7617d a first go at some escape characters. newline and backslash so far

git-subtree-dir: lispBM/lispBM
git-subtree-split: e81f234fdcac5728ef04ae9144e3aa7ed55306fa
2022-03-06 20:14:10 +01:00
Benjamin Vedder 3d7749c5f2 Squashed 'lispBM/lispBM/' changes from 1420777c..9b375671
9b375671 create_ctx fix: could get stuck in an state where there is no memory for any more contexts. not even a context to start the GC from! create_ctx now checks if there is enough memory for a context or it will automatically run GC
ebab83eb added a gc and retry in setvar

git-subtree-dir: lispBM/lispBM
git-subtree-split: 9b37567197de0f38bda5a3391c9255e49e2102f3
2022-03-06 19:32:20 +01:00