Comments (3)
as postpone is passing this test from forth-standard.org, this issue can probably be closed now.
Note that there's a minor glitch in the test on forth-standard.org: the first line refers to
a word named GT1 which is just assumed to exist. From context it can be taken that it is presumably meant to be non-immediate : GT1 123 ;
So when trying that test, you need to supply GT1 yourself before compiling further lines from the test.
from yoda.
That's what I could call a plain blooper, due to me never having really wrapped my head around postpone. I'm a relict from the [compile] and compile time.
However, this seems like a great opportunity to get the hang of postpone now.
I've now added "pretend" pseudo code to postpone, which outputs its actions and tells me what result to expect when replacing pseudo against real code. But I'd like to check back with you before I cast it onto code:
whoami simply helps identifying the words, by showing names and xts.
foo is the non-immediate word which gets postponed in and by bar. I reckon the idea of postponing a normal word is to let it compile by an immediate word into a word under construction. Therefore I've made bar immediate.
According to my newly gained but yet questionable understanding of postpone I expect bar now to compile a call into xyzzy, as the printed "pretend" message indicates.
Here's a screenshot of test code (above the divider line) and the output resulting from running it (below divider). Does that look correct?
from yoda.
This release contains the changes to postpone to let it generate and compile the actual code, rather than just pretending that it does.
from yoda.
Related Issues (20)
- headers of words which failed compilation are kept HOT 2
- data items can't be ticked HOT 3
- Examples in README.md HOT 3
- Division in ANS Forth HOT 5
- words created by a defining word without code following does> will cause an error HOT 3
- Can't pipe input to yoda HOT 1
- Can't perform a real warm start which empties call stack but leaves dictionary intact HOT 1
- words mustn't be added by instant resolving during suspended compilation HOT 3
- recurse didn't survive the change to late headers HOT 1
- source file and location information ("where") didn't survive change to late headers creation HOT 1
- recorded source location of colon words is that of semicolon HOT 1
- Error: "newprompt" is not found HOT 7
- While wordlists/vocabularies allow multiple identically named but otherwise unrelated headers, flags don't HOT 1
- Strange behavior of "previous" HOT 2
- words with lest or unless flow control may not be inlined
- "is" does not work properly HOT 2
- Tag releases HOT 1
- It appears that cursor- and terminal control sequences don't work correctly with FreeBSD
- The word `c@` does not fetch the character width
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yoda.