RetroForum Welcome, Guest. Please login or register.
March 14, 2010, 02:17:05 PM
Home Help Search Calendar Login Register

RetroForth Discussion  |  Main  |  Discussion  |  Topic: Introducing Toka « previous next »
Pages: 1 Go Down Print
Author Topic: Introducing Toka  (Read 906 times)
Charles Childers
Administrator
Sr. Member
*****

Karma: +2/-0
Offline Offline

Posts: 745


View Profile WWW
Introducing Toka
« on: March 24, 2007, 11:55:59 PM »

I'll take a minute to share what I've been working on for the last couple of months.

Many (most?) people here know that I've been developing RetroForth for several years. About two years ago, I started having some ideas for how to build a Forth-like language that could incorporate some things I'd been wanting to try more easily. My initial stab was purely conceptual. I envisioned how I wanted the core of this language to be setup, sketched out small fragments on paper, etc.

In the summer of 2006 I started to experiment with a small virtual machine. It eventually proved flawed, but part of the code became the basis for Toka. I started actual coding in November. By January, it was pretty useable, though still buggy and missing some important functionality. A handful of people have had access to it during the early days.

Now it's stable enough for me to be comfortable sharing it Smiley

The language is similar to Forth, especially in terms of word naming and the use of two stacks along with a dictionary. Word classes are used in the implementation, but new classes can't be created at this time. Some features:

 * No static heap.
   All memory for code and data (other than the dictionary buffers and a few internal buffers) is dynamically allocated
 * Garbage Collector
 * Loops, conditionals, etc can be used directly at the interpreter
 * File I/O (a serious lack in RetroForth until 9.3 [still under development])
 * Decompiler
 * Arrays
 * FFI
 * Standard library of useful extensions
 * Single codebase that has been tested on 7 operating systems and 4 CPU architectures
 * 64-bit clean
 * Core is written in C

The language differs from traditional Forth in several areas, including the garbage collected memory, loop and conditional words, and the way words are created and defined.

More information can be found at http://code.google.com/p/toka and the source can be downloaded via Subversion by doing "svn checkout http://toka.googlecode.com/svn/trunk/ toka" (without the quotes). The library can be found at http://code.google.com/p/toka-library
Logged
Pages: 1 Go Up Print 
RetroForth Discussion  |  Main  |  Discussion  |  Topic: Introducing Toka « previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!