[plt-scheme] Re: Poacher turned gamekeeper

From: NevilleDNZ (nevillednz at gmail.com)
Date: Fri Dec 4 07:59:27 EST 2009

Hi Prabhakar Ragde,

On Nov 20, 3:23 pm, wooks <woo... at hotmail.com> wrote:

> Web tutorials for it are hard to come by, and I'll need one (for me
> and the students). Is it safe to use one for ALGOL68 (assuming I can
> find one)?

Algol68 tutorials are available, see below.

Note: Algol60 and Algol68 are very different.

Algol60 is like K&R C without printf, but with thunking.
Algol68 is like C99 with strong typing roid rage, parallel processing
and fully formatted input/output.

There are several Algol 68 implementations available.
Algol68g is 99.99% complete implementation of Algol68 rev1, it
includes a comprehensive transput, and parallel processing.

To download check out:
* http://sourceforge.net/projects/algol68/files/

The current release is available for Windows, RHEL, Centos, Fedora,
Ubuntu and Debian.

The source is there also and will run on OSX/darwin, or anything with
a half decent C compiler, maybe even an iPhone!

The Fedora "full" RPM has been build POSIX threads (Parallel&
Multicore), plotutils, GSL (GNU scientific library), curses, sound,
TCP sockets, RegEx & PostgreSQL;

Whereas the Centos/RHEL "tiny" RPM  it a strict implementation for
Algol 68 (including the PARallel clause) but
external librarys have been (mostly) disabled.  That way "tiny"
install on a Vanilla RHEL/Centos without additional libraries.

At the same repository is Algol68RS retooled to generate C code.  But
it lacks the formatted transput, so print is available, but printf is
missing.

Regarding Algol68 tutorials:
* The algol68toc-1.8-8d.fc9.i386.rpm contains: /usr/share/doc/
algol68toc/pame.pdf
* Marcel's wrote http://sourceforge.net/projects/algol68/files/algol68g/algol68g-1.18.0/a68g-doc.pdf/download

And don't forget: Informal introduction to ALGOL 68‎ by C. H. Lindsey,
S. G. van der Meulen.  It can be easily obtained 2nd hand  from
amazon.com.  Its copyright is held by UNESCO, so you should be able to
get permission to reproduce copies for Educational purposes.  (I am
hoping that it be printable from in Google "espresso" books soon)
Make sure you get the revised version!!

N.B: The actual "Revised Report on the Algorithmic Language ALGOL 68"
a perfect "Language lawyers" document, but it is not so good for using
as a language tutorial. ;-)

BTW: Rosetta Code is a programming chrestomathy site.  And there are
almost 200 Algol68 code samples at RosettaCode.Org already:
* http://rosettacode.org/wiki/ALGOL_68

Moreover there are currently 149 unimplemented code samples to torture
your students with: c.f.
http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_ALGOL_68.

Example Algol68 code samples todo:
http://rosettacode.org/wiki/Closest_pair_problem#ALGOL_68
http://rosettacode.org/wiki/Doubly-Linked_List_(element_insertion)#ALGOL_68
http://rosettacode.org/wiki/Hamming_numbers#ALGOL_68
http://rosettacode.org/wiki/Knuth_shuffle#ALGOL_68
http://rosettacode.org/wiki/Play_recorded_sounds#ALGOL_68
http://rosettacode.org/wiki/Plot_x,_y_arrays#ALGOL_68
etc

I say torture because if students are used to "duck typing" languages
- like python - then Algol68's strong type will be a bit of a shock to
them. Kind of like using a version of "lint" on steroids as a mandated
part of the compiler.

To quote Algol68's report: "0.1.3 Security - ALGOL 68 has been
designed in such a way that most syntactical and many other errors can
be detected easily before they lead to calamitous results.
Furthermore, the opportunities for making such errors are greatly
restricted. "

Good luck
NevilleDNZ
--
For Algol68 mailinglist with archives and subscription follow:
https://lists.sourceforge.net/lists/listinfo/algol68-user
Linux Algol68 rev1 Compiler, Interpreter & Runtime:
http://sourceforge.net/projects/algol68/


Posted on the users mailing list.