Saturday, February 26, 2011

Applied Types

Chris Double is again exploring ATS, a language with a very advanced type system:
ATS did save me from some errors in my larger program that this snippet can be used to demonstrate:
  • The read call must not read more data than the size of the buffer allows.
  • The conversion to a C string in-place means we need to read one less than the size of the buffer.
  • The file must be closed after use.

All these issues resulted in compile time errors. [!]

Thursday, February 24, 2011


This is CPython, the standard Python implementation, compiled from C to JavaScript using Emscripten, running in your browser (without any plugins).
Highly sick.
Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode (which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM) and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).
[So will we run Emacs in X11 in the browser??]

Saturday, February 19, 2011

Wittgenstein for programmers

Harrison Ainsworth's Wittgenstein for programmers is an awesome project. And very quotable:
  • Where a proposition describes the world, a program constructs the imagination.
  • The limits of our programming-languages mean the limits of our imagination.
  • What can be designed at all can be designed precisely. What is unknown we must leave uncoded.

Browsers will let PLs break free from plain text

Programs really aren't plain text. Or they shouldn't be.

But until now there was no way out. OSes come with Ed, and Ed is the standard text editor.

But pretty soon, we'll want to do development in our browsers.

Do we really want to port our 1960's plain text infrastructure to browsers? Surely the answer must be a resounding ``No!''

Reinventing integrated development environments in the browser will make it possible to ditch plain text, and switch to the multimedial representations our programs deserve.


Wednesday, February 16, 2011

Free as in Freedom

Vladimir Sedach just tweeted something dear to my heart:
Arguing that the #GPL is restricting your freedom is exactly the same as arguing that the 13th Amendment is restricting your freedom.

BTW, I'm now also a twit at @msimoni and like to get in touch with all PL enthusiasts out there!

Dear Lazyweb: RMS on namespace management

I remember reading an article about RMS some time ago, where he says that a module system/namespace management for Emacs Lisp is not something he finds important.

I find this interesting because Linus essentially said the same thing wrt C.

If you know which article this is, please be so kind and post it in the comments, or send me a mail. Thanks!