Posts

Showing posts from 2016

Update on the Software Languages Book

Deleting this post as it superseded by newer updates.

Scoped global variables in Prolog

It just so happens that I needed global variables in some Prolog code. In fact, I needed more carefully scoped global variables. SWI-Prolog's global variables are really global. (Well, they are thread-scoped, for what it matters.) This is not good, if you need a lot of global variables and maybe even in different parts of an application. An uninspiring approach would be to fabricate global variable names in a manner that they are scoped internally by some name prefix. It was more fun to achieve scope by means of actually using one truly global variable to provide many scoped variables. Here is a demo: ?- logvars:get(myscope, a, X). true. ?- logvars:get(myscope, a, Y). true. ?- logvars:get(myscope, a, X), logvars:get(myscope, a, Y). X = Y . ?- logvars:get(myscope, a, X), logvars:get(myscope, b, Y). true . Here is the code: https://github.com/softlang/yas/blob/master/lib/Prolog/logvars.pro Inlined below: % (C) 2016 Ralf Laemmel :- module

Megamodels of Coupled Transformations

While having fun at UvA in A'dam by means of teaching Haskell in a pre-master summer school, I also manage to walk across the street to see folks at CWI. Will be giving a presentation on coupled transformations and megamodeling. Title : Megamodels of Coupled Transformations Abstract : Many software engineering contexts involve a collection of coupled artifacts, i.e., changing one artifact may challenge consistency between artifacts of the collection. A coupled software transformation (CX) is meant to transform one or more artifacts of such a collection while preserving consistency. There are many forms of coupling—depending on technological space and application domain and solution approach. We axiomatize and illustrate important forms of coupling within the Prolog-based software language repository YAS (Yet Another SLR (Software Language Repository)) while relying on a higher-level predicate logic-based megamodeling language LAL for axiomatization and a lower-level megamo

An updated update on the software language book

Deleting this post as it superseded by newer updates.

Status update on the Software Language Book

Deleting this post as it superseded by newer updates.

Responding to reviews of rejected conference papers

This post is concerned with this overall question: How to make good use of reviews for a rejected conference paper? The obvious answer is presumably something like this: Extract TODOs from the reviews. Do you work. Resubmit. In this post, I'd like to advocate an additional element: Write a commentary on the reviews. Why would you respond on reviews for a rejected conference paper? Here are the reasons I can think of: R1 :  You received a review that is clearly weak and you want to complain publicly . I recommend against this complaint model. It is unfriendly with regard to the conference, the chairs, and the reviewers. If one really needs to complain, then one should do this in a friendly manner by direct communication with the conference chair. R2 : You spot factual errors in an otherwise serious review and you want to defend yourself publicly . There is one good reason for doing this. Just write it off your chest. There is two good reasons for not doing