Sam T.H.’s Typed Scheme 2.0 is now in SVN and will be available in the first release post 4.2.0.
Tag: Programming Language
Using Units in PLT Scheme
Here is a good example of one way to use Units in PLT Scheme.
2009 Lang.NET Videos Available
Calling it like you see it
Right now, pypy compiled with JIT can run the whole CPython test suite without crashing, which means we’re done with obvious bugs and the only ones waiting for us are really horrible.
– Maciej Fijalkowski
With a good sense of humor, sometime it is ok to explain your status as it truly is :).
Lisp is the smartest way to misuse a computer
Lisp has jokingly been called “the most intelligent way to misuse a computer”. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.
What are syntax-case pattern variables?
I asked here:
syntax-case takes a syntax object as an argument and destructures it via pattern matching into pattern variables.
What are pattern variables composed of?
syntax takes a template, and the pattern variables in it, to produce a syntax object that has the same lexical scoping as that of the pattern variable, so where does that lexical scope get stored?
and then Ryan explained:
The short answer is that syntax objects store scoping information and
that pattern variables have nothing to do with it.
Here’s a longer answer:
A pattern variable is essentially bound to an ellipsis-depth n and syntax object(s). If the pattern variable doesn’t have ellipses after it, then n is 0 and the pattern variable refers to a single syntax object. If it has one ellipsis after it, then n is 1 and there is a list of syntax objects. And so forth.
The ‘syntax’ form is like ‘quasiquote’, except that there is no explicit ‘unquote’; rather, pattern variables are automatically substituted, and the rest of the template becomes syntax object literals (via ‘quote-syntax’) that remember the bindings in scope where they occurred.
So pattern variables, while convenient, are not necessary for writing macros. You could do just the same with ‘quote-syntax’, ‘syntax-e’, ‘datum->syntax’, ‘car’, etc.
Lexical scoping is managed by the syntax objects. The macro arguments already have their lexical contexts embedded in them, and that is preserved as the macro takes them apart and puts them together with new syntax. This new syntax mostly comes from syntax literals.
The essence of the algorithm is explained in “Syntactic Abstraction in Scheme” by Dybvig et al.
Testing SICP Support in PLT Scheme
Neil is looking for folks interesting in testing out a new SICP language pack for DrScheme.
(via PLT)
Masterminds of Programming
Masterminds of Programming looks like it might be a fun book to read based on the few revies on LtU so far.
(via LtU)
Some Commentary on Lang.NET 2009
Ted, seemingly an open-source/Python focused person, shares his thoughts on Lang.NET 2009 here.
Bill's Notes on iPhone App Development
Bill posted a bunch of notes here, that, based on what he said, might be interesting for a beginner.