Find a file
2016-11-03 11:52:24 -04:00
bin The fOOrth program no longer goes through demo.rb 2016-02-24 22:00:12 -05:00
docs Updated for version 0.6.9 2016-11-03 11:52:24 -04:00
images Stored fOOrth.org image files. 2016-04-30 10:06:46 -04:00
integration Backed out extreme testing. 2016-10-31 16:00:56 -04:00
lib Updated for version 0.6.9 2016-11-03 11:52:24 -04:00
tests Massive smell cleanup done for now. 2016-09-21 15:57:07 -04:00
.gitignore The unversioned pdf UG is now ignored. 2016-04-07 12:22:08 -04:00
.rdoc_options The Token struct and rdoc corrections. 2014-09-19 13:19:33 -04:00
CODE_OF_CONDUCT.md Added a code of conduct. 2016-09-23 14:53:23 -04:00
demo.rb The fOOrth program no longer goes through demo.rb 2016-02-24 22:00:12 -05:00
fOOrth.gemspec Updated for mini_readline and version 0.6.8 2016-11-01 11:07:59 -04:00
fOOrth.reek Code smell clean-up 2016-03-28 12:03:51 -04:00
Gemfile Cleanup build env more like bundler would do it. 2014-11-03 16:51:04 -05:00
irbt.rb The rake console now uses the standard readline gem. 2016-08-30 11:07:11 -04:00
license.txt Day 1 2014-09-09 15:35:22 -04:00
rakefile.rb Fixed the rake console command. 2016-05-03 18:16:17 -04:00
README.md Updated the readme file. 2016-05-02 14:32:58 -04:00
reek.txt Massive smell cleanup done for now. 2016-09-21 15:57:07 -04:00
sire.rb Updated for mini_readline and version 0.6.8 2016-11-01 11:07:59 -04:00
t.txt SIRE enhancements. 2014-10-15 12:27:05 -04:00
test.foorth Added the )vm method for debug. 2015-01-29 13:59:39 -05:00

fOOrth Project Logo

The fOOrth language is an experimental variant of FORTH that attempts to incorporate object oriented and functional programming concepts. It also tries to extrapolate an alternate reality where FORTH was not frozen in the past, but continued to grow and develop with the times. Above all this project is the result of nearly 30 years of thought on the design of threaded compilers and languages with simplified grammars and syntax.

Community

While it is still very much a work in progress, you are invited to see The fOOrth Programming Language web site at:
http://www.foorth.org/

Installation

Add this line to your application's Gemfile:

gem 'fOOrth'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fOOrth

The fOOrth gem itself is found at: ( https://rubygems.org/gems/fOOrth )

Usage

Adding fOOrth can be as simple as:

require 'fOOrth'
XfOOrth.main

This will launch an interactive fOOrth session. Alternatively this can be done with:

$ fOOrth

or

$ rake run

Be sure to be in the folder that contains the rakefile in order for the latter command to work.


If, instead, a non-interactive facility is required, use:

require 'fOOrth'
XfOOrth.virtual_machine.process_string '1 2 +'

where the string is fOOrth code to be executed, or for a file of code, use:

require 'fOOrth'
XfOOrth.virtual_machine.process_file 'my_file.foorth'

Further Documentation

The fOOrth Language System is documented in The fOOrth User Guide. This is currently only available in Open Office and PDF formats. The guide tracks changes in the language fairly closely. The most current guide in PDF format may be found at the community web site above.

This code repo also has PDF formatted guides for majot revisions.

Contributing

Plan A

  1. Fork it ( https://github.com/PeterCamilleri/fOOrth/fork )
  2. Switch to the development branch ('git branch development')
  3. Create your feature branch ('git checkout -b my-new-feature')
  4. Commit your changes ('git commit -am "Add some feature"')
  5. Push to the branch ('git push origin my-new-feature')
  6. Create new Pull Request

For more details on the branching strategy, please see: http://nvie.com/posts/a-successful-git-branching-model/

Plan B

Go to the GitHub repository and raise an issue calling attention to some aspect that could use some TLC or a suggestion or an idea.