Find a file
2016-04-04 13:40:47 -04:00
bin The fOOrth program no longer goes through demo.rb 2016-02-24 22:00:12 -05:00
docs Updated UG, fixed some source code formatting. 2016-04-04 13:40:47 -04:00
images Created a project logo. 2016-03-07 12:15:20 -05:00
integration The _FILE_ word returns nil when the source is a string or the console. 2016-03-30 12:57:22 -04:00
lib The _FILE_ word returns nil when the source is a string or the console. 2016-03-30 12:57:22 -04:00
tests Corrected the flood of messages caused by warnings having been turned on 2016-03-22 10:53:30 -04:00
.gitignore UG update; Exceptions 2015-04-14 11:53:52 -04:00
.rdoc_options The Token struct and rdoc corrections. 2014-09-19 13:19:33 -04:00
demo.rb The fOOrth program no longer goes through demo.rb 2016-02-24 22:00:12 -05:00
fOOrth.gemspec Updated dependencies. 2016-03-22 19:30:45 -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
license.txt Day 1 2014-09-09 15:35:22 -04:00
rakefile.rb Minor cleanup of the unit and integration rake specs. 2016-03-30 10:41:51 -04:00
README.md README.md updated. 2016-03-07 13:39:40 -05:00
reek.txt Code smell clean-up 2016-03-28 12:03:51 -04:00
sire.rb Added the version manifest command to sire. 2016-03-06 15:04:17 -05: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.

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:

rake run

Be sure to be in the folder that contains the rakefile in order for this 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 format, and is still also very much a work in progress. Please see The_fOOrth_User_Guide.odt in the docs folder.

Also for those who do not have or don't want Open Office: As each major version of fOOrth is made available, expect to see portable document format (pdf) versions of the guide. (In the docs folder in the repository)

Contributing

Plan A

  1. Fork it
  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. Apply labels to the issue that match the point you are trying to make. Then follow your issue and keep up-to-date as it is worked on. All input are greatly appreciated.