Benjamin Russell posts on learning Haskell through Category Theory here.
There are a lot of books listed. each with a detailed comment by Ben about the material. It looks interesting for folks who want to learn category theory.
Mondo Bizarro
In this thread about a closure puzzler Jens posted Eugene Kohlbecker’s mind-bender called Mondo Bizarro.
;;; Mondo Bizarro
; What does the following program print?
; Why?
(define program (lambda ()
(let ((y (call-with-current-continuation (lambda (c) c))))
(display 1)
(call-with-current-continuation (lambda (c) (y c)))
(display 2)
(call-with-current-continuation (lambda (c) (y c)))
(display 3))))
(program)
Mondo Bizarro seems to have been originally published in ACM SIGPLAN Lisp Pointers, Volume 1, Issue 2 (June-July 1987), located here; but I could not confirm that.
Here is an implementation of it in Java.
The Dylan programming language Wiki
The Dylan programming language Wiki is the motherload for information on Dylan.
The Dylan Resource Guide
I started learning more about Dylan by reading the material listed in the Dylan Resource Guide in comp.lang.dylan. It is true what they say; Dylan and Scheme seem to be very similar. When you take into account what Dylan purports to offer, it sounds very interesting!
Here are some links from the resource guide:
- #dylan on Freenode. Channel logs are supposed to be available here; but were not as of this posting.
- comp.lang.dylan
- The Dylan Language Reference Manual: The “DRM” defines the Dylan language and standard library.
- Dylan Programming: Dylan Programming is a book that teaches how to program in Dylan.
- Gwydion Dylan: Gwydion Dylan is an open source command-line compiler originally developed by Carnegie Melon University as part of their Gwydion project. It is available on several platforms.
- Open Dylan: Open Dylan is an open source IDE originally developed by Harlequin and, later, Functional Objects. The IDE is available for Windows, and the compiler is available as a command-line program for other platforms.
Why the top level is hopeless
Dave explains why the top level in Scheme is hopeless here.
A Scheme Tutorial in Gimp
It is well known that Gimp uses Scheme, but hereis a tutorial on Scheme with Gimp anyway.
The problem of tail calls and security on the JVM
Here are two papers that address the problem of tail calls and security on the JVM:
(via Jens via Debasish)
Profiling in PLT Scheme
Will posted here on how to profile applications in PLT Scheme.
Interesting 2009 ACM SIGs
Sometimes people ask me whether or not an ACM membership is “worth it”. The special interest groups are one reason to join. Here are some that look interesting:
- SIGAPP: Applied Computing
- SIGARCH: Computer Architecture
- SIGART: Artificial Intelligence
- SIGCAS: Computers and Society
- SIGCOMM : Data Communication
- SIGCSE: Computer Science Education
- SIGDOC: Design of Communication
- SIGIR: Information Retrieval
- SIGITE: Information Technology Education
- SIGKDD: Knowledge Discovery in Data
- SIGMOBILE: Mobility of Systems, Users, Data & Computing
- SIGMOD: Management of Data
- SIGOPS: Operating Systems
- SIGPLAN: Programming Languages
- SIGSAC: Security, Audit & Control
- SIGSOFT: Software Engineering
Sugar went on a diet
In one of the recent builds of Sugar for the OLPC XO, I found that “out of the box” the machine barely has enough memory to run programs. Tonight I installed the most recent operating system version, 8.2.0, and found the amount of free memory to be drastically increased:
| Total MB | Used MB | Free MB | |
| Sugar 8.2.0 | 230 | 162 | 67 | Sugar Previous | 232 | 220 | 12 |
With 55MB more free memory, I expect this machine to play a lot nicer with its users!
I used
free -m
to get these measurements.
