Comments (3)
Actually, it may be possible to allow nested compiles. Will check.
It seems that the hardest part is what is also reponsable for
issue 3 - once that is solved as thought of there, nested compiles might be not too hard to add.
Reason for why that could work is that then compilation would not even have started when [ ] is encountered - but currently, header is already created (which the envisioned solution for issue 3 would change)
from yoda.
nested compiles are harder than first thought. The idea has been dropped for now. But since late headers have been introduced, detecting whether an attempt to compile yet unresolved words during suspended compilation is much simpler now. Therefore it may be safe to let satisfy
detect that condition, and decline compilation (or let satisfy
simply execute need
for resolving at a more appropriate time, later - but probably does throwing a "word not found" error for those not yet existing words make more sense).
from yoda.
condition "suspended compilation" is caught, satisfy won't compile code of yet unresolved words when those are referenced between [ ]. Nor is a forward reference created. If you want to execute a forward referenced word between [ ], use satisfy before starting compiling a word.
from yoda.
Related Issues (20)
- 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
- "postpone" does not work properly HOT 3
- 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
- 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
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.