Working with XML in newLISP

Version 9.3 of newLISP has been released and has new functions to facilitate working with XML. newLISP has had the ability to parse XML data into an association list since version 6.10. 9.3 adds the ability to more easily traverse a parsed document and edit its contents. Read more…

Feb 5th, 2008 | Filed under Programming, Software
Tags: ,

newLISP 9.3 is arriving soon

With version 9.3 of newLISP on the cusp of release, I thought it apropos to discuss some of the improvements to the interpreter. While the buzz is all about FOOP (functional object-oriented programming), I am more interested in some of the new functions supporting nested association lists. Read more…

Jan 31st, 2008 | Filed under Software
Tags:

New website

After a few months of hosting Artful Code at nearlyfreespeech.net, I have moved to webfaction.com and purchased the domain name, artfulcode.net.

nearlyfreespeech.net has many qualities, including a vast array of support for various cgis (including newLISP and OCaml.) However, the fact is that all of that support is contingent on only running web applications via cgi (except for PHP which runs exclusively through mod_php), removing the ability to efficiently automate a website. web faction includes support for Django, Turbo Gears, various PHP frameworks, and some framework in a language called Ruby out of the box.

At any rate, the site has been redesigned and you can expect new posts to resume presently.

Jan 31st, 2008 | Filed under Site news
Tags:

On hiatus

With the birth of my daughter, I have not had much chance to keep up with Artful Code. I apologize to those who read regularly, and I will begin posting new articles as soon as possible.

Jan 14th, 2008 | Filed under Site news
Tags:

Partial application and currying

Currying, known in Python land as partial application, is a technique in which a function taking multiple arguments composes a function that takes fewer arguments (in most languages, reducing to one, although this is not the case in Python) by partially applying it to given parameters. For example, a function, sum, might be used to compose a new function called “plus_one” by currying it with the value of one. The composed function is not evaluated; it is returned as a function object which may then be applied to other parameters. Read more…

Dec 4th, 2007 | Filed under Programming