archives

Functional and Declarative Programming in Education (FDPE05)

A one day workshop on Sunday, 25 September at ICFP05.

I don't often post CFPs and the like, but since it's been awhile since FPDE02, and since many here have an active interest in these topics, I made an exception.

Links to interesting projects related to FPDE, are more than welcome.

Cellang

The system consists of a compiler for the Cellang cellular automata programming language, along with the corresponding documentation, viewer, and various tools. Cellang has been undergoing refinement for the last several years, with corresponding upgrades to the compiler...

The most important distinguishing features of Cellang, include support for:

  • named constants...
  • any number of dimensions
  • compile time specification of each dimension's size
  • cell neighborhoods of any size (though bounded at compile time) and shape
  • positional and time dependent neighborhoods
...

Well, I did ask for a DSL for cellular automata. Here's one...

Python Challenge

A well done set of Python challenges.

Some solutions can be found here, if you need help getting started...

The Epigram Blog

Epigram, a dependently typed PL, has a blog cleverly titled Epilogue.

Design Philosophy of Distributed Programming in Mozart

From the abstract of Per Brand's Ph.D. thesis,
The Design Philosophy of Distributed Programming Systems: the Mozart Experience, which has just appeared (dated June 2005):

Distributed programming is usually considered both difficult and inherently different from concurrent centralized programming. It is thought that the distributed programming systems that we ultimately deploy, in the future, when we've worked out all the details, will require a very different programming model and will even need to be evaluated by new criteria.



The Mozart Programming System, described in this thesis, demonstrates that this need not be the case. It is shown that, with a good system design, distributed programming can be seen as an extended form of concurrent programming. This is from the programmer's point-of-view; under the hood the design and implementation will necessarily be more complex. We relate the Mozart system with the classical transparencies of distributed systems. We show that some of these are inherently on the application level, while as Mozart demonstrates, others can and should be dealt with on the language/system level.

[...]

The full range of the design and implementation issues behind Mozart are presented. This includes a description of the consistency protocols that make transparency possible for the full language, including distributed objects and distributed data-flow variables.

Applied Type System

Hongwei Xi, creator of DML and Xanadu, the ad hoc dependently typed programming languages, is developing ATS. It has several imporvemens over previous work, including object orientation and safe pointer arithmetic.