Code Generation and DSLs in Scheme

Over the years, I have heard some pretty outrageous and tantalizing claims made about the programming language Lisp. For example, “It will change you, forever.” and “You write code that writes code.”. Sadly, no further explanation is ever provided. Perhaps it is impossible to capture the essence of that to which these statements allude? This air of mystery around Lisp is both a blessing and a curse. Some folks will find this aura repugnant; others magical. For me, it was the latter. I wanted in on the secret!
Continue reading “Code Generation and DSLs in Scheme”

What is “real code”?

One common complaint about non-mainstream programming languages is that there hasn’t been any “real code” written in that particular language. One response to this is the Practical Common Lisp book.
Whether or not a MP3 database or a spam filter is “real code” is up for debate. Nonetheless, based on the success of the book, people clearly want to see “real code”.
In your mind, what is “real code”? What is it that you need to see in order to believe that a language can do “real work”?

(F Sharp) An Implementation Of The `Map' Function In F Sharp (.NET)

Here is how map may be implemented in F Sharp. (At the very least, it is my attempt at implementing it!)

You can run this in the interactive shell.

#light;;
let rec my_map fn xs =
    match xs with
    | first::rest -> (fn first) :: (my_map fn rest)
    | [] -> []
;;
my_map (fun x -> x + 1) [1; 2; 3; 4; 5;];;
val it : int list = [2; 3; 4; 5; 6]

F Sharp for the Holidays

F-Sharp in Visual Studio 2008

To help drum up excitement for the recently released Visual Studio .NET 2008 (VS08) at the WI-INETA Holiday Party this year, folks who are passionate about .NET are being encouraged to give 5-minute micro-presentations on new features about which they are particularly excited. One rumor that piqued my interest was that F# would be released as part of VS08.

As it turns out, although F# did not get released with VS08, F# RC 1.9.3.7 is available in the form of a stand alone installer which provides VS08 integration. Installation is fast and easy, and in no time you will be up and running with a powerful functional programming language, a great IDE, and full access to the latest and greatest APIs that Microsoft has to offer. The following is a screenshot with a few niceties highlighted in blue:

[[http://www.flickr.com/photos/21470641@N07/2110080930/][2110080930_9aa8e34e3f_m.jpg]]

Although technically it may fall outside the bounds of the original WI-INETA goal of presenting only on VS08 features, I’m hoping that optionsScalper will return to reprise his role as the local F# evangelist by giving a micro-presentation on F# and VS08.

Enjoy!