Code Monkey home page Code Monkey logo

Comments (3)

rrthomas avatar rrthomas commented on April 28, 2024

You're quite right that (my) pForth is not in any simple sense "minimal". (You may or may not have noticed that in 1999 I presented a paper at EuroForth about my experiences implementing Machine Forth, and of course even that is not minimal compared with your efforts.)

A more accurate description might be "minimal effort", in the sense that Bee is designed to be a simple VM with a small instruction set with which one can easily implement a Forth compiler that is not too slow. The actual instruction set was chosen from the minimal set of primitives that pForth itself requires, again, avoiding particularly slow compromises such as implementing / or ROLL in Forth; no low-level Forth word should be difficult or terribly slow to implement with Bee's instruction set, while easy combinations (such as : - NEGATE + ;) are allowed.

The result is (intended to be; I have yet to take full advantage of Bee to simplify pForth, whose back-end interface is currently badly-defined, hacky, and more complicated than it need be) that both Bee and pForth can be easily implemented with a modest amount of code, and acceptable performance for a naive implementation. (Currently, pForth boasts some of the slowest implementations of Forth you're likely to find in terms of machine cycles per Forth primitive.)

Does my description above (something like the second paragraph) sound like a reasonable explanation of Bee's aims? I understand that with Forth systems perhaps more than any other language, the precise trade-offs explored by a particular system need to be delineated if they are to be kind to (potential) readers/users!

from bee.

larsbrinkhoff avatar larsbrinkhoff commented on April 28, 2024

That's a great explanation. Thanks!

from bee.

rrthomas avatar rrthomas commented on April 28, 2024

(Reopening as I will fix the documentation.)

from bee.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.