Greetings, all -
I've recently made a spec for an extension designed to add a custom type
system to Forth. I've programmed about half of it already, but I don't have
a lot of free time and the last bit is more involved, so I was hoping to get
some help with coding the last half of it. It's simple in principle but
seems like it's going to be a little too tricky to implement myself. So I
thought I might put this out there to see if there's anyone out there that
would be interested in a coding challenge and would like to get some credit
in what I think is a pretty interesting alternative to SWOOP and other OOP
extensions. Contact me and I'll send you a detailed description of the
system.
To summarize some of its properties, the system takes an approach without
vocabularies and without late binding. It makes use of a dot syntax (which
means it extends Forth's interpreter), and provides for several ways of
addressing typed objects as conveniently as possible, including locals and
pointer fields, and a "flavored" mode, which allows use of a "this"-based
syntax, all while keeping it very flexible and compatible in the context of
the Forth language. There is no type checking except for method matching
against a given object's type, but I think it will help greatly in
programming complex Forth programs without the usual memory/runtime overhead
of a normal OOP system, and I believe that it's more flexible.
Also it would probably benefit the extension greatly if someone thought
themselves more skilled than usual in describing and documenting things. I
don't completely understand all the implications of the system myself, so I
am probably not the best one to document it for the coding community.
I should also add that it is NOT a replacement for SWOOP and is specifically
designed to be able to coexist alongside it.
Cheers,
Roger
P.S. I have been long at work on a game development tool suite for
SwiftForth. Right now I'm working on the library portion, and the reason
for the type system's existence is that the library has become so complex
that I need the benefits of OOP, but I need to do it more efficiently and I
also wanted to hide numeric datatypes. I'll send out an email to the list
formally announcing the project fairly soon, probably after this type system
is ready and the library is migrated to it. For a preview, here's a link to
the project page: http://code.google.com/p/forthquest/
----------------------------------------------------------------------
sftalk_at_forth.com The SwiftForth programming discussion email list
To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com
For list command help, send subject "help" to sftalk-request_at_forth.com
Message archives are located at http://www.forth.com/archive/sftalk
----------------------------------------------------------------------
This list is a forum for SwiftForth users. For product support and
bug reports, please send email to support_at_forth.com
----------------------------------------------------------------------
Received on Wed Nov 11 2009 - 18:43:39 PST
Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!
This archive was generated 08-Feb-2012. Archive updated nightly.