Wednesday, September 1, 2010

Taking another look at supporting Amazon Web Services.

I'm taking another look at supporting Amazon Web Services (AWS) with the next release of Irie Pascal.

So far (fingers crossed) things are looking good, I haven't seen anything that will make it really difficult to support AWS. I did discover that parts of Amazon S3 (the main AWS storage service) use something called "eventual consistency", which is a new concept for me. I will have to let this roll around in my head for a while before I know whether or not "eventual consistency" is going to be a problem. I found this article, Read-After-Write Consistency in Amazon S3 that explains the concept.

I'm excited about supporting AWS because it could make it easy and cheap to host applications built using Irie Pascal. Right now, it can be a little difficult to find a hosting company that will host Irie Pascal applications (unless you get a dedicated server).

Anybody out there, have any experience with AWS?

Friday, August 27, 2010

Irie Pascal 3 - August Progress Report

The new IDE
 The design work and the coding to change the current IDE, which is designed for compiling Pascal programs, into the new IDE, which is designed for creating websites (powered by Pascal programs), is going well. The core changes have already been made, the new IDE can:
  1. Create a new website.
  2. Open an existing website.
  3. Create a new file.
  4. Open an existing file.
The next big change is to add support for creating web pages (using Jump templates).

The new compiler
Some of the new compiler features, that I've been writing about, won't make it into the next release. The new release is taking much longer than I thought it would, so I will have to leave out some things. For example, support for Unicode, and support for compiling multi-module programs, will have to wait for a later release.

The idea is to focus the next release on making the transition from a Pascal programming tool into a website development tool, while making as few changes to the compiler as possible.

Until next time.

Tuesday, April 13, 2010

Irie Pascal 3.0. Adding support for multi-module programs.

I'm currently working on adding support for writing multi-module programs. I've decided to support the Object Pascal syntax for this. If you're not familiar with this syntax (with UNITs and USES clauses) then please see chapter 3: Programs and Units in the Object Pascal Language Guide for a look at this syntax.

NOTE: Irie Pascal will NOT be able to use most units written for other compilers, and I am NOT planning to create units for Irie Pascal that are similiar to units available for other compilers.

I am planning to make sure that the units supplied with Irie Pascal don't have the same names as units available for other compilers (maybe I'll prefix the Irie Pascal unit names with "Irie"). So I'm leaving the door open for someone else to write units for Irie Pascal that are similiar to units available for other compilers. I'm not going out of my way to make Irie Pascal incompatible with other compilers (I don't like it when vendors do that), but I'm not making any heroic efforts to make it compatible either.

I'm adding a linker.
Right now, Irie Pascal doesn't use a linker, instead the compiler just generates executables directly from the source files. This is not difficult, because Irie Pascal builds each program from a single module, but building programs from multiple modules is much more complicated so I've decided to build programs in two phases.
  1. A compile phase. In this phase the compiler generates intermediate object files from the source files.
  2. A link phase. In this phase the linker generates an executable object file from all of the intermediate object files in the project. 
Adding support for multi-module programs

Already done
  1. Design a new object file format. All of these changes to Irie Pascal mean that a new object file format is necessary.
 To be done
  1. Switch over to the new object file format. Which means updating Irie Pascal to compile existing (single-module) programs in two phases and generate files in the new format).
  2. Test the updated Irie Pascal.
  3. Add syntax-only support for multi-module programs (i.e. update Irie Pascal to recognize the new multi-module syntax but don't generate any code for it yet).
  4. Gradually add full support for multi-module programs (i.e. gradually start generating code for each piece of the new multi-module syntax).
  5. Add new programs to the Irie Pascal test suite (to test the new syntax).
  6. Done.

Irie Pascal 3.0. Added support for HTMLHelp.

Work on the next release of Irie Pascal is continuing.

I have finished adding support for HTMLHelp (the newer Windows Help format that replaces WinHelp). Irie Pascal now includes both WinHelp and HTMLHelp versions of the online help manuals. The HTMLHelp versions are used when Irie Pascal is run on Windows 2000 or later, while the WinHelp versions are used on earlier versions of Windows.

Monday, February 22, 2010

A web programming section has been added to the new Irie Tools website.

I just finished adding a new secton to the new Irie Tools website:

Irie Pascal web programming

Ok, this "new" section is not really new (it's just a slightly updated version of the Common Gateway Interface (CGI) section from the old website), but it's still a good introduction to CGI.

Thursday, February 18, 2010

The new Irie Tools website is live.

All of the new pages were created with Jump (the web template technology I've been working on), and so far so good. I'm now going to use Jump to redo some more pages from the old website. This time I'll redo the pages about web programming with Irie Pascal, using the Common Gateway Interface (CGI).

The new website is still at: (I've just added some new pages and updated some of the existing ones).

Friday, January 15, 2010

New look for

I've been working on a new look for the Irie Tools website. I have a demo of what the new front page will look like at the address below. Please note that only this page has been done, so the links on this page either don't point anywhere or they point at old content that will be removed or updated.

Address of new page:

This is actually my second try at creating a new look for the Irie Tools website. I got some very useful feedback from my first try, which I've used to make a second attempt.

What do you think about the new page?