Lines Matching refs:rl
115 (define (rcar rl . def)
116 (rl-case rl
117 ((snd a bs) (error 'rcar rl))
129 (λ (rl) (rl n n y))))
134 (λ (rl) (rl y y n))))
161 (define (rlen rl)
162 (let loop ((rl rl) (d 0) (dp 1) (n 0))
163 (rl-case rl
164 ((snd tree rl)
166 (loop rl d dp n)))
167 ((fst tree rl)
172 (loop rl d dp n)))
175 (define (rget rl pos def)
176 (let loop ((rl rl) (d 0) (dp 1) (pos pos))
177 (rl-case rl
178 ((snd tree rl)
181 (loop rl d dp posp)
183 ((fst tree rl)
189 (loop rl d dp posp)
203 (define (rset rl pos val)
204 (let loop ((rl rl) (d 0) (dp 1) (pos pos))
205 (rl-case rl
206 ((snd tree rl)
209 (snd tree (loop rl d dp posp))
210 (snd (set tree pos d val) rl))))
211 ((fst tree rl)
217 (fst tree (loop rl d dp posp))
218 (fst (set tree pos d val) rl))))
219 ((nil) rl))))
229 (define (rfold op st rl)
230 (let loop ((rl rl) (st st) (depth 0))
231 (rl-case rl
232 ((snd a rl)
233 (loop rl (rfold-node op st a depth) depth))
234 ((fst a rl)
236 (loop rl (op st a) 1)
238 (loop rl
246 (define (rlist->list rl)
247 (reverse (rfold (λ (pre val) (cons val pre)) '() rl)))