Giter Club home page Giter Club logo

forth-without-forth's Introduction

Forth-without-Forth

copy of repo info

facebook

Chochain Lee · Most Forths manage their memory carefully and manually with fixed blocks. On the other end of spectrum, C++ has a vector class which manages its size (and allocation) 'magically'. While collaborating with Dr. Ting in 2021 on his Forth without Forth paradigm, we tried using vector for stacks, dictionary and parameter memory. After a recent revision, I now have a full-fledged eForth that does not keep HERE, have no S, R, or even IP which kind-of breaks the traditional wisdom of Forth. Everything in one file, 359 lines. See https://chochain.github.io/eforth/orig/ting/ceForth_410.cpp and the inner interpreter in snip below. The question is, unlike on MCU or FPGA, does manage your small blocks of memories on top of Windows or Linux/iOS memory system making sense? Is it more efficient? To my surprise, the vector-based token-threaded implementation out pace my classic linear-memory subroutine-threaded by 10%. Owch! It means C++ compiler optimizer does better than my hand crafting one. For my ego, I got to fix that!

https://chochain.github.io/eforth/orig/ting/ceForth_410.cpp?fbclid=IwAR1aUx-BzXsVQEt3uSdfQLfdjWnnKOqFP2JkktCZzGQ1yglpH_WhXhczR6o_aem_ATaLH-Eh5kVaHVZ7g2uyUyqnH_vRFqVuz0SAXI1v6MIqb_IujheTKFXgIHJsde4kPJNtGPsarZDYgqtOcnGasp5p

forth-without-forth's People

Contributors

stevejustin1963 avatar

Watchers

 avatar

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.