Browse by Tags

Tagged Content List
  • Blog Post: If you can’t beat ‘em, join ‘em

    I’ve had fun making the little DCPU emulator (past couple of posts: 1 , 2 ), but sadly, I’ve had no time to make a Forth for it. But hey, Matt Hellige has already done it ! I just took his GoForth and got it up and going. Just grab the image from here and load it up: let image = File.ReadAllBytes @"...
  • Blog Post: Turtle Graphics on the Fignition

    The Fignition board is a fun little piece of 8-bit fun I tell ya! I’ve been having a blast with it. It’s an ATmega168 with 8Kb SRAM and 4Mbits of flash with video out (there’s also a sound mod for it ). In this post I want to show off an implementation of Turtle Graphics I’ve...
  • Blog Post: Introducing the Cult of the Bound Variable to the Cult of Forth

    [The twelfth in a series of posts on the evolution of TransForth ]   It’s been quite fun playing with this Universal Machine from the Cult of the Bound Variable . In this post we’re going to continue the journey toward building a full Forth for this machine by assembling a Forth inner interpreter;...
  • Blog Post: Programming a 2000 Year Old Sandstone Computer

    [The eleventh in a series of posts on the evolution of TransForth ] If you think coding with punch cards is old school, you should try using sandstone tablets! Legend has it that members of the Cult of the Bound Variable designed and may have even constructed a city-sized machine powered by falling...
  • Blog Post: Meta-Circular Chicken and Egg

    [The tenth in a series of posts on the evolution of TransForth ] This post may not quite be deserving of a wizard’s cape and 2001 Space Odyssey background music as when Sussman writes out Lisp in Lisp (at 34:34 - my absolute favorite SICP lecture by the way), but still… we are about to...
  • Blog Post: Going “Retro” and Loving It!

    Continuing my concatenative language kick, I’ve been having fun playing with Retro ( http://www.retroforth.com ) and couldn’t resist making an F#-based VM on which to run it. It is an elegant, minimal Forth with an important twist. What caught my eye is that it supports quotations and combinators...
  • Blog Post: Programming is “Pointless”

    Some may call it “pointless”, but I absolutely love the point-free tacit programming style . The level of brevity can be truly astounding! Some of the terseness comes from not having to mention parameter names all over the place and much of it comes from the relentless factoring that this...
  • Blog Post: Spanning Two Worlds

    [The ninth in a series of posts on the evolution of TransForth ] The dictionary we have at the moment is split across two worlds. The definitions are in Forth-world; packed into plain memory. But we still have the F#-world mapping of WordRecord s to those memory locations. let mutable dict = [] ...
  • Blog Post: Heart Transplant

    [The eighth in a series of posts on the evolution of TransForth ] They say that the inner interpreter is the heart of Forth and outer interpreter is the soul. It’s time to give TransForth a heart transplant! To really understand what we’re doing here, I’d suggest watching my...
  • Blog Post: Tearing Away the Scaffolding

    [The seventh in a series of posts on the evolution of TransForth ] At this point we have a reasonably complete Forth that’s pretty fun to play with. Like I said in the first post though, we don’t just want to build a Forth in F#. Stopping here wouldn’t be in keeping with “Forth...
  • Blog Post: : LOOPTY DO I . LOOP ;

    [The sixth in a series of posts on the evolution of TransForth ] There’s beginning to be more Forth than F# in these posts! The last major piece we’re missing in the language, aside from some compile-time trickery we’ll get into later, is the standard Forth looping constructs. We’re...
  • Blog Post: IF … ELSE … THEN

    [The fifth in a series of posts on the evolution of TransForth ] Sadly (or happily), we’ve come to a point at which we need to begin thinking like an assembly programmer in order to appreciate the mechanics of Forth’s control flow words. We’ll start by implementing IF …...
  • Blog Post: VARIABLE X

    [The fourth in a series of posts on the evolution of TransForth ] We’re getting very close to the point at which we’ll need to start moving closer to the machine with things like direct memory access. Implementing IF / ELSE / THEN , which we’ll do in the next post, will practically...
  • Blog Post: : REFACTOR TRIM BUILD ;

    [The third in a series of posts on the evolution of TransForth ] Now that we have Forth hobbling along, we can start to peel away the scaffolding. Some of the things we’ve defined in F# can now be redefined in Forth instead. As we go along, I think you’ll be amazed by just how little it...
  • Blog Post: : HELLO FORTH WORLD ;

    [The second in a series of posts on the evolution of TransForth ] In the last post we completed the tokenizer/parser and the REPL along with some baked in primitives. We now want to be able to add to the dictionary of known words from within Forth itself; to build secondary new words that are essentially...
  • Blog Post: FORTH LOVE? IF HONK THEN

    [The first in a series of posts on the evolution of TransForth ] I’ve been enthralled by retro computing recently and have been filling my bookshelf [yes, actual bound paper books] with (nearly) extinct programming language topics: Lisp, Fortran, Smalltalk, APL, Forth, … About this time...
Page 1 of 1 (16 items)