Skip to content

davazp/eulex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

347e22c · Aug 12, 2019
Apr 1, 2012
Jan 31, 2019
Apr 9, 2012
Nov 25, 2011
Dec 21, 2011
Nov 9, 2011
Nov 9, 2011
Jan 31, 2019
Nov 26, 2011
Jul 10, 2018
Apr 15, 2012
Nov 9, 2011
Apr 6, 2012
Apr 15, 2012
Jan 31, 2019
Apr 4, 2012
Apr 6, 2012
Apr 24, 2012
Nov 9, 2011
Apr 12, 2012
Aug 12, 2019
Apr 9, 2012
Apr 24, 2012
Nov 24, 2011
Apr 12, 2012
Nov 9, 2011
Apr 15, 2012
Nov 9, 2011
Apr 9, 2012
Sep 12, 2018
Apr 13, 2012
Nov 10, 2011
Apr 11, 2012
Apr 24, 2012
Apr 11, 2012

Repository files navigation

Eulex
=====

  Eulex is a straightforward Forth implementation for i386 machines.

  It includes almost as much Forth as I know, as well as a barebone
environment with the keyboard, terminal, timer and speaker support,
necessary to provide some common Forth words. Indeed, it provides a
convenient line editing emacs-like keybindings and completion.

  As always, a lot of features are missing. If you want to have some
fun, consider to write some of them!


History
-------

  Originally, this project came up in 2009. A fellow and I started to
write an operating system. We were looking for a low level and easy to
implement language, which was fun and allowed to hack the language
itself, in order to incorporate it to that system, which we named
Eulex. I discovered Forth, and I figured out that it was a good
choice, as we wanted to recreate an old system. I set about writing an
implementation for the specification Forth79 in assembler, initially
on GNU/Linux and using the C library since it was a convenient way to
work, meanwhile my fellow implemented a simple C kernel for Eulex that
would house Forth. This implementation was never incorporated,
however.

  Two years later, without other idea which in I could work, I took a
primitive version of the C kernel of Eulex, and I used it as a thin
compatibility layer to run the Forth implementation on the metal. Then,
I made up my mind to write the whole system in Forth. So, Forth was
ported to 32 bits and pieces of C code were rewritten in Forth.
The C layer was an useful scaffolding, as it allowed not only to use
modern tools for debugging, but build the system in the right order.
Eventually, Forth replaced C and I could move the scaffolding away,
removing the whole C code.  As outcome of that, I share this barebone
Forth system with you, with the hope that someone will have so much
fun as I have had.

Happy Hacking

DVP