Scratch Programming

Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.
Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create and share Scratch projects, young people learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.

I wonder how this compared to PLT Worlds.
(via plt)

Tail Recursion is a Brain Hack Not a Compiler Hack

A few months ago this last-in-a-thread-of-posts generated a lot of buzz. In it, the creator of the Python programming language shared his views about how tail-recursion does not belong in Python. The only problem with the post(s) was that he, admittedly, did not understand tail-recursion. This course of events, the blog posts, comments, and aftermath, were interesting in what they revealed:

  1. How one person can affect how so many think
  2. How tail-recursion is so misunderstood within the developer community

The first, of course, is the prerogative of any BDFL. It is sort of fascinating how the edict that he set forth is enough to convince thousands and thousands of Pythonistas that tail-recursion is flawed and unnecessary (that is power!). That is sad, but, it is a privilege of the role. The interesting part is the impact of never understanding tail-recursion (#2): it removes an entire style of abstraction from the developers toolbox.
Here are 3 works that explain that style:

  1. LAMBDA: The Ultimate Imperative
  2. LAMBDA: The Ultimate GOTO
  3. Automata via Macros

I haven’t found any other resources than those and Jon’s post here (see the last section) that touch upon the style. Do you know of any others?

The Difference Between Undergraduate and Graduate School

Today during lunch my friend told me that the difference between undergraduate school and graduate school is that in undergraduate school the teachers are responsible both for telling you what you need to know and teaching it to you, but in graduate school they are only responsible for the former.
What do you think?

How Small Can a Scheme Implementation Be?

How small does it have to be? Chibi Scheme does syntax-rules in 174 lines of Scheme, layered over explicit renaming. Indeed, Chibi does essentially all of R5RS in 4822 lines of C + 708 lines of Scheme.

— John Cowan
Scheme 9 from Empty Space is also very small from what Nils said.
(via this thread in r6rs-discuss, I have the email but can not find the archive of it)

Coding for Humans: Annotated Code View in an IDE

Here is a post where Jordan explains what he wants to accomplish in the DrScheme IDE; basically he wants to be able to customize code in the IDE by annotating it, allow the annotations to be displayed only, while having the code run in mzscheme as expected.
Here is a screencast that he made which demonstrates his goal.
Very interesting!
(via plt)

Google Android's Teaching Platform Built on Scheme

[W]e hope to do the following:
* Make mobile application development accessible to anyone.
* Enhance introductory learning experiences in computing through the vehicle of Android’s open platform.
* Encourage a community of faculty and students to share material and ideas for teaching and exploring.

Part of our development environment is a visual programming language similar to Scratch. The visual language provides a drag-and-drop interface for assembling procedures and event handlers that manipulate high-level components of Android-based phones.

We parse the visual programming language into an S-expression intermediate language, which is a domain-specific language expressed as a set of Scheme macros, along with a Scheme runtime library.

(via Google[2] via Google[1] via PLT)

R6RS Chez Scheme 7.4D and TSPL4 Now Available

A R6RS conformant Chez Scheme 7.4D and TSPL4 now available.
Surprised?! I was. I hadn’t heard anything either. Anywhere. From anyone.
Yesterday though, I saw Aaron (dedicated Chez user) posting about R6RS ports here and Eduardo mentioned TSPL4’s availability here here.
Addendum: 08/04/09
The TSPL4 link is broken, but was not at the time of posting. Since the hardcopy hasn’t been released yet, I suspect that the link will be down until the hard copy is released.
Addendum: 08/08/09
The link is back up.
FWIW: I didn’t think it was worth bothering Kent by asking about why it was down in the first place.