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.

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:

  1. SIGAPP: Applied Computing
  2. SIGARCH: Computer Architecture
  3. SIGART: Artificial Intelligence
  4. SIGCAS: Computers and Society
  5. SIGCOMM : Data Communication
  6. SIGCSE: Computer Science Education
  7. SIGDOC: Design of Communication
  8. SIGIR: Information Retrieval
  9. SIGITE: Information Technology Education
  10. SIGKDD: Knowledge Discovery in Data
  11. SIGMOBILE: Mobility of Systems, Users, Data & Computing
  12. SIGMOD: Management of Data
  13. SIGOPS: Operating Systems
  14. SIGPLAN: Programming Languages
  15. SIGSAC: Security, Audit & Control
  16. 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.

Cross-compiling Java to Objective-C for the iPhone

It seems that you can cross compile Java to Objective-C on the iPhone. I didn’t dig any deeper than that.
Here is the blurb for the technologies used:

The goal of XMLVM is to offer a flexible and extensible cross-compiler toolchain. Instead of cross-compiling on a source code level, XMLVM cross-compiles byte code instructions from Sun Microsystem’s virtual machine and Microsoft’s Common Language Runtime. The benefit of this approach is that byte code instructions are easier to cross-compile and the difficult parsing of a high-level programming language is left to a regular compiler. In XMLVM, byte code-based programs are represented as XML documents. This allows manipulation and translation of XMLVM-based programs using advanced XML technologies such as XSLT, XQuery, and XPath.

Apple’s iPhone has generated huge interest amongst users and developers alike. Like MacOS X, the iPhone development environment is based on Objective-C as the development language and Cocoa for the GUI library. The iPhone SDK license agreement does not permit the development of a virtual machine. Using XMLVM, we circumvent this problem by cross-compiling Java to the iPhone. Just like a Java application can be cross-compiled to AJAX, XMLVM can be used to cross-compile a Java application to Objective-C. The cross-compilation is also accomplished by mimicking a stack-based machine in Objective-C. Consider the instruction (integer remainder) that pops two integers off the stack and pushes their remainder after division back onto the stack. Using the following XSL template, the instruction can be mapped to Objective-C.

(via the PLT Mailing List)