[dundee] Tiling Window Managers.... XMonad anyone?

Iain Barnett iainspeed at gmail.com
Fri Jul 10 17:20:47 UTC 2009


2009/7/9 Rick Moynihan <rick.moynihan at gmail.com>

>
> I don't think it's splitting hairs at all...  I'd also argue that
> declarative languages like XSLT and SQL, which though similar to
> functional languages aren't because they don't have a representation
> of functions are as a first class data type.
>
> Whilst the features that you list are features commonly found in
> functional languages, the core property that is to my knowledge common
> to all (accepted) functional languages is that functions can
> themselves be treated as values.


Perl has that feature (almost all the FP features, in fact) but wouldn't be
considered an FP language by most. I think the most important feature is the
aim for lack of side effects by keeping most functions pure.

If a function is pure then it could be passed around because it has become a
declaration, and therefore just data, but I don't see that it's necessary
for the language, just a likely by-product.

C#, for instance, also has delegates (which they keep changing the syntax
to, annoyingly for my brain) but it's definitely not FP, more of a
convenient extension. Even LINQ, which is definitely functional, is just
used as a convenient form of abstracting data - the new embedded SQL
statement!

Though they do share the most important feature (by my reckoning), I'm not
sure CSS and HTML should count as anything other than a representation of
data as they can't be "run". But then, isn't that what a well written
functional program (or at least function) is aiming for? Like a dispatch
table, for instance.

> 2 sides of the same coin, that's the way I see it. But I doubt my>
> perspective has anything to do with laziness, I see that as a feature not>
> something I usually care about. Unless you're talking about my academic>
> background. That would certainly lead to hazy definitions.
>
> As I've said before I think they both frequently share a lot of common
> ground and I'd concede that functional programs almost always
> (depending upon purity etc...) have a declarative interpretation, but
> the fact that the reverse isn't always true (for me anyway) means that
> it's worth maintaining the distinction....
>
> Interesting conversation!
>
> R.
>

In the end, I do think you were right to pull me up on it, but it is
interesting to argue the toss. It's made me realise that it is better to aim
for a declarative style in all languages than a functional one, as going
declarative takes care of everything! :)

Iain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.lug.org.uk/pipermail/dundee/attachments/20090710/da917685/attachment.htm 


More information about the dundee mailing list