[Home] [By Thread] [By Date] [Recent Entries]
It is perfectly possible to express what ammounts to "sequential
exacution" in an FP language.
Read about Monads (or the Monad type class in Haskell).
Or, as Simon-Peyton Jones once put it, "Haskell is the finest
imperative language"
:)
Notice that operations with side effects can be safely used in an FP
language, given the necessary discipline (in Haskell the language
itself provides syntactic sugar for using Monads). For a known
example, get acquainted in how the XQuery Update Facility is defined
in a way that does not alter the functional nature of XQuery.
--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
On Wed, Mar 24, 2010 at 4:49 AM, Costello, Roger L. <costello@m...> wrote:
> Hi Folks,
>
>
>
> It is my understanding that a key characteristic of declarative programming
> is that statements can be executed in any order, even in parallel. Do you
> agree?
>
>
>
> If yes, then anything which forces sequential processing is, by definition,
> not declarative. Do you agree?
>
>
>
> At the bottom of this message is a variable, namespace-map, which is then
> used by the second variable. The first variable must be created _before_ the
> second variable. Thus, a sequential processing is required and therefore it
> is not declarative.
>
>
>
> Wait. That canât be right.
>
>
>
> Then I canât create building blocks which can be used to create larger
> building blocks. The first variable is a building block that the second
> variable builds upon. Surely, assembling building blocks is important in
> declarative programming?
>
>
>
> What is the right way to think about variables that use other variables? Is
> it bad, from a declarative programming perspective?
>
>
>
> <xsl:variable name="namespace-map"
>
> Â Â Â Â select="document('')/*//f:namespace-map
>
> Â Â Â Â Â Â Â Â [f:input-document/f:namespace=$ns]" />
>
>
>
> <xsl:variable name="use-this-namespace"
>
> Â Â Â Â Â select="$namespace-map/f:output-document/f:namespace" />
>
>
>
> /Roger
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



