X# Functional Programming from Microsoft?
TheSync writes "SearchWebServices.Com has an article claiming that Microsoft is working on a functional language named 'X#'. The language is supposed to be data-oriented and LISP-like, but set up to handle XML."
"You can't just import an XML file and magically have it available to your program. You have to first put it through some sort of transformation, which requires work that is unnatural or unwieldy." -- Sean McGrath
yes you can
-
ping -f 255.255.255.255 # if only
X# sounds like it is trying to achieve some of the goals of the Water language (Water posting on Nov 22, 2002.) Given that XML standards are used for defining APIs, data types, data, RPC, and presentation, it only seems logical to extend XML to handle general purpose logic. Working with XML from Java feels like writing a Java program using C libraries -- everything is a foreign call.
I am highly skeptical of things like this because it seems to just be microsoft attempting to control an xml based data language as a reaction to a similar open language, xquery, being developed by the w3c.
What you want to look at for processing XML in a "lisp-like language" (Scheme) is SXML and its related packages (SXPath, etc.)
These are packages for manipulating and representing XML content in Scheme programs.
XML can be seen as a syntax tree, right? XSL and its friends are tree manipulation tools.
The same can be said for Lisp and Lisp-like languages, whose "program as data" philosophy (and 35 years of history) focuses on program evaluation as tree transformation and manipulation (through nested lists.)
SXML is a translation of XML from its heavy angle-bracket syntax to a Scheme sexpr (Scheme/Lisp's bracket expression syntax) syntax (and back to XML again.) It's extremely powerful.
It's worth looking at if you spend large amounts of time manipulating XML data.