Re: [stack] a concatenative language for the Semantic Web
"William Tanksley, Jr" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Joe Bowbeer <[email protected]> wrote: > William Tanksley, Jr <[email protected]> wrote: > > > Good point about the stack. Do your code fragments stand alone, or do > > > they > > > communicate via the stack(s)? (If they stand alone, then an enclosing > > > "let" expression could be used in Lisp to define temporary variables.) > > "let" defines bound variables; he's working point-free, which means he > > doesn't use them. > Thanks. I get that. It's as clear to me as if someone wrote "A hammer > drives nails, but he's using a screw driver, so he doesn't need nails." > My question "Do the code fragments stand alone?" is more at "Why use a > screwdriver?" Let me quote from his paper: "Broadly speaking, the goal of this project is to demonstrate that: 1. linked programs have all of the advantages of generic linked data 2. a stack language is like a path language, only better 3. for most linked data purposes, forward traversal is all you need" It could be stated that his goal is to prove by example that a screwdriver is better than a hammer for driving screws :-). But enough of that analogy. On to specifics. His design is, from the ground up (and in the first paragraph of his paper, which I recommend in entirety, BTW) described as taking a "multivalued, pipeline" approach. Scheme, for all its excellent qualities, is not a dataflow language, and is thus not suited for a pipeline approach. Adding in the idea of multiple values (really a clever innovation -- I don't know of anyone else who's done that) makes bound variables even more unlikely to work (one could use generators, like Icon, but that adds a deep nest of unusual semantics). So his idea is basically and fundamentally different from anything Scheme could possibly support. Not a slam against Scheme. He just needed something different in order to prove his point. And his result is indeed very interesting, wouldn't you say? I find Ripple to be in the top 3 interesting concatenative languages. I don't know anything about RDF/Semantic Web, but you bet I'll be learning about it now. > --Joe -Billy