Posts

Short note on syntactic sugar

Bran Selic, during his #models13 tutorial on modeling language design, mentioned the notion of "syntactic sugar" in passing, and he sort of stated, as far as I understood, that he isn't too happy with the term, as it seems to belittle those constructs; they are certainly important presumably for those who want to benefit from these constructs, for as long as we assume that the constructs do indeed capture valuable domain concepts. (Sorry if I am getting him wrong.) This got me thinking in that I wanted to hypothesize profoundly why this stuff is called "syntactic sugar". I was always assuming (and I think this is not controversial) that it simply classifies a language construct such that it can be eliminated from the language syntax by "desugaring", i.e., by a syntactic translation to core constructs. Of course, people use the term syntactic sugar in a somewhat more flexible manner. That is, they may also use it for constructs that do require a bit...

An Annotated and Illustrated Bibliography on Software Language Engineering

I am very happy to provide the keynote of OOPSLE  2013 at WCRE (The first workshop on Open and Original Problems in Software Language Engineering). Here is the title, abstract, etc. Looking forward the meeting in October in Koblenz. Greetings from Neustadt a. d. Weinstrasse. Speaker Ralf Lämmel, University of Koblenz-Landau Title An Annotated and Illustrated Bibliography on Software Language Engineering Abstract Given that OOPSLE is about open (and) original problems on software language engineering (SLE), it does make a lot of sense to look back at somewhat closed (and back then) original problems on SLE. Such look into the (rather recent) past will be provided by this talk in the form of an annotated and illustrated bibliography. Annotations take the usual form of a bit of text that is summarizing the work. Illustrations take the form of capturing terms and principle examples in a declarative language such as Prolog or Haskell. The speaker is working on such a bi...

An introduction to language processing

Summary This is an introduction to language processing. We classify components of a language definition. We classify components in language processing. We illustrate language processing for a simple language. The processing components are written in Haskell. Slides Available on  slideshare . Code Available on github . The lecture is heavily code-based. That is, we will understand language processing through Haskell-based examples. Miscellaneous This is a lecture which forms an integral part of my SLE course . I am putting this blog post up as I am guest lecturing at University of Bergen. That is, the lecture feeds into Anya Helene Bagge's SLE course . If you want to share SLE course material, please see the SLECOURSE project .

Probleme bei der bahn.de Online-Buchung

Does anyone know whether bahn.de is on github? I need to file an issue or send them a pull request. Ralf Sehr geehrte Damen und Herren, liebes bahn.de, ich konnte heute ebenso wie etwa vor 3 Wochen nicht mehr online bei bahn.de buchen. (Zwischendurch habe ich nicht weiter probiert sondern bin notfalls auf einen Mietwagen umgestiegen.) In beiden Fällen wollte ich mit meiner Visa-Kreditkarte von der Deutschen Bank bezahlen, die auch in der Vergangenheit funktioniert hat. Bei allen Versuchen erhalte ich am Ende des Kaufs diese Fehlermeldung: Hinweis: Leider kann die Zahlung nicht durchgeführt werden, da die Autorisierung Ihrer Kreditkarte durch Ihre Bank fehlgeschlagen ist. Da der Autorisierungsprozess direkt zwischen Ihnen und Ihrer Bank verläuft, können wir Ihnen nicht den genauen Grund mitteilen. Bitte setzen Sie sich direkt mit Ihrer kreditkartenausgebenden Stelle in Verbindung um zu klären, woran die Autorisierung scheiterte. Ich habe heute ebenso wie vor 3 Wochen das...

Design of a functional programming class

Just arrived in Marburg for Sebastian Erdweg's PhD defense. On this occasion, I will speak about the emerging design of a functional programming class that we will start next semester in Koblenz. It uses and augments the 101companies Project in interesting ways. Regards, Ralf Title: Design of a functional programming class Abstract : In the classic model, the lecturer takes the students through aspects of functional programming (such as list processing, higher-order functions, monads) and provides slides, samples, and other resources to the students, possibly complemented by a textbook recommendation. In the proposed model, a software chrestomathy becomes the primary source of knowledge and center of activity. Relevant programming concepts, language and technology aspects are documented and associated with a rich and organized set of samples including cross-references to external resources such as textbooks, Wikipedia, and other wikis. We are preparing such a course withi...

Surface+Skype=Too much stuff

Dear Skype, thanks for assuring me that you take care of my issue. Great also that you do send this confirmation (see below), in response to the painful support chat you impressively offered. Cleverly, you do not provide any means of updating you on the matter. This is troublesome in so far as I managed to work around the issue and I would prefer to let you know that you please do not change this running system so that I can stop wasting my time on getting the surface working. Anyway, if you run into customers with my issue (such as Microsoft Accounts with confused country/region codes and trouble to merge or unlink skype and microsoft accounts), please get in touch and I might want to do some moonlighting. :-) Thanks, Ralf PS: I do think that the Microsoft Surface RT is pretty impressive, but it looks like the efforts towards identity integration cannot work. In fact, it looks like this platform has amassed so much legacy in terms of identity platforms and constraints and a...

101companies vNext Pre-alpha

Preamble In this post, I work towards  a vision towards 101companies vNext . The version of the vision is Pre-alpha ; thus the title of this post. I am submitting this post as a position paper to  SL(E)BOK @ SLE2012 . Before I start, I want to make sure to list those individuals who have helped me to arrive at this vision: Jean-Marie Favre, Dragan Gasevic, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich. Good news The 101companies community project aims at aggregating and organizing knowledge about software technologies, software languages, and software concepts. The project is getting somewhere in that "interesting" source code is added to the  101repo  continuously and "relevant" technologies, languages, and concepts are added continuously to the 101wiki for the last two years or so. Also, the project starts to "make sense" for teaching and professional education . Further, the project also starts to be "a viable scient...