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:

ExpressSamples

https://github.com/ajlopez/ExpressSamples

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

https://github.com/ajlopez/AprendiendoJava

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

SimpleForth

https://github.com/ajlopez/SimpleForth

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.

ObOps

https://github.com/ajlopez/Obops

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.

Mass

https://github.com/ajlopez/Mass

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:

https://github.com/ajlopez/Mass/blob/master/Src/Mass.Core/modules/assert.ms

First tests:

https://github.com/ajlopez/Mass/blob/master/Src/Mass.Core.Tests/MachineFiles/Assert.ms

Additional modules will be hosted in NPM.

Talk Intro to Python

I started to write my next talk presentation:

https://github.com/ajlopez/TalkPythonIntro

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.

SimpleGrammar

https://github.com/ajlopez/SimpleGrammar

I had the idea of write a PEG (Parsing Expression Grammars) in JavaScript, see https://github.com/ajlopez/SimpleParser (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…)

GrammGen

https://github.com/ajlopez/GrammGen

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

https://github.com/ajlopez/TddOnTheRocks/tree/master/Python/Calculator

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

AjLisp in Python

https://github.com/ajlopez/AjLispPython

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:

https://github.com/ajlopez/AjLispPython/commits/master

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

A lot of fun ;-)

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

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:

WordPress.com Logo

You are commenting using your WordPress.com 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 Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 56 other followers

%d bloggers like this: