home mail me! RSS (2.0) feed

Archive for Functional Programming

When (well-intended) interviews fail

DISCLAIMER: this is not a usual, quite dry (did I hear boring? ) exposition of some more or less profound software construct, but quite personal and high-level, in that it talks about job interviews. I had a unique experience today. Not only was it one of very rare occasions when I cold-call somebody for a [...]

Metamagical constructs – from a C perspective

It just struck me how magical certain constructs and idioms must feel like for a “hard core” C developer when entering more abstract and/or functional and/or dynamically bound settings. It is also interesting how many – most? – people living daily in this more “modern” (I should use the word Indirect) world of tools and [...]

Algebraic + abstract = true! (at least in the key of F#)

I earlier wrote about some ideas I had to combine the encapsulation of abstract data types with the swift case analysis plus decomposition of algebraic types. Why not have both worlds? Ok, when looking more into F# – after a few years of trying to stay away from it – I realize that it does [...]

Web server performance shoot out – simple pages

There are some new hot web server frameworks: Ruby on Rails (Ruby), Yaws+ErlyWeb (Erlang) and HAppS (Haskell.) These new frameworks are supposed to facilitate fast development. But, how fast – and scalable – are the applications built in and for these frameworks? The goal of this post is to get a preliminary answer to this [...]

Embedded Lisp – via Lua

A few months ago I had one of those nights where you just do not feel like sleeping. That time, I created an interpreting environment for a mini Lisp in Lua. I call that LuaLisp. DISCLAIMER to all die-hard Scheme fanatics out there: I use the term Lisp losely here, to the extent of including [...]

Erlang – the best or worst of two worlds?

A friend of mine has become an Erlang aficionado lately, and has – deliberately or not – pulled me into Erlang development I had not touched Erlang in a long time but always knew there was something about it that bothered me some twelve years ago. I forgot what, but now remember. This post is [...]

Algebraic + abstract = true?

I had this idea a few weeks ago, of merging the syntactical features of algebraic data types with the implementation freedom of abstract data types. Coming to think about it, I had this idea in 1988, when I created an equational “mathematics” system on top of Prolog. Most people having dealt with declarative languages have [...]

Is your language hot or not?

If one would measure popularity by number of hits on Google, these are the five most popular computer languages: PHP Java C Flash Perl A graph of Google hits, using the query +lang +programming, for some of the most common languages follows. NOTE 1: please inform me if your favorite language is omitted. NOTE 2: [...]

C# 3.0: introducing something almost functional

It is a strong current trend among languages to become more functional. No, not as “actually doing stuff” but in the mathematical sense of the word. I.e., languages more and more treat functions as any other value, and C# is no exception. Before you know it, we might have the expressivity of Lisp anno 1965 [...]

Higher order C#

A few weeks ago, I wrote a simple mini-framework in Java, providing the kind of higher-order functions available to C++ developers. After that, I was asked to hold a short seminar about Higher-Order Functions in a regular OO language by a company Lab49. The languages I chose were Java and C#, which are the languages [...]

Next entries »