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.
Category: Link
LittleWing pinball
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.
JVM Language Summit
Here is a writeup on the 2008 JVM Language Summit.
(via LtU)
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)
ICFP 08 programming contest results presentation
The ICFP 09 08 programming contest results presentation is here on video.
(via comp.lang.scheme)
Addendum: 04/01/09
Fixed date typo.
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.
When your debugger is just a library
Q. Can you’re debugger just be a library?
A. Seemingly, yes.
Updated: Switching Caps Lock with Control on Windows
See here.
The essence of form abstraction
Abstraction is the cornerstone of high-level programming; HTML forms are the principal medium of web interaction. However, most web programming environments do not support abstraction of form com- ponents, leading to a lack of compositionality. Using a semantics based on idioms, we show how to support compositional form construction and give a convenient syntax.
Formlets are now also part of the PLT Web Server.
(via PLT)