Angel \”Java\” Lopez on Blog

June 23, 2013

End Of Iteration 2013w25

It’s the end of my personal weekly iteration on programming. Today, I started to write down an “end of iteration” post. My public work:


I updated the samples, and started to write some test, to learn how it could be tested. For me, it is an exploration spike, but it’s time to learn how to write Express applications using TDD. The below example uses MongoDB:

Learning Java

My GitHub pages in Spanish. I updated the intro page:


I updated my Forth-like compiler to JavaScript. It’s in a good state, written using TDD. Inspired by project fjs, it’s an idea I had for years: write a Forth intepreter. Now, this project is a compiler. After writing CobolScript compiler, I have the resources to write a Forth one. The primitives are not the same, i.e., the operators are the JavaScript ones. I hope to add interaction with host language (JavaScript, Node.js) and async call support.


Operators for .NET objects. I had to write this project to give support of arbitrary objects operators. In other projects, I use Microsoft.VisualBasic.CompilerServices, but apparently there is no support in Mono for such methods. For now, I have binary arithmetic and compare operators implemented. It is used in Mass programming language. I relies on code generation via AjGenesis, to avoid to write all the type combinations.


I added the new operators from ObOps, and now the project should compile in Mono. I did a big refactor: change the scope rules, to adopt a JavaScript-way using var and function hoisting. Thanks to TDD, the refactor ran smoothly.

There is an assert module, to start writing Mass using TDD:

First tests:

Additional modules will be hosted in NPM.

Talk Intro to Python

I started to write my next talk presentation:

Only two slides ;-). But it was a good user experience, my first time using Reveal.js. Good support for markdown and code highlighting. No preprocessor needed, simply write the HTML file.


I had the idea of write a PEG (Parsing Expression Grammars) in JavaScript, see (there are links). But I started this new project, realizing that my previous lexers and parsers are faces of the same coin. Now, I have a generic parser, based on rules that detect parts of the code (integers, string, names, etc…)


Before SimpleGrammar, I started a C# project, having a generic lexer/tokenizer and a generic parser. But after my experience with SimpleGrammar, I refactored the code to have a generic parser with detection rules.

TDD in Python

My first Python experiment using TDD, using simple import unittest.

AjLisp in Python

After my first experience with unittest and Python, I started to write a new version of AjLisp, this time in Python. It is WIP, you can see my commit by test at:

I’m using Python 3.3 on a Windows 8 machine.

A lot of fun ;-)

Keep tuned!

Angel “Java” Lopez

1 Comment »

  1. […] Previous Post […]

    Pingback by End Of Iteration 2013w26 | Angel "Java" Lopez on Blog — July 1, 2013 @ 9:03 am

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

The Shocking Blue Green Theme. Create a free website or blog at


Get every new post delivered to your Inbox.

Join 70 other followers

%d bloggers like this: