Well, that was easy! Stack limit now working.
This commit is contained in:
parent
d1ce893633
commit
7f34601523
4 changed files with 14 additions and 3 deletions
2
Makefile
2
Makefile
|
|
@ -44,7 +44,7 @@ test: $(TESTS) Makefile $(TARGET)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(TARGET) $(OBJS) $(DEPS) $(SRC_DIRS)/*~ $(SRC_DIRS)/*/*~ $(TMP_DIR)/* *~ core
|
$(RM) $(TARGET) $(OBJS) $(DEPS) $(SRC_DIRS)/*~ $(SRC_DIRS)/*/*~ $(TMP_DIR)/* *~ core.*
|
||||||
|
|
||||||
repl:
|
repl:
|
||||||
$(TARGET) -p 2> psse.log
|
$(TARGET) -p 2> psse.log
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,16 @@
|
||||||
# State of Play
|
# State of Play
|
||||||
|
|
||||||
|
## 20260314
|
||||||
|
|
||||||
|
When I put a debugger on it, the stack limit bug proved shallow.
|
||||||
|
|
||||||
|
I'm tempted to further exercise my debugging skills by having another go at
|
||||||
|
the bignum arithmetic problems.
|
||||||
|
|
||||||
|
However, I've been rethinking the roadmap of the project, and written a long
|
||||||
|
[blog post about it](https://www.journeyman.cc/blog/posts-output/2026-03-13-The-worlds-slowest-ever-rapid-prototype/).
|
||||||
|
This isn't a finalised decision yet, but it is something I'm thinking about.
|
||||||
|
|
||||||
## 20260311
|
## 20260311
|
||||||
|
|
||||||
I've still been having trouble with runaway recursion — in `member`, but
|
I've still been having trouble with runaway recursion — in `member`, but
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
(item collection)
|
(item collection)
|
||||||
"`(member item collection)`: Return `t` if this `item` is a member of this `collection`, else `nil`."
|
"`(member item collection)`: Return `t` if this `item` is a member of this `collection`, else `nil`."
|
||||||
(print (list "In member? item is " item "; collection is " collection))
|
(print (list "In member? item is " item "; collection is " collection))
|
||||||
;; (println)
|
(println)
|
||||||
(cond
|
(cond
|
||||||
((= 0 (count collection)) nil)
|
((= 0 (count collection)) nil)
|
||||||
((= item (car collection)) t)
|
((= item (car collection)) t)
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ struct cons_pointer make_empty_frame( struct cons_pointer previous ) {
|
||||||
uint32_t depth =
|
uint32_t depth =
|
||||||
( nilp( previous ) ) ? 0 : ( get_stack_frame( previous ) )->depth + 1;
|
( nilp( previous ) ) ? 0 : ( get_stack_frame( previous ) )->depth + 1;
|
||||||
|
|
||||||
if ( stack_limit > 0 && stack_limit > depth ) {
|
if ( stack_limit == 0 || stack_limit > depth ) {
|
||||||
result = in_make_empty_frame( previous, depth );
|
result = in_make_empty_frame( previous, depth );
|
||||||
} else {
|
} else {
|
||||||
result =
|
result =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue