|
Subject: (dsssl) Loop and Data content From: "Javier Farreres de la Morena" <spanish@xxxxxxxxx> Date: Fri, 11 Apr 2003 11:19:22 +0200 |
>From: =?iso-8859-2?Q?Miros=B3aw_Prywata?= <Miroslaw.Prywata@xxxxxxxxxx>
>Subject: (dsssl) simple loop question
>
>I have simple problem with processing node list in loop. I do not know
where
>to put increment condition (finally I comment it out and jade is processing
>only the first element as expected).
Loop is a functional construction. It is the named let.
Scheme works on recursion, not on iteration, but on a special kind of recursion,
final recursion.
Final recursion is that in which the recursive call is the last one to be
executed. It is usually implemented with an accumulator.
Example:
(let loop ((x 10)
(acc 0)
(if (= x 0)
acc
(loop (- x 1) (+ x acc))))
This portion of code executes the sum of values of x from 1 to the initial
value of x. The execution would be:
(loop 10 0)
(loop 9 10)
(loop 8 19)
(loop 7 27)
(loop 6 34)
(loop 5 40)
(loop 4 45)
(loop 3 49)
(loop 2 52)
(loop 1 54)
(loop 0 55)
55
Final recursion is equivalent to iterations, it executes in constant space.
>------------------------------
>From: Ian Zimmerman <itz@xxxxxxxxxxxxx>
>Subject: Re: (dsssl) simple loop question
>
>DSSSL is a functional language, so use recursion instead of iteration,
>or even better, use higher order functions. I haven't checked your
>code for anything else, but this should convey the idea:
Yes, much better use higher order functions. They are supposed to be efficiently
implemented.
>------------------------------
>From: tmcd@xxxxxxxxx
>Subject: Re: (dsssl) simple loop question
>
>>> The following function should proceses current (or given) node
>>> list, wrap character data with <mi>element and process other
>>> elements.
>
>So there is a way to get character data? I was wondering how to
>distinguish the input
> <ltt-name></ltt-name>
>from
> <ltt-name>A name goes here</ltt-name>
In the first case, the grove element will not have content. In the other
case it will have content in form of data-char nodes, one for each letter.
You can obtain the text with the data procedure.
Javi
-------------------------------------------------
Nueva Tiscali ADSL libre www.tiscali.es/libre
¡¡¡ POR SÓLO 16,95 euros al mes !!!
+ tiempo de conexión (0,024 ./min.)
Y cuota máxima garantizada de 39,95 ./mes
AHORA ALTA GRATIS
¡¡¡ Por fin pagas por lo que consumes !!!
-------------------------------------------------
DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: RE: (dsssl) simple loop questi, Miroslaw Prywata | Thread | RE: (dsssl) Loop and Data content, T. Kurt Bond |
| Re: (dsssl) simple loop question, Holger Klawitter | Date | Re: (dsssl) Loop and Data content, tmcd |
| Month |