ELF@@8@ppD ???4<?=@<@=@<1@==@<@ D@?@40 @ =@B<@5p> @=*@B<@5p> @=,@B<@5p> @=.@B<@5p> @=0@B<@5p> @=2@B<@5p> @=@B<@5p> @= ,@B <@5 9 %9!9 @C@N@H@4p0@`"C@@@~@4p68`8P000p0@@0`0p0P0P0@0Cc@!@?4 7@7@0 0@00000`C R@@@40` " )C F@@8?4 6&88800p0`   00P0` 00 0 P0 p0`0 0 p0 `@C@?w?407`7`7`000`00 0@00P0C@??40",0002C ??>4 6 8 8 8 0000` 0 0 000 `000 @C??,?407`7`7`000`00 0@00P0  #R`0p0P 2 C?j??4PS`0`0p0P0@0000P  C ?X?:?40 " ?000p 2  Cy?=?>46088800 0`0 2  C j?"?h?4 0p00P  00 0 0  0 0 0 p CN??>4@7p7p7p0@0 0`00000P0PCB?>@?40`0p` "S 0P `6 %8 `C)?>{>4`99Q<"?<$?0@00 `0p00000P0  R @0 P C ?>>4R9000p0` "4=?<?0 !O4= ?00`  "4=?00` " 4=?00` 4=?<?0  000 4 =?=><>00  000p 00 6 8 8 "C >P>>4 0`00 4 R 97000 S # 'R % R=>)C >)>Y>4 S00 Q SS0 0 0 Q  00 0 Q  00 0 900< >0  0p00 ( <>D><>400 0000  7@R 7@0000 C>=>4`0 P0@0`  0Cx>=v>400  0@0P0`0  2 Q 0 0 0 0 `C ===4=\><=0  000p  2  Q0 0 0 0 ?Q<<L<O>Q<?S<<N<O>S<=Q<>Q<?U<O<?X<x<S<O>X<?Z<v<U<O>Z<=X<>X<=J<>X<?X<R<?Y<i<T<O>Y<=W<P>V<?X<d?]<i<X<O>]<=[<P>Z<?\<b<W<O>\<?^<`<Y<O>^<=\<>\<=N<>\<?\<V<?[<W<?\<X<?_<M<Z<O>_<=]<P>\<?^<F<Y<O>^<?`<D<[<O>`<?b<B<]<O>b<?d<@<_<O>d<?f<@<a<O>f<?h<@<c<O>h<=f<>f<=X<>f<?f<`<=G<>c<?c<]<=6<>`<?`<Z<=%<>]<?]<W<=<>Z<?Z<T<?[<<V<O>[<?_<<Z<O>_<?a< ?d<?g<N?j<?m<?p<?s<<n<O>s<?u<t?x<?{<<v<O>{<?<<<O><?<<<O><?<?<?<<<O><?<^?<<<O><?<<<O><?<<<O><?<<<O><?<L?<<<O><?<<<O><?<K?<?<<<O><?<<<O><?<<<O><9 'define-module*'guile'sxml'fold'filename' sxml/fold.scm'imports'srfi'srfi-1'exports'foldt'foldts'foldts*' fold-values'foldts*-values' fold-layout'set-current-module'atom?'assq-ref'map'append'assq' *default*'macro'pre'bindings' pre-layout'post'@'no binding available'error'reverse'*text*DLp0X  L"$&'( +4 .d 1 4 7 : =< @ B D< G J L N O R T V "*  ( "" * "*"* (*(*" * **"*"`7A`7`7`7 `7P   EEEEEEEEEE E EEx *PPX<pEPnMXUk ? z H0 x+8z``$@44'p p-EXuX << 5 pD @ {@ P P   L  L           !$ ,4<DL T$h|-/37=   4PT`B $ ,F37L=    4PT`(BQ   $,4F37L= Q=   4hh$|BQ   $,4W\a Wa W W   @T X \`F37=a W=g Wg WW     $ <H xx(    =a W   $ ,4<@ntx / 8D= /  ,048<$D L =           WW  $$(H T4\ ,tx;,  Jh%-Jzd,y0;; /),6$,'w +.] 'zY Y 8h; <,"aJ*Z;h xhJ){ h. iz J h.  pL \\X(P<h7X@LhR D@ VP 8 Dd hL  atom?foldtfoldtsfoldts*fold-valuesfoldts*-valuesassq-reffold-layoutfdownerrcont-with-tagfupfhereclosureboxargtmpmodulenameunspecifiedxvalfupfheretreekidfdownseedkseedproclistseedskseedsalistkeydefaultbindingsparamslayoutstylesheettailpcontretnew-bindingsnew-layoutcontargstagold-layoutkidskbindingskcontkparamsklayoutkrettlayouttretThe standard multithreaded tree fold. @var{fup} is of type [a] -> a. @var{fhere} is of type object -> a. The single-threaded tree fold originally defined in SSAX. @xref{sxml ssax,,(sxml ssax)}, for more information.A variant of @ref{sxml fold foldts,,foldts} that allows pre-order tree rewrites. Originally defined in Andy Wingo's 2007 paper, @emph{Applications of fold to XML transformation}.A variant of @ref{SRFI-1 Fold and Map, fold} that allows multi-valued seeds. Note that the order of the arguments differs from that of @code{fold}.A variant of @ref{sxml fold foldts*,,foldts*} that allows multi-valued seeds. Originally defined in Andy Wingo's 2007 paper, @emph{Applications of fold to XML transformation}.A traversal combinator in the spirit of SSAX's @ref{sxml transform pre-post-order,,pre-post-order}. @code{fold-layout} was originally presented in Andy Wingo's 2007 paper, @emph{Applications of fold to XML transformation}. @example bindings := (...) binding := ( ...) | (*default* . ) | (*text* . ) tag := handler-pair := (pre-layout . ) | (post . ) | (bindings . ) | (pre . ) | (macro . ) @end example @table @var @item pre-layout-handler A function of three arguments: @table @var @item kids the kids of the current node, before traversal @item params the params of the current node @item layout the layout coming into this node @end table @var{pre-layout-handler} is expected to use this information to return a layout to pass to the kids. The default implementation returns the layout given in the arguments. @item post-handler A function of five arguments: @table @var @item tag the current tag being processed @item params the params of the current node @item layout the layout coming into the current node, before any kids were processed @item klayout the layout after processing all of the children @item kids the already-processed child nodes @end table @var{post-handler} should return two values, the layout to pass to the next node and the final tree. @item text-handler @var{text-handler} is a function of three arguments: @table @var @item text the string @item params the current params @item layout the current layout @end table @var{text-handler} should return two values, the layout to pass to the next node and the value to which the string should transform. @end table .guile.procprops.rodata.data.rtl-text.guile.frame-maps.dynamic.strtab.symtab.guile.arities.strtab.guile.arities.guile.docstrs.strtab.guile.docstrs.debug_info.debug_abbrev.debug_str.debug_loc.debug_line.shstrtab