a***@spenarnc.xs4all.nl
2024-12-01 14:37:59 UTC
https://github.com/irdvo/ffl
ffl takes no consideration for case sensitive Forth's.
So it took some more time, but I made same progress.
However I got stuck upon the following:
---------------------------------
[UNDEFINED] nil<>? [IF]
0 nil= [IF]
: nil<>? ( addr -- false | addr true = If addr is nil, then return false, else return address with true )
state @ IF
postpone ?dup
ELSE
?dup
THEN
; immediate
[ELSE]
: nil<>?
dup nil<> IF
true
ELSE
drop
false
THEN
;
[THEN
[THEN]
--------------------------------------------------
This combines a number of Forth stuff that I hate:
- Defining words by inspecting if it is undefined.
- an immediate word that it is smart
- a word that has variable output
- it contains ?DUP (bleh)
- it contains POSTPONE even postponing ?DUP
I can't progress because van Oudheusden uses this all over the place,
literally in every file, and I can't compile this piece of code.
********** PROBLEM ************************
ciforth don't know the word `` [THEN ''.
*******************************************
[I checked it and it is really in irho/ffl.]
What gives? 40 years of software maintenance have taught me to never
ever try to remove a defect if the specification of the module
is not clear. You can't properly test it without a specification,
you know.
For what it is worth gforth gives the message:
[THEN
:1: Undefined word
ffl takes no consideration for case sensitive Forth's.
So it took some more time, but I made same progress.
However I got stuck upon the following:
---------------------------------
[UNDEFINED] nil<>? [IF]
0 nil= [IF]
: nil<>? ( addr -- false | addr true = If addr is nil, then return false, else return address with true )
state @ IF
postpone ?dup
ELSE
?dup
THEN
; immediate
[ELSE]
: nil<>?
dup nil<> IF
true
ELSE
drop
false
THEN
;
[THEN
[THEN]
--------------------------------------------------
This combines a number of Forth stuff that I hate:
- Defining words by inspecting if it is undefined.
- an immediate word that it is smart
- a word that has variable output
- it contains ?DUP (bleh)
- it contains POSTPONE even postponing ?DUP
I can't progress because van Oudheusden uses this all over the place,
literally in every file, and I can't compile this piece of code.
********** PROBLEM ************************
ciforth don't know the word `` [THEN ''.
*******************************************
[I checked it and it is really in irho/ffl.]
What gives? 40 years of software maintenance have taught me to never
ever try to remove a defect if the specification of the module
is not clear. You can't properly test it without a specification,
you know.
For what it is worth gforth gives the message:
[THEN
:1: Undefined word
[THEN<<<
Can you help me?--
Temu exploits Christians: (Disclaimer, only 10 apostles)
Last Supper Acrylic Suncatcher - 15Cm Round Stained Glass- Style Wall
Art For Home, Office And Garden Decor - Perfect For Windows, Bars,
And Gifts For Friends Family And Colleagues.
Temu exploits Christians: (Disclaimer, only 10 apostles)
Last Supper Acrylic Suncatcher - 15Cm Round Stained Glass- Style Wall
Art For Home, Office And Garden Decor - Perfect For Windows, Bars,
And Gifts For Friends Family And Colleagues.