[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: RE: Declarative programming requires a different mindset
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@mitre.org> 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] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|