<br><br><div class="gmail_quote">2009/7/10 Rick Moynihan <span dir="ltr"><<a href="mailto:rick.moynihan@gmail.com">rick.moynihan@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/7/10 Iain Barnett <<a href="mailto:iainspeed@gmail.com">iainspeed@gmail.com</a>>:<br>
<div class="im">> 2009/7/9 Rick Moynihan <<a href="mailto:rick.moynihan@gmail.com">rick.moynihan@gmail.com</a>><br><br>
</div> SQL is declarative and though<br>
it allows the construction of essentially a single function (the<br>
query) it's lack of HOF's as the means of composable abstraction are<br>
the kicker for me.... </blockquote><div><br>Sub-queries? Some of the SQL extensions, too, allow use of functions as an argument.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
... particularly as it's a key concept in lambda calculus,<br>
which is where all this functional stuff comes from anyway!</blockquote><div><br>I think Haskell Curry and the combinatorics crew might have something to say with you about that! :)<br></div><div> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
</div>If you're thinking in purely declarative terms there is no concept<br>
"run"... But in reality in what way does CSS not run? You can easily<br>
argue that the browser executes CSS to perform a rendering<br>
transformation. It's lack of Turing completeness doesn't prevent it<br>
from being a declarative langauge. If anything it's MORE declarative<br>
than SQL or Haskell, though it's certainly not functional ;-)<br>
<div><div></div><div class="h5"><br>
R.<br>
</div></div></blockquote><div><br>I would put CSS in the same class as SQL's DDL, or datatypes in any other language. It has no functions. But I completely agree, it's definitely declarative.<br><br>Iain <br></div>
</div><br>