42 basic OO assignments

Recently, I started to re-wire some mildly used parts of my brains to accommodate capabilities for a 1st year CS course on OO programming and modeling. Long before I joined the faculty in Koblenz, the course had been designed to get students going in (OO) “programming in the small” and “basics of (OO) modeling” as…


Table of contents for “Typed XML programmer” series

Typed XML programmer …   .. Where do you want to go tomorrow? … What are your pains today? … What’s your scale of typing? … Welcome to LINQ! To be cont’d


Java divergence

So here is the long promised paper on the Java case study for grammar convergence. Getting all these huge Java grammars to converge was not easy. We are still learning how to do this properly. We are still working on our transformation language, but we feel the results are good enough to go public now….


About the fundamental notion of software languages

The call for papers for the 1st International Conference on Software Language Engineering (SLE) is public now. I am happy that we did all the work to start this new conference. I am 100% confident in the SLE conference; it’s backed up by a strong and self-confident community that has something to say about generic…


Ana, cata, para, hylo, … – get it right!

Remy notices that I am “linguistically challenged”, or perhaps he meant to say that I should account for alien (use of) English/American vocabulary by injecting more smileys so as to help with distinguishing accidental from intentional fun. I wouldn’t like that as a matter of taste. Instead, I will be working on my “challenge”. Don’t expect…


The combined XSD and C# tutorial of the other kind

My first bet in this post is that XML Schema (XSD) is here to stay for a while. I don’t even think that there is much disagreement about this matter. Regardless of the fact that I am more of a Haskell aficionado than an OO follower, I also bet (in fact, I take for granted)…


XML Schema for Haskell programmers

Most Haskell programmers have a PhD and they don’t mind overly concise notation, but there are times when the combination of Haskell features (monads, GADTs, SYB, forall, exists, rank-2, …) starts to hurt. Then it is time to switch to a more obvious notation that can be understood by human beings and machines equally well….


More Haskell in Java 7 or 8?

So C# (3.0) has lambdas, list-processing functions, some good amount of type inference … hey, who would have thought that mainstream OO programming would get so much less dysfunctional say just 2 years ago. Now Haskell is cool for many reasons other than just plain higher-order functions. Some people are keen of laziness; others think…


Software Language Processing Samples (SLPS)

I am crazy about language processing! It is an excellent way to think deeply about programming, programming languages, metaprogramming, and it is the foundation of automated software engineering. Over the last 15 years or so I have written countless language processing components (parsers, pretty printers, transformations, etc.). Many of them originated in a teaching context….


Getting off the ground with this blog

My static ego (a “plain web site”) has lived for many (?) years now in Amsterdam. Since January 2005 I am with Microsoft at the XML end of things. Since my official title does not sound too impressive (“Program Manager”), I practice another informal title: Grammarware engineer. I am in love with one woman (my…