A Visual Interpreter for Students Learning Scheme

Students who know procedural and object-oriented languages frequently have difficulty learning the functional paradigm. The purpose of this work is to facilitate this transition by designing and implementing a set of visual tools that help students understand how Scheme, a functional language, programs work. To achieve our goals we worked on the implementation of a Scheme interpreter and a set of visual tools for different key aspects of functional programming languages. Pilo Visualization Tools for Scheme (PVTS) emphasizes on the functional programming language paradigm and its visual representations. PVTS can be used by teachers as a teaching tool as well as by students as a learning tool.

Slide40 – Presentations with 8-bit style

Slide40 is a program for displaying slide presentations in a style inspired by the personal computers of the late 1970’s. The display mimics a TV screen showing only 40 columns of text in an all-caps font built from big blocky fuzzy pixels. I created it partly as a joke, and partly as a minimalist artistic reaction to the highly-decorative but meaningless presentations made by abusers of modern presentation software.

HOP Web Framework

HOP is a new Software Development Kit for the Web 2.0. It relies a new higher-order language for programming interactive web applications such as multimedia applications (web galleries, music players, …), office applications (web agendas, mail clients, …), ubiquitous domotics, etc. HOP can be viewed as a replacement for traditional graphical toolkits. HOP is implemented as a Web broker, i.e., a Web server that may act indifferently as a regular Web server or Web proxy.

(via comp.lang.scheme)

Commercial Uses of Functional Programming

Commercial Use articles focus on functional programming “as a means, not an end”. As such, we solicit papers about experiences using functional languages in commercial and open source settings. The purpose of a Commercial Use article is to document and assess cases where functional programming was used in a real world setting. We are interested not only in successes, but also in failures. Articles should distill experiences using functional languages so that others can learn from those experiences, whether the lessons learned be technical, organizational, or about the narratives used to make the case to management.

(via CUFP)

Remove .svn files recursively

Today I needed to convert a Subversion working copy (aka a checkout) into an export. Recursively blowing away all of the .svn directories in DOS (Windows XP) didn’t seem to be straightforward so I ended up using UNIX find in cygwin. Here is the command:

find . -type d -name '.svn' -exec rm -rf {} \;

The command was provided here, and the following is documentation from the man page.

  • find :: Execute the find command
  • . :: Path in which to start
  • -type d :: File is of type ’d’, a directory.
  • -name ’.svn’ :: The file name on which to match, .svn.
  • -exec rm -rf {} \; :: Execute this command for every file that is found. The string ’{}’ is replaced by the current file name being processed. The semi-colon is escaped by a backslash. While reading the man page, I also found that you probably should enclose the braces in single quote marks.