Dear Johannes,
Besides the IPT course, we also teach a course hat used to be called
grammars and parsing. This course is taken before the compiler
construction course. In this course we deal with parser combinators,
datatypes, folds, first and follow, LL(1), and some more stuff, all
in Haskell.
On Wed, 2008-08-20 at 16:03 +0200, Johannes Waldmann wrote:
Hello.
I plan to give a course in compiler construction,
using Haskell as the implementation language
(not as source or target language).
Something along these lines:
1. combinator parsers (Parsec),
2. simple interpreter
I plan to give a course in compiler construction,
using Haskell as the implementation language
(not as source or target language).
Something along these lines:
1. combinator parsers (Parsec),
2. simple interpreter (arithmetical expressions)
3. add algebraic data types, functions
4. type checker
On 08/20/08 11:43, Derek Elkins wrote:
On Wed, 2008-08-20 at 16:03 +0200, Johannes Waldmann wrote:
Hello.
I plan to give a course in compiler construction,
using Haskell as the implementation language
(not as source or target language).
Something along these lines:
1. combinator parsers
chris:
I plan to give a course in compiler construction,
using Haskell as the implementation language
(not as source or target language).
Something along these lines:
1. combinator parsers (Parsec),
2. simple interpreter (arithmetical expressions)
3. add algebraic data types, functions
Hi Johannes,
There is a similar course in Chalmers. The home page is here:
http://www.cs.chalmers.se/Cs/Grundutb/Kurser/progs/current/
There students were required to implement full parser, partial
typechecker and partial interpreter for C++ in either C++, Java or
Haskell. We used BNFC for the
Similar course at UNSW,
http://www.cse.unsw.edu.au/~cs3161/
type checker, type inference and interpreter + proofs.
kr.angelov:
Hi Johannes,
There is a similar course in Chalmers. The home page is here:
http://www.cs.chalmers.se/Cs/Grundutb/Kurser/progs/current/
There students were
Thanks for all the pointers. This is very useful.
On parsers: yes, LL/LR theory and table-based parsers have been
developed for a reason and it's no easy decision to throw them out.
Still, even Parsec kind of computes the FIRST sets?
And - I positively hate preprocessors.
I really want my domain
This has me worried slightly: do you intend to showcase
monads, or do you intend to teach compiler construction?
The subject is Compiler Construction ...
Doing tree traversals via monads would, in OO-Speak,
just correspond to using some Visitor pattern for the AST.
The students know about
On Wed, 20 Aug 2008, Johannes Waldmann wrote:
On parsers: yes, LL/LR theory and table-based parsers have been
developed for a reason and it's no easy decision to throw them out.
Still, even Parsec kind of computes the FIRST sets?
No, it doesn't. That's not actually possible for monadic
Martin Erwig wrote (on a similar course he taught):
* Many students did not know Haskell before, so I had to teach some
Haskell and was forced to avoid some more advanced features, such as
type classes and monads.
Yeah, in my case I know they don't know Haskell...
Still, I trust them to pick
11 matches
Mail list logo