dstelow notes…

links for 2009-12-15

leave a comment »

  • Turn a modest all-in-one PC into a digital entertainment center complete with HDTV, DVR, Blu-ray, wireless high-quality audio and more for under $1,000.
  • Lisp programmers have long used macros to extend their language. Indeed, their success has inspired
    macro notations for a variety of other languages, such as C and Java. There is, however, a paucity of
    effective pedagogic examples of macro use. This paper presents a short, non-trivial example that implements
    a construct not already found in mainstream languages. Furthermore, it motivates the need
    for tail-calls, as opposed to mere tail-recursion, and illustrates how support for tail-call optimization
    is crucial to support a natural style of macro-based language extension.
  • This is fairly innocuous in C#, as extension methods only allow you to add new functionality to classes, not override, remove, or replace anything.
    But imagine if you could.
    Well, that's exactly how it is in other, more dynamic languages such as Javascript, Python, Perl, and Ruby. Something as prosaic as C# extensions is old hat to these folks. In those languages, you could redefine everything in the String class if you wanted to. This is commonly known in dynamic language circles as monkeypatching.
Advertisements

Written by dstelow

December 15, 2009 at 11:03 pm

Posted in 1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: