Nimrod Programming Language

While reading the reddit programming section the other day I read about a new programming language named Nimrod. It looks pretty cool. I ran through the first tutorial to check it out. On Nimrod’s web site it states that Nimrod is a language which combines Lisp’s power with Python’s readability and C’s performance.

I like what it combines and thought of Amiga E since Amiga E combines three different languages, Lisp, Ada and C++. There is plenty of documentation to get you started and it sounds like a fast language. So you might check it out at the Nimrod web site.

Testing Amiga E in Windows

I was able to start on some basic code the other day that I plan on posting, but I was asked to test PortablE for Windows. So that has been taking my time lately. I have been testing the new version of PortablE in Windows Vista and Windows XP. Things are going very well with just minor problems that Chris is taking care of.

I needed a C++ compiler for Windows because after PortablE does it’s job with the Amiga E code, then you have to use a C++ compiler to compile your .cpp file that PortablE creates for you. I decided I would like to have gcc. The best and easiest I found was Minimalist GNU for Windows or MinGW. This installed without problems in Windows XP, but with Vista it had a problem with placing the additions to PATH. In Vista just right click on “Computer”, go to “Properties”, on the left navigation click on “Advanced System Settings”, then click on the “Environment Variables…” button. At the lower portion of this window you will see “System Variables”. In that list is “Path”. Highlight this and click “Edit…”. This is where you need to add c:\mingw\;c:\mingw\bin;c:\mingw\libexec\gcc\mingw32\3.4.5\ to the end. This should allow you to run g++ from anywhere in the command line in Windows Vista.
Once I had g++, I was able to start testing my Amiga E programs created with PortablE!

Yesterday

With a title like that you expected me to break into a Beatles song didn’t you? Haha, that was the first thing that popped into my mind. Well yesterday I started brushing up on my Amiga E programming again. I started reading through Jason R. Hulance’s excellent beginner’s guide to Amiga E. You can find that here.
I also talked to Chris Handley a little about the next version of PortablE. I can’t say much about it at this point, although the major improvement is support for Windows. This will make it even more accessible to the masses.
I’ll try to post some Amiga E code in my next post. Just some basic stuff, but it may be interesting to people who haven’t done much with it.

Back to Code

It is hard to believe a year has gone by, but I have been busy with my writing mostly in what spare time I have. I have been keeping up with what is happening in the coding world, but not really doing anything but reading news. The AmigaE irc channel is still running and I am there almost everyday except weekends.

So I have missed playing with code lately, especially PortablE. So I started reviewing the stuff I was working on last year. I plan to keep teaching myself AmigaE using PortablE. I still read Common Lisp news too, but my main focus will be on PortablE. Nothing against Common Lisp, I just feel much more at home with PortablE. Hopefully this blog will start seeing more action as I plug away at PortablE again.

Language Interpreter in PortablE

I’m sure you have noticed by my posts that I’ve been on an Amiga E language binge. More specifically I am using PortablE by Chris Handley, which I have already posted about. I’m writing PortablE code using the AROS operating system.

Chris asked me what I would like to write in PortablE. I told him how I have always wanted to learn how to create my own programming language, but I needed more experience. He basically said I should just start trying to do it and learn that way. Chris has actually taken me under his wing and has been helping me with it. I am blessed that he has taken the time to help me with this. I cannot thank him enough.

So, Chris took his knowledge of parsers and wrote a very simple toy interpreter in PortablE. We have been calling it the toy interpreter for now. He sent it to me and explained that it could only parse a PRINT command in a file named code.txt. You could only print numbers with it. This gave me a great starting point. I studied the code carefully. I had to look up many statements, because I didn’t know the PortablE language yet. But it turned out to be a very good learning experience.

Chris commented the code well too. This helped me while tracing through the code trying to figure out what it was doing.

My next challenge was to make the interpreter understand how to print a string and not just a number. I studied the interpreter code many times and finally realized what I needed to change to make it print a string. I had an old code file of the toy interpreter that Chris had sent me to compare to see if I was correct in my thinking and I was. Chris has made some adjustments to improve the code as we have worked our way through this. He plans to include the toy interpreter as an example when he officially releases PortablE.

Of course this is just a start and I have many more features to add to this. I plan to keep making additions to the interpreter and expand my learning experience even further. I am really enjoying the PortablE/Amiga E style of programming.

If your reading this thinking, “what about Lisp?”. I haven’t quit using Lisp. I plan to split my time between PortablE and Common Lisp. I think my experience so far with this interpreter will help me when I try to write parsers in Common Lisp. I’m feeling very comfortable about concentrating on these two languages. Besides Lisp, I have been trying out many different languages in the past six months and I feel like I have finally settled on these two languages.

What’s that? You want to see what PortablE code looks like? No problem at all. Here is the code for the toy interpreter so far. I’ll provide it as a link since it is too long to post. This code has parseLET() included, but I have not worked with it yet. I was concentrating on the PRINT command first.

Interpreter.e

Amiga E IRC Channel

I have been pleasantly surprised with the activity of the new Amiga E programming channel on Freenode at #AmigaE. In the past three days, I’ve had Leif Salomonsson, developer of ECX in the channel. Chris Handley, developer of PortablE in the channel. Tomasz Wiszkowski, developer of CreativE in the channel.
Then tonight, the creator of Amiga E, Wouter van Oortmerssen logged into the channel! I was elated! I have been a fan of Wouter’s for a long time. You can find his web site in my blogroll in the right navigation. He is definitely my favorite programmer. So it was a pleasure to see him in the channel and chat with him for a bit.

« Previous PageNext Page »