Posts

Showing posts from January, 2015

More Thoughts On A JVM-Based Forth

Image
Wrapping up the fundamental design challenges for a Forth implementation on JVM.
IntroductionThis post is the continuation of the ideas discussed earlier in my previous post Thoughts On JVM-based Forth Implementation (please read it if you haven't done so yet), in which a general execution model and an overall stack design was introduced. However, three major topics were either very shallowly discussed or were left untouched. They shall be covered in this post.
Level of AbstractionForth was …

Responsibly Upgraded Your Lisp Machine!

Image
=== ALL USERS PLEASE NOTE =======Compiler optimizations have been made to macro expand LET into a WITHOUT-INTERRUPTS special form so that it can PUSH things into a stack in the LET-OPTIMIZATION area, SETQ the variables and then POP them back when it's done. Don't worry about this unless you use multiprocessing.

Note that LET could have been defined by:
(LET ((LET '`(LET ((LET ',LET)) ,LET))) `(LET ((LET ',LET)) ,LET))
This is believed to speed up execution by …

Syntax Intuitiveness aka IQ Test

Image
A simple and real world lesson on programming language syntax intuitiveness.
Introduction As a polyglot I have coded with dozens of languages, ranging from Lisp and Forth to ML and Java and even Ruby (yes, I confess!). I have seen many programming constructs and syntaxes that hardly anything surprises me (beyond Javascript). Most of the times I can somehow understand a code that is written in a language that I do not know (like Haskell). However, to put an end to my arrogance, the gods pushed me…

A Tale Of King and Evil or How I Made Peace With Ubuntu!

Image
In which I tell how Ubuntu won my trust back.
Once Upon A Time...I used to be a fairly happy Ubuntu user from 2008 to 2011 (shh! I was a faithful FreeBSD and KDE 3 user before that). I could concentrate on my job and my desktop didn't get in my way. I didn't spend any of my time trying to configure things the sane way.
A Kingdom Without An HeirBut things changed by the double blow of Gnome 3 and Unity. Introduced at almost the same time, they ruined my IT life and destroyed my productivi…