Commit Graph

92 Commits

Author SHA1 Message Date
Benjamin Vedder d664184ef8 Squashed 'lispBM/lispBM/' changes from 6a448aa3..c097f5c6
c097f5c6 cleaning pass and refactoring
5384d522 refactoring application experiment
087ede4e refactor: readability, clearity and in some places - to a small degree - correctness
89575d8b small change to one event test
ba6e7fa7 logged change
16ac6bd1 logged change
089468b3 removing make-env. in-env in the interest of keeping core language small
f18015f7 Merge branch 'master' of github.com:svenssonjoel/lispbm
5b19dfda simplification and readability refactoring.
8c492889 Update gotchas.md
754221b9 Update gotchas.md
a0931bac bump version
e49071dc Changed behavior closure application to zero args. Application of a continuation (call-cc) with 0 args still uses the old approach where 0 args is equivalent to application to nil
35f495f3 mini tweak readme
fdd01ff1 update README
b21a3fa7 Update gotchas.md
92d9f561 update gotchas
0d708de7 bugfix in incremental reader and addition of a gotchas.md file for edge-case behaviors
d9a38456 updated lbmref with take and drop
86b1cc1b take, drop, change to make-env returned result
ea29f5ec added take and drop as built-in primitives and change to result env for make-env
55a5b1f5 added some tests and  a small amount of doc
e2d2f745 tweaks
bccdee1f make-env and in-env
3a03232a added make-env and in-env for library-encapsulation
e5b5ba66 mini tweak
dce87812 removed extra ;
190b4d9e mini tweak
6864fa32 fix repl after removal of reading_done callback
ea3aba39 removed reading_done_callback and made the nonsense default variants for all remaining callback
427cb37c bugfix read-program, tightening up,  cleaning
119d9fd3 refactoring and tightening up
10573404 cleaning and readability
63b750b5 small tweaks
d44c8bdc bug fix related to row numbers in error messages while doing incremental read. Now more precise.
d0125bd1 refactoring for readability. setjmp/longjmp for escape from deeply nested errors.

git-subtree-dir: lispBM/lispBM
git-subtree-split: c097f5c66bd539442a48d41a66da1c657af502a1
2023-05-22 08:17:23 +02:00
Benjamin Vedder 8897516ade Squashed 'lispBM/lispBM/' changes from 95368f36..c9034e4a
c9034e4a fix bug related to incremental read-eval-program
018cc540 added one more const_array sharing test

git-subtree-dir: lispBM/lispBM
git-subtree-split: c9034e4aed0bb437c90c8e8d5dab14e7d6c14ab3
2023-04-14 12:39:14 +02:00
Benjamin Vedder eb0114b4dc Squashed 'lispBM/lispBM/' changes from aa1d5026..95368f36
95368f36 fix bugs in read program

git-subtree-dir: lispBM/lispBM
git-subtree-split: 95368f36e96d4a370ba6b00a01e2924187490823
2023-04-13 20:34:47 +02:00
Benjamin Vedder 54d22a9e44 Squashed 'lispBM/lispBM/' changes from 99c9dbf5..aa1d5026
aa1d5026 bug fix related to row numbering when doing incremental read
08138fd6 refactoring for readability and to a small degree code size-perhaps
b4a5306c adding another flash test2
ee03dc5e rough estimation of row-of-error if using the incremental reader
493c7a45 added a way to share a constant array from C to lbm in a way that lbm understands that it is constant
f973fb34 small tweak to evaluation_step
b2c136b4 removing a unused field from lbm_context_t
403a74b9 small tweaks to eval_cps
423aa39c small tweak lbmref
5a47f414 small tweak readme and small tweak lbmref
28bfb297 small tweak lbmref

git-subtree-dir: lispBM/lispBM
git-subtree-split: aa1d5026fbd01525c9511e6284447b60806d9a33
2023-04-13 17:01:12 +02:00
Benjamin Vedder 319bae781a Squashed 'lispBM/lispBM/' changes from 3fc70a5c..99c9dbf5
99c9dbf5 assoc/cossa fix and refactoring/renaming of  internal funktions

git-subtree-dir: lispBM/lispBM
git-subtree-split: 99c9dbf5c450eea8eeb6325bbdbfdf56929abc5e
2023-04-06 20:33:01 +02:00
Benjamin Vedder 9ef3986a97 Squashed 'lispBM/lispBM/' changes from d643c620..32ad511c
32ad511c fix bug in reverse that is triggered by reversing a constant list
4864ee9e fix bug showing up evaluating a cond from flash
2c228d19 bug fix related to arithmetic involving constant values
54ac82ce fix bug that shows up at the end of a parse stream when reading incrementally
35df6a53 tests of read-eval-program
fffdb7cb readability and perhaps to a small degree code size
17bde5c3 Check that in flash 0xFFFFFFFF is only over written with something other than that once in the tests

git-subtree-dir: lispBM/lispBM
git-subtree-split: 32ad511c3f7bddd25350557be2e4d081d61caece
2023-04-06 13:58:44 +02:00
Benjamin Vedder acbd360c00 Squashed 'lispBM/lispBM/' changes from 6ec57e70..463551a4
463551a4 added @const-start @const-end syntax to automatically apply move-to-flash to variables defined in such blocks
ebe7b66d slight refactoring of move-to-flash continuations
6a2a8c2d bugfix string-extensions and some cleaning
351bdea0 added read-eval-program for incremental read, keeping old meaning of read-program. Some cleaning and refactoring

git-subtree-dir: lispBM/lispBM
git-subtree-split: 463551a4d5cd42e7d19f5156913a020726a05088
2023-04-05 14:35:12 +02:00
Benjamin Vedder a2113852e9 Squashed 'lispBM/lispBM/' changes from 5659e40a..cb75bd53
cb75bd53 closing warnings
aac53389 repl modification and warning closing
0d7a3006 added array-create alias for bufcreate
5e2e1552 lbm_dec_str decodes both const and non-const arrays

git-subtree-dir: lispBM/lispBM
git-subtree-split: cb75bd53098fd61c453004681d36a1f00534f128
2023-04-04 16:53:18 +02:00
Benjamin Vedder a4cbec1843 Squashed 'lispBM/lispBM/' changes from f7c74492..5659e40a
5659e40a low-level flash errors propagate into the evaluator
cd881c01 tweak lbmref
db42aac7 tweak lbmref
d1033e98 tweak lbmref
77783470 tweak refman bufcreate
d9575830 incremental read-evaluate. Removed all types of arrays except for byte-arrays
d5d5fdf1 type checking in array-extensions
ca072954 buflen is ok on constant arrays
90614b33 bugfix in lbm_channel string_write
de62dbd7 only one is_closure func

git-subtree-dir: lispBM/lispBM
git-subtree-split: 5659e40aac7a1e43b158a978e4e633ef118afeeb
2023-04-04 12:36:41 +02:00
Benjamin Vedder 5a9ec0efd6 Squashed 'lispBM/lispBM/' changes from 4c2ea9e9..ac1d06ab
ac1d06ab removed unused flash writing function pointer
bb241166 merging in move-to-flash functionality into main. Expect there to be some issues
d136d3f8 added an initial attempt at move-to-flash functionality
a3ebb098 more const tests and tweaks. Quasiquotation is NOT expanded to flash at the moment
9a6ff0ec initial flash experimentation
1ec412b4 Append works for 0 and 1 arguments
9d2d79b7 refaktoring of lbm_print_value
eae002ef changed printing of char/byte and arrayes thereof
139eb03b refactoring
9b437892 code readability refactoring
c9701a87 Refactoring for readability and perhaps to a small degree code-size. All tests pass
d56014a3 test for usage of var within atomic block

git-subtree-dir: lispBM/lispBM
git-subtree-split: ac1d06ab20170e38edcd4b204c295240b9b9a739
2023-04-02 16:35:42 +02:00
Benjamin Vedder 49ac9afeef Squashed 'lispBM/lispBM/' changes from b7956e63..1250355d
1250355d added additional deconstruct_let test2
0fbcf207 added curly syntax
dd3af6dd added a curlybrackets syntax as sugar over progn
8f6df139 added setq
edb83b85 Improved rigour in continuation recognition

git-subtree-dir: lispBM/lispBM
git-subtree-split: 1250355dd61e87d56fb0978132b857d470e945e9
2023-03-21 16:25:25 +01:00
Benjamin Vedder 7e27031bb6 Squashed 'lispBM/lispBM/' changes from 07baa883..b7956e63
b7956e63 added deconstructive let bindings and local bindings within progn scope via var
7885f957 removed old extension no-longer needed from repl
c169cb8e output version number in lbm-repl
82baec1c Merge branch 'master' of github.com:svenssonjoel/lispbm
88787164 update chibios based benchmarking code
9d48ee29 Bugfix where lbm_memory_free is run twice in a row on custom-type upon gc
8bf35b4a tiny tweak readme
39c72751 update README
3b7bff88 mutex initialized check for buffered char channel
a2b1196c fix leaking mutex on tips from Benjamin
8cfa50dc Threads that are unblocked from C with an error status are terminated

git-subtree-dir: lispBM/lispBM
git-subtree-split: b7956e631b74587d5b4dd61e8b0fb51d53a149be
2023-03-20 19:49:33 +01:00
Benjamin Vedder 61f48a8fc6 Squashed 'lispBM/lispBM/' changes from 20e97c4b..07baa883
07baa883 small tweak to flatten/unflatten
3baa1619 flat values now contain a copy of arrays rather than a pointer to an array
c582416d improvement in lbm_lift_array
f4229a43 changes to find_receiver_and_send
d04a77dd switched to lbm_malloc in lbm_create_ctx
4e2e8ad4 fix buf in lbm_create_ctx thatcould potentially have allocated too little memory for a context
01f3c746 bux fix get_event_value, freed already freed lbm_memory array
2ed2560a bug in unflatten_value
7971a6eb change granularity of locks
51058b80 added an undo_block_ctx_from_extension function and resolved an issue with test_memory_3 on 64 bit platforms

git-subtree-dir: lispBM/lispBM
git-subtree-split: 07baa883ab18d2f12d69f36cf22aaf9f86954624
2023-02-18 10:54:32 +01:00
Benjamin Vedder 315770dc0a Squashed 'lispBM/lispBM/' changes from d8f12fb9..751af620
751af620 revamping of variout fundamental operations.

git-subtree-dir: lispBM/lispBM
git-subtree-split: 751af620c9ecf2c5a20f34e6ad60ea054596d63e
2023-02-15 23:26:27 +01:00
Benjamin Vedder 5eb89cfa25 Squashed 'lispBM/lispBM/' changes from 0b42837e..d8f12fb9
d8f12fb9 potentially some slight space improvements in regards to fundamentals

git-subtree-dir: lispBM/lispBM
git-subtree-split: d8f12fb93b4a8b00ef5edd37fdc884efe9550f61
2023-02-15 23:19:26 +01:00
Benjamin Vedder 5e7e4ff714 Squashed 'lispBM/lispBM/' changes from 0c731969..0b42837e
0b42837e Revamping of some of the fundamental operations

git-subtree-dir: lispBM/lispBM
git-subtree-split: 0b42837ee95f6ad230a33863940aa3956bdcbe49
2023-02-15 19:29:45 +01:00
Benjamin Vedder 267eb0a204 Squashed 'lispBM/lispBM/' changes from db4994ce..0c731969
0c731969 applied small fix to malloc_reserve
50e22063 bug fixes in malloc and malloc_reserve, rearragements in event processing
3ab6cba9 There is now an artificial memory use limit that prohibits lbm_malloc from allocating all lbm_memory. To allocate without regards for the artificial limit use lbm_malloc_reserve
19745d9e flat_values are freed if event delivery not possible (no event handler). Unblock event will unblock blocked process even if there is no memory to unpack the flat_value into.

git-subtree-dir: lispBM/lispBM
git-subtree-split: 0c7319699d1150c366c1322f3ff986f45b2e4c0d
2023-02-15 15:58:44 +01:00
Benjamin Vedder bf1387e648 Squashed 'lispBM/lispBM/' changes from 1267d006..8dc4c6d9
8dc4c6d9 added updated version of test_lisp_code.c that can produce events with lists of float
49dd1d31 added event tests to punish flat_values a bit.
9a2e004a fix flat_value bug, removed dead code and correctly labeled write_word static
c9ee2c2d actually adding the flat_value files
215f3ba1 flat value implementation. A lot of testing needed
24d5184e experimental alternative way to transport values from C to LBM safely and with no need to pause. Work in progress
6d98ff61 restructuring for readability of GC and added queue locks. blocked context unblocking is done by the evaluator in a safe state. Safe state unblocking makes a bit harder to relay information about wether or not it was successful back to the thread issuing the unblock. So it may be a bad idea. It also makes the event queue obligatory
55ca904d added another arith stress test
87d21426 added another arith stress test
f64d4c04 small tweaks to the runtime-extensions
ab055958 added an arithmetic stresstest2
a802ed13 fundamentals have been unified with apply_funs. All tests pass but probably a period of bugginess ahead
f00d6b46 added lbm-version extension to runtime extensions and changed return value on allocate_list_init in case there is not enough memory
2445974a preparations for unification of apply_fun and fundamentals
114b9a60 removed rot-vector function from Math extensions and added exp
6e1e7ee0 changed return value of define and added loop extensions from Benjamin BLDC
79622417 added loop extensions. todo: add tests

git-subtree-dir: lispBM/lispBM
git-subtree-split: 8dc4c6d9c16f7fce9753737423b8700f477f75f0
2023-02-11 10:20:37 +01:00
Benjamin Vedder 65a3ed7ca4 Squashed 'lispBM/lispBM/' changes from 1eceb43f..1267d006
1267d006 added one more memory test
a9782eda added two tests that try to be quite hard on the lbm_memory.
5c0841f8 small additions to matvec
bcb1ad7f added vector multiplication by scalar
ce5025cc small additions to matvec.
1758b335 renamed blas_extensions to matvec extensions as they wont provide the same set of operations as a blas library usually does
2e48e6b4 fix silly typo in lbm_memory.c
62154010 only initialized mutices 1 time
d1dbfd7c added a test of events
cb97d623 only add events to the event queue if there is an event handler
7a642222 removed usage of send_message in process_events
e3a68115 events are moving into the evaluator
64239a9b tweaks to random extensions
d61950d9 removed a print from sierpinski
f8a1d586 added sierpinski and flake examples to sdlrepl
72d8e4f4 added random number extensions to sdlrepl
ba9c449a changed constants involved in the pseudorandom generator.
8806e369 remove left over debug printing
10cc7fab added random number generator extensions
184c756b added memory leakage tests for string extensions
4373713d work in progress linear_algebra extensions
135591bd added str-merge test
7bff0e97 added a test. more to follow
e1aad339 added a small set of runtime system related extensions
5495b5da updates to custom type interface.
4e3b408a rename strnlen to strlen_max
03644f64 pulling in string extensions from vedderb\bldc into string_extensions.c
294f013b grabbed a few extra array-extensions into array_extensions.c from Vedderb/BLDC
87f95e67 adding all the Math extensions from Vedder/BLDC to math_extensions.c

git-subtree-dir: lispBM/lispBM
git-subtree-split: 1267d006e90085920a3de720480dc2d19d71c8ff
2023-01-24 09:19:05 +01:00
Benjamin Vedder 8b336eecd8 Squashed 'lispBM/lispBM/' changes from c94f3404..d77214e9
d77214e9 a cleaning pass that removes some now dead code and fixes some comments. Also removed a pointless clearing of gc mark bit in allocate_cell and allocate_list
115b38f5 adding closing of read channel in case of errors while reading
9a0fb3ca added some gc tormenting tests that also uses the new list allocator
a75c10a7 fix bug in heap_allocate_list and fix bug in reader (read channel not closed if reading fails)
ad8243d2 rewrote fundamental_range using heap_allocate_list.
b7320588 added lbm_heap_allocate_list and adapted fundamental_list to use it.
20906de7 Rearrangement of heap_allocate_cell. May make cons slightly more efficient

git-subtree-dir: lispBM/lispBM
git-subtree-split: d77214e93497506118add4ff6b3f63520239a445
2022-12-16 15:38:41 +01:00
Benjamin Vedder ad5f08e2f4 Squashed 'lispBM/lispBM/' changes from 2deb1f0c..328c7f59
328c7f59 removed dev-plans
71d7ad62 qq expansion now calls GC when needed
05364c36 added qq and multiarg append tests
8c1abdf6 Quasiquotation minimization experimentation
035d3734 typo
726b9260 added a dev-plans
cc47bb3a Merge branch 'master' into dev
84911dae fix bug where quasiquotation returns an error as if it was a value instead of terminating the process
54e937f9 added dev-plans

git-subtree-dir: lispBM/lispBM
git-subtree-split: 328c7f59d335d5b4b1a73981fd86883c77954746
2022-11-30 17:04:31 +01:00
Benjamin Vedder b0ee928437 Squashed 'lispBM/lispBM/' changes from 98858aab..2deb1f0c
2deb1f0c removed an unnecessary conditional from eval_symbol
f2ecf875 fix typo in lbmref
e20c9180 tweak typo in comment and add comment

git-subtree-dir: lispBM/lispBM
git-subtree-split: 2deb1f0c1205eaa4644262bca4389909047e419e
2022-11-23 18:29:01 +01:00
Benjamin Vedder 6315a66e83 Squashed 'lispBM/lispBM/' changes from 075fd296..639eb007
639eb007 typo
b73a54df fix problem in map
9cdd9f88 fix bug in map when applied to the empty list
594e2290 tweak some error reasons and error conditions
875c4b5c Updated behaviours of eval, eval-program and read-program at zero arguments, eval-error with reason
3a7b54fb fix bug: strange behaviour of eval-program when given NO arguments
341bcb28 eval-program can now be applied to an empty list of programs
5ed43637 tweak to testing framework and addition of a test
cfff78b7 added some spawn-trap tests and slight tweaks to testing framework to accomodate concurrent LBM programs a tiny bit better
c49e6295 added two more tests of match with guards

git-subtree-dir: lispBM/lispBM
git-subtree-split: 639eb007af3c8692abc5df97e5b449b080219858
2022-11-14 14:45:27 +01:00
Benjamin Vedder 807ff48e8d Squashed 'lispBM/lispBM/' changes from a5683c69..075fd296
075fd296 fix bug related to pattern matching guards
02b38d42 update lbmref
fb312618 update lbmref
884a0973 update lbmref
32af7455 update lbmref

git-subtree-dir: lispBM/lispBM
git-subtree-split: 075fd296a8c6061ae8c5a45b017392700675b1d8
2022-11-10 12:08:00 +01:00
Benjamin Vedder 54b662c15b Squashed 'lispBM/lispBM/' changes from 31d4edfd..a5683c69
a5683c69 bug fix related to string literal lengths
53aeb0bf tweak changelog
6a8ef376 added tests
7bbd22e7 updated lbmref and changelog

git-subtree-dir: lispBM/lispBM
git-subtree-split: a5683c692e2f005495db2baee9a90d86798151e9
2022-11-09 15:48:58 +01:00
Benjamin Vedder cbd07fd0ae Squashed 'lispBM/lispBM/' changes from 3a8a7237..d59e9d5d
d59e9d5d  reusing code of eq and = in not-eq and !=
d30f44d3 added != and not-eq
a576cf2f removed unused initialization

git-subtree-dir: lispBM/lispBM
git-subtree-split: d59e9d5de9a503fd398e68ec6c7a04a505be0daa
2022-11-07 21:06:49 +01:00
Benjamin Vedder 7d5f408054 Squashed 'lispBM/lispBM/' changes from 0242183a..4199111d
4199111d protecting all lbm_memory interfacing functions with mutex
576e99f0 lbm_memory allocate and free are now protected by mutex
7a5cdebc Merge branch 'master' of github.com:svenssonjoel/lispbm
88bc0f17 added some send recv tests
2bb4d318 Merge pull request #4 from svenssonjoel/add-code-of-conduct-1
6a8e1948 Create CODE_OF_CONDUCT.md

git-subtree-dir: lispBM/lispBM
git-subtree-split: 4199111d8de551ade495794a88b976d13f26064c
2022-11-04 18:08:08 +01:00
Benjamin Vedder ba71a9d059 Squashed 'lispBM/lispBM/' changes from 7392b499..0242183a
0242183a Eval-program destructively updated the program to evaluate. This is OK only if there are no other references to this program.
712714d3 fix typo lbmref
e3c7b29a update lbmref entry on eval-program

git-subtree-dir: lispBM/lispBM
git-subtree-split: 0242183af30661ba58d9616a35419403b14b4560
2022-11-03 15:44:43 +01:00
Benjamin Vedder 0e62aa9501 Squashed 'lispBM/lispBM/' changes from 9011df7f..7392b499
7392b499 tweak to eval-program to remove unintuitive behaviour
3683b038 tweak lbmref
79e26fd3 small tweak lbmref
b62983d2 some additions and typo-fixes in lbmref
566fb8ce added more text about cond to lbmref

git-subtree-dir: lispBM/lispBM
git-subtree-split: 7392b4994dfadcc97ebb9e2ca8da552204495c9d
2022-11-02 18:49:31 +01:00
Benjamin Vedder 16e352ca34 Squashed 'lispBM/lispBM/' changes from 39930fdf..9011df7f
9011df7f fix typos in lbmref
d197432c update lbmref
3a233c36 added another cond test
cae5da5f new tests for cond
8c6e98cb added test for cond
fccd42fa first draft of cond, more tests are needed

git-subtree-dir: lispBM/lispBM
git-subtree-split: 9011df7f4fbcc5a336100f1f18b9aef680bea97b
2022-11-01 21:14:30 +01:00
Benjamin Vedder 05cbd569a6 Squashed 'lispBM/lispBM/' changes from c81eb021..8b64ae8b
8b64ae8b added some tests for matching with guards.
62e2c688 update lbm_ref
14ec7847 error message on malformed recv patterns
e9ea4e4e match with guards
0e3a29fc Pattern matching now support optional boolean guard expressions
4af283e8 some precautionary changes to certain fundamentals
a4435fb0 added a test of built in map

git-subtree-dir: lispBM/lispBM
git-subtree-split: 8b64ae8b1193fee0f9f9ca361c25ca9357a3384a
2022-10-31 21:52:58 +01:00
Benjamin Vedder 058bea75a5 Squashed 'lispBM/lispBM/' changes from bd485f20..c81eb021
c81eb021 tweak error message
12a8b067 added a built in reverse

git-subtree-dir: lispBM/lispBM
git-subtree-split: c81eb02194e1c556eef52811c11b2679bfb40908
2022-10-28 17:41:09 +02:00
Benjamin Vedder 3ce9000abc Squashed 'lispBM/lispBM/' changes from 1b286c45..81a5990a
81a5990a added a built in map

git-subtree-dir: lispBM/lispBM
git-subtree-split: 81a5990af2bccbbd7284d980a2f9504ef014699d
2022-10-28 11:44:54 +02:00
Benjamin Vedder 85e4aae57b Squashed 'lispBM/lispBM/' changes from 4233bafe..1b286c45
1b286c45 variable_not_bound error prints the variable that is not bound
edc731ae Atomic behaves as progn does now
73ddfc5a removed the type-based pattern binders, ?i, ?i32 ...

git-subtree-dir: lispBM/lispBM
git-subtree-split: 1b286c454af350df93fda02f86e356861e06a399
2022-10-26 17:34:07 +02:00
Benjamin Vedder 0db54cab8b Squashed 'lispBM/lispBM/' changes from c2bd0cd0..4233bafe
4233bafe added aliases true and false, for t and nil
3e183b84 Match now uses the same structural equality to determine a match as eq does

git-subtree-dir: lispBM/lispBM
git-subtree-split: 4233bafe57b82fedab760c7cc7d1837ffb264fd0
2022-10-25 11:01:49 +02:00
Benjamin Vedder 1e2b53cbbc Squashed 'lispBM/lispBM/' changes from dde9b593..c2bd0cd0
c2bd0cd0 added some more range tests and updated the refman
d96fd1a3 reversing range if end point is smaller than starting point
15bd7eb4 update ref man and added a test of range
e83d6ca8 Added fundamental operation that creates a list numbers in a range. range
f0641f43 added a built in operation that computes the length of a proper list
952fb423 added indexing into lists from the rear. Use a negaive index to index from the rear of a list using ix
f6618b69 bugfix related to environment handling in match

git-subtree-dir: lispBM/lispBM
git-subtree-split: c2bd0cd0745acdc078e541a717ccc82642036018
2022-10-24 09:58:05 +02:00
Benjamin Vedder b924552400 Squashed 'lispBM/lispBM/' changes from e76a3deb..fe7a709d
fe7a709d added some benchresults and twear benchmark code to remove the reference to the stepping functionality
965c2543 uninlined stack popping procedures
7ea5f3bd Change GC treatment of freelist when GC is invoked and freelist is non-empty
7bc24eef update changelog
d7d158e0 added 5 tests related to quasiquotation
b26bf5f8 update
5309b8e7 Update README
918b4aee update README

git-subtree-dir: lispBM/lispBM
git-subtree-split: fe7a709d1942fbc88461e9313d91220ba97ab3e8
2022-10-17 14:42:17 +02:00
Benjamin Vedder 898e4df503 Squashed 'lispBM/lispBM/' changes from ca26715a..e76a3deb
e76a3deb removed GC from finish_ctx. Can be taken care of from the C interface
91924e68 clean up heap after an error. Most important after an out_of_memory a bit dependent on how one interacts with the RTS
ba1c57ad new test on setvar together with let - passes.
df38cde4 small cleaning around bug fix area

git-subtree-dir: lispBM/lispBM
git-subtree-split: e76a3debc2abfd8528becb4295eb6f22492b3826
2022-10-11 19:12:37 +02:00
Benjamin Vedder c30054a533 Squashed 'lispBM/lispBM/' changes from b741c823..ca26715a
ca26715a fixed environemt handling bug related to function applications

git-subtree-dir: lispBM/lispBM
git-subtree-split: ca26715a429d1b7b5f0351ace1c8fedc09d7f4af
2022-10-10 19:35:30 +02:00
Benjamin Vedder 681ac73df7 Squashed 'lispBM/lispBM/' changes from b3d8a6b2..b741c823
b741c823 update README
589639e9 removed old unused track of thought
7b64298a updated readme
b1a0b8f2 update lbmref
258d3547 update lbmref
080196da changed behaviour of mailbox when receiving on full. oldest mail is replaced

git-subtree-dir: lispBM/lispBM
git-subtree-split: b741c823bafd4d316feff99f0ebadaedb16f550a
2022-10-10 17:07:58 +02:00
Benjamin Vedder dccfe15135 Squashed 'lispBM/lispBM/' changes from 7756d581..b3d8a6b2
b3d8a6b2 removed functions that nolonger have a purpose
306722dc remove the possibility to step through program and reorganize the most critical loop structure
aa6eb5ca  remove encode, decode from refman
899d8579 update README and plot script
132e9364 updated readme with more detailed intro

git-subtree-dir: lispBM/lispBM
git-subtree-split: b3d8a6b21af4683af8837ad1a5106cf0d2d7eac9
2022-10-06 13:58:38 +02:00
Benjamin Vedder e8748c33d6 Squashed 'lispBM/lispBM/' changes from 1be203ec..7756d581
7756d581 update benchresults
bf99ae97 removed seldom used fundamental operations, is_fundamental, encode, decode

git-subtree-dir: lispBM/lispBM
git-subtree-split: 7756d5819e4dd18a4907f9ae68a5e8e752b962f1
2022-10-04 11:17:07 +02:00
Benjamin Vedder 67837017be Squashed 'lispBM/lispBM/' changes from ebfa4c83..42aa0d95
42aa0d95 added some historical benchmark results
d1f5782e closed warning apply_error
d7520f41 added simple tests2

git-subtree-dir: lispBM/lispBM
git-subtree-split: 42aa0d952638a4dc23a9457a712f27e6da8a3b60
2022-10-02 09:28:56 +02:00
Benjamin Vedder 55ff24d348 Squashed 'lispBM/lispBM/' changes from aa297a80..8293dc85
8293dc85 making infer static analysis 100% happy
dc577f26 added undefine
1ee941fb upped version and added recent changes
b0eb427a removed namespaces from the refman
62f65367 added 2 mail tests

git-subtree-dir: lispBM/lispBM
git-subtree-split: 8293dc85deb67a62fa337f2f53b0f5586fce3521
2022-09-27 12:12:54 +02:00
Benjamin Vedder 39a306bed0 Squashed 'lispBM/lispBM/' changes from efc1dbb7..ee23f4ab
ee23f4ab mailboxes are now arrays and of a finite size

git-subtree-dir: lispBM/lispBM
git-subtree-split: ee23f4abaf11468d0714e9ff69f881255575a711
2022-09-25 11:32:52 +02:00
Benjamin Vedder 6a2f1a7875 Squashed 'lispBM/lispBM/' changes from 0801bea4..2d48bed5
2d48bed5 found bug related to malformed tokens, should be better now but maybe not perfect
fafa3cd0 added 24bit variants of array extensions

git-subtree-dir: lispBM/lispBM
git-subtree-split: 2d48bed5b6a1bfa31427406cffaa6b7cca2b558b
2022-09-24 19:18:54 +02:00
Benjamin Vedder 3b381b9c7d Squashed 'lispBM/lispBM/' changes from d23c7fe2..0801bea4
0801bea4 tests of read function on string and array syntax and bug fix in tokpar related to strings
2a4757f6 Read errors report line and column again
ded9c7c7 added some float tests

git-subtree-dir: lispBM/lispBM
git-subtree-split: 0801bea42b72f1a881abc3a9bfd6cc53f68a05bb
2022-09-24 09:08:36 +02:00
Benjamin Vedder fb303346de Squashed 'lispBM/lispBM/' changes from 445930ec..d23c7fe2
d23c7fe2 hex values interpreted as i-type by default
1f1d8108 tokpar detect negative float correctly
945bed71 Hex literals default to u32 type but allow for type modifying post-fix declarations
b45734a3 change to find_receiver_and_send that does not dequeue-enqueue tasks already to scheduled to run and thus moving them to the end of the queue
1c2fd35d a cleaning and streamlining pass over parts of the code
aa327e42 updated the example evaluator
b21cd0b7 zephyr example repl compiles
00268635 update readme

git-subtree-dir: lispBM/lispBM
git-subtree-split: d23c7fe2cc5feeb80f183a20dd7d69677b7d6f6a
2022-09-23 14:04:35 +02:00
Benjamin Vedder 08c0898a0e Squashed 'lispBM/lispBM/' changes from c2e0433a..aba5cf5a
aba5cf5a added a sleeping contexts iterator
5955c062 update doc readme
bb095b49 update doc readme
54e0af08 tweak documentation readme2
ecefdcec update readme slightly
a3a97657 small tweak chapter 3
c6383fc4 update concurrency in lbmref
630f1586 removed misleading comment from test_read_2.lisp
db30bd55 added self function and another concurrency test
3f6298b0 added a self function that returns the ID of the the thread that calls it and a concurrency test
95aa4b41 added comment and did whitespace pass over tokpar.c
8822052e a tiny bit more cleanup of tokpar.c
ff7e80c5 some cleaning up in tokpar.c
6bc47c40 ESP32 example now compiles again.
eb9b7e82 update sdl example repl to work with new channels
bccbad5f added documentation to lbm_channel

git-subtree-dir: lispBM/lispBM
git-subtree-split: aba5cf5ae0579c38c44b556db125bb7343d32732
2022-09-20 11:32:37 +02:00
Benjamin Vedder ad4ee40868 Squashed 'lispBM/lispBM/' changes from 58e0abe5..c2e0433a
c2e0433a update
d19c1e63 some cleaning of tokpar and addition of 4 comment-tests

git-subtree-dir: lispBM/lispBM
git-subtree-split: c2e0433a936cab7ac4e67ead55948e9a1ae003bc
2022-09-18 10:09:06 +02:00