Shriram Krishnamurthi <[email protected]> writes: > It depends on what kinds of compilers/interpreters they were trying to > build. A course of study for Fortran would like quite different from > one for ML would look quite different from one for JavaScript (though > there are of course many overlaps).
Indeed -- I found myself in the interesting position here (a financial
firm in NY) over the summer of being offered the chance to provide a
series of puzzles on any theme to a group of talented amateurs (three
junior sysadmins and an intern in an `elite' financial setting), with
the stipulation that the language used be Perl -- what they mostly
needed experience in for their `day job' -- and Perl 5.8.8 (the in-house
default install) at that.
In about a dozen and a half puzzles, I was able to get them through a
quick intro to functional programming followed by step-by-step
construction of a scheme interpreter in the `The Art of the Interpreter'
style.
It was necessarily a rather speedy overview of the subject -- with
out-of-band discussion of how tail-call optimization looks behind the
scenes, macros, and similar more advanced looks at the subject matter
for those who showed interest and followed up on their own -- but it
went pretty well.
I wouldn't recommend Perl as a language for this if we were starting
From scratch, but as a means of broadening the horizons of people who
were already Perl programmers, it went well.
I'd be happy to share the lecture notes / example code from this with
anyone who's interested -- with the understanding that this came
together in a rather ad-hoc style, so I don't promise it's the way I
would do it if I had more time. :-)
--
Jim Wise
[email protected]
pgpfgBx67WijH.pgp
Description: PGP signature
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

