archives

Io

It seems everyone on the web is talking about the language Io at the moment. I wonder what started this... Anyway, lest we be left out of the fun, please share your impressions if you experimented with Io.

Computer Science Education: Where Are the Software Engineers of Tomorrow?

A short article by Robert Dewar and Edmond Schonberg. The authors claim that Computer Science (CS) education is neglecting basic skills, in particular in the areas of programming and formal methods. We consider that the general adoption of Java as a first programming language is in part responsible for this decline, but also explain why - in their opinion - C, C++, Lisp, Ada and even Java are all crucial for the education of software engineers.

Call-by-value Termination in the Untyped Lambda-calculus

From Arxiv:

A fully-automated algorithm is developed able to show that evaluation of a given untyped lambda-expression will terminate under CBV (call-by-value). The ``size-change principle'' from first-order programs is extended to arbitrary untyped lambda-expressions in two steps. The first step suffices to show CBV termination of a single, stand-alone lambda-expression. The second suffices to show CBV termination of any member of a regular set of lambda-expressions, defined by a tree grammar. (A simple example is a minimum function, when applied to arbitrary Church numerals.) The algorithm is sound and proven so in this paper. The Halting Problem's undecidability implies that any sound algorithm is necessarily incomplete: some lambda-expressions may in fact terminate under CBV evaluation, but not be recognised as terminating.
The intensional power of the termination algorithm is reasonably high. It certifies as terminating many interesting and useful general recursive algorithms including programs with mutual recursion and parameter exchanges, and Colson's ``minimum'' algorithm. Further, our type-free approach allows use of the Y combinator, and so can identify as terminating a substantial subset of PCF.

To renew the discussion on Total Functional Programming, this paper is an alternative to Termination Checking with Types.

ANN: Final Call for Speakers - Code Generation 2008

Just ten days to go before the deadline for speaker proposals for June's CG2008 conference to be held in Cambridge, UK...

Accepted speakers have their full fees waived for the three days of the conference. CG2008 keynotes will be Steve Cook (Microsoft) and Bran Selic (Malina Software) and many well-known names in the modelling and CG communities are expected to participate.

Final Call for Speakers
Submission Deadline - Friday January 18th 2008

We are seeking high-quality session proposals covering topics in model-driven software development (including Domain-Specific Languages, Model-Driven Architecture, Generative Programming, Software Product Lines and related areas). Sessions could cover topics such as:

- Tool and technology adoption
- Code Generation and Model Transformation tools and approaches
- Defining and implementing modelling languages
- Domain Analysis and Domain Engineering
- Language evolution and modularization
- Meta Modelling
- Runtime virtual machines versus direct code generation
- Model-to-Model Transformation

Real-world case studies based on any aspect of these and related approaches are particularly encouraged although more theoretical sessions are also welcome.

Visit http://www.codegeneration.net/conference/speak.php for more information and to make a session proposal.

CG 2008 is organised by Software Acumen and supported by IASA.

Prediction for 2008

So, what are your prediction for 2008? Naturally, we are only interested with predictions related to programming languages...

Three types of predictions are thus in order: (1) Predictions about PLT research (direction, fads, major results) (2) Predictions about programming languages (whether about specific languages, or about families etc.) and (3) Predictions about industrial use of languages/language-inspired techniques (adoption, popularity).