Giter Club home page Giter Club logo

foorth's People

Contributors

petercamilleri avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

foorth's Issues

Add the ruby" method

This will enable the insertion of raw ruby code into the code buffer. Sort of like an assembler level for fOOrth.

Add cooperative bundles?

Classic FORTH uses a cooperative tasking model. This is much lighter weight than threads but more flexible than fibers (?) .

Is this a good idea?

Compile method nesting errors.

The compiling methods (: !: .: and .::) do not nest correctly into control structures or inside a method being compiled. The following code demonstrates this issue:

true if : foo ."foo" ; then
F10: Invalid value for mode: :deferred not [:execute]

The above code should simply define the method foo but it produces an error instead.

Wish List: Add a Time class

The fOOrth system already has some time based methods. Formal support for date and time data would seem to be a good idea.

User Guide - self

In the User Guide, create a section discussing the role of "self".

Wish List: Rethink the .fmt and .fmt" methods

Convert these methods to NOS routing and move to Object.

Add a helper method .fmt_fields that defaults to self, also in Object

This change will allow for much greater versatility in formating non-traditional data.

Wish List: Add the .call_with method to the Procedure class

This method is like call but also takes an object as an argument. This object is set to be the self with the called procedure. eg:

"Test 123" a_procedure .call_with

will call a_procedure with the "Test 123" string as self during execution.

Rethink the creation of NOS methods.

The current method of defining NOS methods is sloppy, confusing, and highly error prone. This whole are really needs some serious attention and TLC.

The current way uses the method name. If the method created by the .: word does NOT start with a . or a ~, it defaults to be a NOS method... It is really easy to create them by accident when that was not my intent.

A better way is needed.

The fOOrth User Guide - Incomplete sections

The fOOrth User Guide needs a lot of additional work. Sections needing further work:

Exceptions, FalseClass class, Hash class, InStream class, Integer class, MaxNumeric class, MinNumeric class, NilClass class, Numeric class, Object class, OutStream class, Procedure class, Queue class, Stack class, String class, Thread class, and VirtualMachine class.

Use issue tracking!

Use issue tracking in git to record areas in fOOrth needing further work and the progress made in completing that work.
Eventually, it is expected that issues will reflect... issues (how novel) encountered by users and developers working on and with fOOrth.

Integration test suite hangs under Ruby 2.1.5

The integration test suite is again hanging under Ruby 2.1.5 when running the rake integration task. This seems to be related to the length of the command line being shelled out to Ruby.

A temporary bodge is to shorten the names of the integration tests by replacing the word library with lib.

A better fix is needed as this will eventually break again when more files are added.

Restructure Exception F11

The spec error is really a syntax error. Remap from F11 to F10,01 and lose the obscure message. Simple use the standard ?wordname? of FORTH.

Rethink modes

There seems to be a need for a nested mode that does not enter a deferred or compiled mode. It seems that the current mode control is rather ad-hoc and not at all well thought out. There is a lot of room for improvement here. Further, in its current state, the mode system will be very difficult to port to fOOrth.

Also: There is also a need for modes to be properly documented. Currently they are only hinted at.

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.