Shriram Krishnamurthi <s...@cs.brown.edu> 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 jw...@draga.com
pgpfgBx67WijH.pgp
Description: PGP signature
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users