1#!/usr/bin/env swipl
6
7:-style_check(-discontiguous). 8:-style_check(-singleton). 9:-use_module(library(wamcl_runtime)). 10
11/*
12;;; Copyright (c) 1984, Taiichi Yuasa and Masami Hagiya.
13*/
14/*
15;;; Copyright (c) 1990, Giuseppe Attardi.
16*/
17/*
18;;;
19*/
20/*
21;;; This program is free software; you can redistribute it and/or
22*/
23/*
24;;; modify it under the terms of the GNU Library General Public
25*/
26/*
27;;; License as published by the Free Software Foundation; either
28*/
29/*
30;;; version 2 of the License, or (at your option) any later version.
31*/
32/*
33;;;
34*/
35/*
36;;; See file '../Copyright' for full details.
37*/
38/*
39;;; defines SYS:DEFMACRO*, the defmacro preprocessor
40*/
41/*
42(in-package "SYSTEM")
43
44*/
45
46/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:505 **********************/
47:-lisp_compile_to_prolog(pkg_user,['in-package','#:system'])
48/*
49% macroexpand:-[in_package,system1].
50*/
51/*
52% into:-[eval_when,[kw_compile_toplevel,kw_load_toplevel,kw_execute],[sys_select_package,'$ARRAY'([*],claz_base_character,"SYSTEM")]].
53*/
54:- do_when([kw_compile_toplevel, kw_load_toplevel, kw_execute],
55 f_sys_select_package('$ARRAY'([*], claz_base_character, "SYSTEM"),
56 _Ignored),
57 _Ignored).
58/*
59(eval-when (compile) (proclaim '(optimize (safety 2) (space 3))))
60
61;;; valid lambda-list to DEFMACRO is:
62;;;
63;;; ( [ &whole sym ]
64;;; [ &environment sym ]
65;;; { v }*
66;;; [ &optional { sym | ( v [ init [ v ] ] ) }* ]
67;;; { [ { &rest | &body } v ]
68;;; [ &key { sym | ( { sym | ( key v ) } [ init [ v ]] ) }*
69;;; [ &allow-other-keys ]]
70;;; [ &aux { sym | ( v [ init ] ) }* ]
71;;; | . sym }
72;;; )
73;;;
74;;; where v is short for { defmacro-lambda-list | sym }.
75;;; A symbol may be accepted as a DEFMACRO lambda-list, in which case
76;;; (DEFMACRO <name> <symbol> ... ) is equivalent to
77;;; (DEFMACRO <name> (&REST <symbol>) ...).
78;;; Defamcro-lambda-list is defined as:
79;;;
80;;; ( { v }*
81;;; [ &optional { sym | ( v [ init [ v ] ] ) }* ]
82;;; { [ { &rest | &body } v ]
83;;; [ &key { sym | ( { sym | ( key v ) } [ init [ v ]] ) }*
84;;; [ &allow-other-keys ]]
85;;; [ &aux { sym | ( v [ init ] ) }* ]
86;;; | . sym }
87;;; )
88
89*/
90
91/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:529 **********************/
92:-lisp_compile_to_prolog(pkg_sys,['eval-when',[compile],[proclaim,[quote,[optimize,[safety,2],[space,3]]]]])
93:- dbginfo(skipping(
94 [ eval_when,
95 [compile],
96 [proclaim, [quote, [optimize, [safety, 2], [space, 3]]]]
97 ])).
98/*
99;; valid lambda-list to DEFMACRO is:
100*/
101/*
102;;
103*/
104/*
105;; ( [ &whole sym ]
106*/
107/*
108;; [ &environment sym ]
109*/
110/*
111;; { v }*
112*/
113/*
114;; [ &optional { sym | ( v [ init [ v ] ] ) }* ]
115*/
116/*
117;; { [ { &rest | &body } v ]
118*/
119/*
120;; [ &key { sym | ( { sym | ( key v ) } [ init [ v ]] ) }*
121*/
122/*
123;; [ &allow-other-keys ]]
124*/
125/*
126;; [ &aux { sym | ( v [ init ] ) }* ]
127*/
128/*
129;; | . sym }
130*/
131/*
132;; )
133*/
134/*
135;;
136*/
137/*
138;; where v is short for { defmacro-lambda-list | sym }.
139*/
140/*
141;; A symbol may be accepted as a DEFMACRO lambda-list, in which case
142*/
143/*
144;; (DEFMACRO <name> <symbol> ... ) is equivalent to
145*/
146/*
147;; (DEFMACRO <name> (&REST <symbol>) ...).
148*/
149/*
150;; Defamcro-lambda-list is defined as:
151*/
152/*
153;;
154*/
155/*
156;; ( { v }*
157*/
158/*
159;; [ &optional { sym | ( v [ init [ v ] ] ) }* ]
160*/
161/*
162;; { [ { &rest | &body } v ]
163*/
164/*
165;; [ &key { sym | ( { sym | ( key v ) } [ init [ v ]] ) }*
166*/
167/*
168;; [ &allow-other-keys ]]
169*/
170/*
171;; [ &aux { sym | ( v [ init ] ) }* ]
172*/
173/*
174;; | . sym }
175*/
176/*
177;; )
178*/
179/*
180(defvar *dl*)
181*/
182
183/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:1485 **********************/
184:-lisp_compile_to_prolog(pkg_sys,[defvar,'*dl*'])
185:- sf_defvar(Sf_defvar_Param, sys_xx_dl_xx, _Ignored).
186/*
187(defvar *key-check*)
188*/
189
190/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:1499 **********************/
191:-lisp_compile_to_prolog(pkg_sys,[defvar,'*key-check*'])
192:- sf_defvar(Sf_defvar_Param, sys_xx_key_check_xx, _Ignored).
193/*
194(defvar *arg-check*)
195
196*/
197
198/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:1520 **********************/
199:-lisp_compile_to_prolog(pkg_sys,[defvar,'*arg-check*'])
200:- sf_defvar(Sf_defvar_Param, sys_xx_arg_check_xx, _Ignored).
201/*
202(defmacro defmacro (name vl &rest body)
203 `(multiple-value-bind (expr doc pprint)
204 (sys::expand-defmacro ',name ',vl ',body)
205 (sys:define-macro ',name expr doc pprint)))
206
207*/
208
209/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:1542 **********************/
210:-lisp_compile_to_prolog(pkg_sys,[defmacro,defmacro,[name,vl,'&rest',body],['#BQ',['multiple-value-bind',[expr,doc,pprint],['sys::expand-defmacro',[quote,['#COMMA',name]],[quote,['#COMMA',vl]],[quote,['#COMMA',body]]],['sys:define-macro',[quote,['#COMMA',name]],expr,doc,pprint]]]])
211/*
212:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
213 defmacro,
214 kw_macro,
215 mf_defmacro)).
216*/
217wl:lambda_def(defmacro, defmacro, mf_defmacro, [sys_name, sys_vl, c38_rest, sys_body], [['#BQ', [multiple_value_bind, [sys_expr, sys_doc, pprint], [sys_expand_defmacro, [quote, ['#COMMA', sys_name]], [quote, ['#COMMA', sys_vl]], [quote, ['#COMMA', sys_body]]], [sys_define_macro, [quote, ['#COMMA', sys_name]], sys_expr, sys_doc, pprint]]]]).
218wl:arglist_info(defmacro, mf_defmacro, [sys_name, sys_vl, c38_rest, sys_body], arginfo{all:[sys_name, sys_vl], allow_other_keys:0, aux:0, body:0, complex:[rest], env:0, key:0, names:[sys_name, sys_vl, sys_body], opt:0, req:[sys_name, sys_vl], rest:[sys_body], sublists:0, whole:0}).
219wl: init_args(2, mf_defmacro).
220
225sf_defmacro(MacroEnv, Name_In, Vl_In, RestNKeys, FResult) :-
226 mf_defmacro([defmacro, Name_In, Vl_In|RestNKeys], MacroEnv, MFResult),
227 f_sys_env_eval(MacroEnv, MFResult, FResult).
232mf_defmacro([defmacro, Name_In, Vl_In|RestNKeys], MacroEnv, MFResult) :-
233 nop(defmacro),
234 GEnv=[bv(sys_name, Name_In), bv(sys_vl, Vl_In), bv(sys_body, RestNKeys)],
235 catch(( ( ( get_var(GEnv, sys_body, Body_Get),
236 get_var(GEnv, sys_name, Name_Get)
237 ),
238 get_var(GEnv, sys_name, Name_Get10),
239 get_var(GEnv, sys_vl, Vl_Get)
240 ),
241 [multiple_value_bind, [sys_expr, sys_doc, pprint], [sys_expand_defmacro, [quote, Name_Get], [quote, Vl_Get], [quote, Body_Get]], [sys_define_macro, [quote, Name_Get10], sys_expr, sys_doc, pprint]]=MFResult
242 ),
243 block_exit(defmacro, MFResult),
244 true).
245:- set_opv(mf_defmacro, type_of, sys_macro),
246 set_opv(defmacro, symbol_function, mf_defmacro),
247 DefMacroResult=defmacro. 248/*
249:- side_effect(assert_lsp(defmacro,
250 lambda_def(defmacro,
251 defmacro,
252 mf_defmacro,
253 [sys_name, sys_vl, c38_rest, sys_body],
254
255 [
256 [ '#BQ',
257
258 [ multiple_value_bind,
259 [sys_expr, sys_doc, pprint],
260
261 [ sys_expand_defmacro,
262 [quote, ['#COMMA', sys_name]],
263 [quote, ['#COMMA', sys_vl]],
264 [quote, ['#COMMA', sys_body]]
265 ],
266
267 [ sys_define_macro,
268 [quote, ['#COMMA', sys_name]],
269 sys_expr,
270 sys_doc,
271 pprint
272 ]
273 ]
274 ]
275 ]))).
276*/
277/*
278:- side_effect(assert_lsp(defmacro,
279 arglist_info(defmacro,
280 mf_defmacro,
281 [sys_name, sys_vl, c38_rest, sys_body],
282 arginfo{ all:[sys_name, sys_vl],
283 allow_other_keys:0,
284 aux:0,
285 body:0,
286 complex:[rest],
287 env:0,
288 key:0,
289 names:
290 [ sys_name,
291 sys_vl,
292 sys_body
293 ],
294 opt:0,
295 req:[sys_name, sys_vl],
296 rest:[sys_body],
297 sublists:0,
298 whole:0
299 }))).
300*/
301/*
302:- side_effect(assert_lsp(defmacro, init_args(2, mf_defmacro))).
303*/
304/*
305(defun sys::expand-defmacro (name vl body
306 &aux *dl* (*key-check* nil)
307 (*arg-check* nil)
308 doc decls whole ppn (env nil) (envp nil))
309 (labels ((dm-vl (vl whole top)
310 (do ((optionalp) (restp) (keyp)
311 (allow-other-keys-p) (auxp)
312 (rest) (allow-other-keys) (keys) (no-check)
313 (n (if top 1 0)) (ppn 0) (v)
314 )
315 ((not (consp vl))
316 (when vl
317 (when restp (dm-bad-key '&rest))
318 (push (list vl (dm-nth-cdr n whole)) *dl*)
319 (setq no-check t))
320 (when (and rest (not allow-other-keys))
321 (push (cons rest keys) *key-check*))
322 (unless no-check (push (cons whole n) *arg-check*))
323 ppn
324 )
325 (declare (fixnum n ppn))
326 (setq v (car vl))
327 (cond
328 ((eq v '&optional)
329 (when optionalp (dm-bad-key '&optional))
330 (setq optionalp t)
331 (pop vl))
332 ((or (eq v '&rest) (eq v '&body))
333 (when restp (dm-bad-key v))
334 (dm-v (second vl) (dm-nth-cdr n whole))
335 (setq restp t optionalp t no-check t)
336 (setq vl (cddr vl))
337 (when (eq v '&body)
338 (setq ppn (if top (the fixnum (1- n)) n))))
339 ((eq v '&key)
340 (when keyp (dm-bad-key '&key))
341 (setq rest (gensym))
342 (push (list rest (dm-nth-cdr n whole)) *dl*)
343 (setq keyp t restp t optionalp t no-check t)
344 (pop vl))
345 ((eq v '&allow-other-keys)
346 (when (or (not keyp) allow-other-keys-p)
347 (dm-bad-key '&allow-other-keys))
348 (setq allow-other-keys-p t)
349 (setq allow-other-keys t)
350 (pop vl))
351 ((eq v '&aux)
352 (when auxp (dm-bad-key '&aux))
353 (setq auxp t allow-other-keys-p t keyp t restp t optionalp t)
354 (pop vl))
355 (auxp
356 (let (x (init nil))
357 (cond ((symbolp v) (setq x v))
358 (t (setq x (car v))
359 (unless (endp (cdr v)) (setq init (second v)))))
360 (dm-v x init))
361 (pop vl))
362 (keyp
363 (let ((temp (gensym)) x k (init nil) (sv nil))
364 (cond ((symbolp v) (setq x v
365 k (intern (string v) 'keyword)))
366 (t (if (symbolp (car v))
367 (setq x (car v)
368 k (intern (string (car v)) 'keyword))
369 (setq x (cadar v) k (caar v)))
370 (unless (endp (cdr v))
371 (setq init (second v))
372 (unless (endp (cddr v))
373 (setq sv (caddr v))))))
374 (dm-v temp `(getf ,rest ,k 'failed))
375 (dm-v x `(if (eq ,temp 'failed) ,init ,temp))
376 (when sv (dm-v sv `(not (eq ,temp 'failed))))
377 (push k keys))
378 (pop vl))
379 (optionalp
380 (let (x (init nil) (sv nil))
381 (cond ((symbolp v) (setq x v))
382 (t (setq x (car v))
383 (unless (endp (cdr v))
384 (setq init (second v))
385 (unless (endp (cddr v))
386 (setq sv (caddr v))))))
387 (dm-v x `(if ,(dm-nth-cdr n whole) ,(dm-nth n whole) ,init))
388 (when sv (dm-v sv `(not (null ,(dm-nth-cdr n whole))))))
389 (incf n)
390 (pop vl)
391 )
392 (t (dm-v v `(if ,(dm-nth-cdr n whole)
393 ,(dm-nth n whole)
394 (dm-too-few-arguments)))
395 (incf n)
396 (pop vl))
397 )))
398 (dm-v (v init)
399 (if (symbolp v)
400 (push (if init (list v init) v) *dl*)
401 (let ((temp (gensym)))
402 (push (if init (list temp init) temp) *dl*)
403 (dm-vl v temp nil))))
404
405 (dm-nth (n v)
406 (multiple-value-bind (q r) (floor n 4)
407 (declare (fixnum q r))
408 (dotimes (i q) (setq v (list 'CDDDDR v)))
409 (case r
410 (0 (list 'CAR v))
411 (1 (list 'CADR v))
412 (2 (list 'CADDR v))
413 (3 (list 'CADDDR v))
414 )))
415
416 (dm-nth-cdr (n v)
417 (multiple-value-bind (q r) (floor n 4)
418 (declare (fixnum q r))
419 (dotimes (i q) (setq v (list 'CDDDDR v)))
420 (case r
421 (0 v)
422 (1 (list 'CDR v))
423 (2 (list 'CDDR v))
424 (3 (list 'CDDDR v))
425 )))
426 )
427 (cond ((listp vl))
428 ((symbolp vl) (setq vl (list '&rest vl)))
429 (t (error "The defmacro-lambda-list fmt90_x1 is not a list." vl)))
430 (multiple-value-setq (doc decls body) (find-doc body nil))
431 (if (and (listp vl) (eq (car vl) '&whole))
432 (setq whole (second vl)
433 vl (cddr vl))
434 (setq whole (gensym)))
435 (if (setq env (member '&environment vl :test #'eq))
436 (setq vl (nconc (ldiff vl env) (cddr env))
437 env (second env))
438 (progn
439 (setq env (gensym))
440 (push `(DECLARE (ignore ,env)) decls)))
441 (setq *dl* `(&aux ,env ,whole))
442 (setq ppn (dm-vl vl whole t))
443 (dolist (kc *key-check*)
444 (push `(unless (getf ,(car kc) :allow-other-keys)
445 (do ((vl ,(car kc) (cddr vl)))
446 ((endp vl))
447 (unless (member (car vl) ',(cdr kc))
448 (dm-key-not-allowed (car vl))
449 )))
450 body))
451 (dolist (ac *arg-check*)
452 (push `(unless (endp ,(dm-nth-cdr (cdr ac) (car ac)))
453 (dm-too-many-arguments)) body))
454 (values `(LAMBDA-BLOCK ,name ,(nreverse *dl*) ,@(nconc decls body))
455 doc ppn))
456 )
457
458*/
459
460/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:1719 **********************/
461:-lisp_compile_to_prolog(pkg_sys,[defun,'sys::expand-defmacro',[name,vl,body,'&aux','*dl*',['*key-check*',[]],['*arg-check*',[]],doc,decls,whole,ppn,[env,[]],[envp,[]]],[labels,[['dm-vl',[vl,whole,top],[do,[[optionalp],[restp],[keyp],['allow-other-keys-p'],[auxp],[rest],['allow-other-keys'],[keys],['no-check'],[n,[if,top,1,0]],[ppn,0],[v]],[[not,[consp,vl]],[when,vl,[when,restp,['dm-bad-key',[quote,'&rest']]],[push,[list,vl,['dm-nth-cdr',n,whole]],'*dl*'],[setq,'no-check',t]],[when,[and,rest,[not,'allow-other-keys']],[push,[cons,rest,keys],'*key-check*']],[unless,'no-check',[push,[cons,whole,n],'*arg-check*']],ppn],[declare,[fixnum,n,ppn]],[setq,v,[car,vl]],[cond,[[eq,v,[quote,'&optional']],[when,optionalp,['dm-bad-key',[quote,'&optional']]],[setq,optionalp,t],[pop,vl]],[[or,[eq,v,[quote,'&rest']],[eq,v,[quote,'&body']]],[when,restp,['dm-bad-key',v]],['dm-v',[second,vl],['dm-nth-cdr',n,whole]],[setq,restp,t,optionalp,t,'no-check',t],[setq,vl,[cddr,vl]],[when,[eq,v,[quote,'&body']],[setq,ppn,[if,top,[the,fixnum,['1-',n]],n]]]],[[eq,v,[quote,'&key']],[when,keyp,['dm-bad-key',[quote,'&key']]],[setq,rest,[gensym]],[push,[list,rest,['dm-nth-cdr',n,whole]],'*dl*'],[setq,keyp,t,restp,t,optionalp,t,'no-check',t],[pop,vl]],[[eq,v,[quote,'&allow-other-keys']],[when,[or,[not,keyp],'allow-other-keys-p'],['dm-bad-key',[quote,'&allow-other-keys']]],[setq,'allow-other-keys-p',t],[setq,'allow-other-keys',t],[pop,vl]],[[eq,v,[quote,'&aux']],[when,auxp,['dm-bad-key',[quote,'&aux']]],[setq,auxp,t,'allow-other-keys-p',t,keyp,t,restp,t,optionalp,t],[pop,vl]],[auxp,[let,[x,[init,[]]],[cond,[[symbolp,v],[setq,x,v]],[t,[setq,x,[car,v]],[unless,[endp,[cdr,v]],[setq,init,[second,v]]]]],['dm-v',x,init]],[pop,vl]],[keyp,[let,[[temp,[gensym]],x,k,[init,[]],[sv,[]]],[cond,[[symbolp,v],[setq,x,v,k,[intern,[string,v],[quote,keyword]]]],[t,[if,[symbolp,[car,v]],[setq,x,[car,v],k,[intern,[string,[car,v]],[quote,keyword]]],[setq,x,[cadar,v],k,[caar,v]]],[unless,[endp,[cdr,v]],[setq,init,[second,v]],[unless,[endp,[cddr,v]],[setq,sv,[caddr,v]]]]]],['dm-v',temp,['#BQ',[getf,['#COMMA',rest],['#COMMA',k],[quote,failed]]]],['dm-v',x,['#BQ',[if,[eq,['#COMMA',temp],[quote,failed]],['#COMMA',init],['#COMMA',temp]]]],[when,sv,['dm-v',sv,['#BQ',[not,[eq,['#COMMA',temp],[quote,failed]]]]]],[push,k,keys]],[pop,vl]],[optionalp,[let,[x,[init,[]],[sv,[]]],[cond,[[symbolp,v],[setq,x,v]],[t,[setq,x,[car,v]],[unless,[endp,[cdr,v]],[setq,init,[second,v]],[unless,[endp,[cddr,v]],[setq,sv,[caddr,v]]]]]],['dm-v',x,['#BQ',[if,['#COMMA',['dm-nth-cdr',n,whole]],['#COMMA',['dm-nth',n,whole]],['#COMMA',init]]]],[when,sv,['dm-v',sv,['#BQ',[not,[null,['#COMMA',['dm-nth-cdr',n,whole]]]]]]]],[incf,n],[pop,vl]],[t,['dm-v',v,['#BQ',[if,['#COMMA',['dm-nth-cdr',n,whole]],['#COMMA',['dm-nth',n,whole]],['dm-too-few-arguments']]]],[incf,n],[pop,vl]]]]],['dm-v',[v,init],[if,[symbolp,v],[push,[if,init,[list,v,init],v],'*dl*'],[let,[[temp,[gensym]]],[push,[if,init,[list,temp,init],temp],'*dl*'],['dm-vl',v,temp,[]]]]],['dm-nth',[n,v],['multiple-value-bind',[q,r],[floor,n,4],[declare,[fixnum,q,r]],[dotimes,[i,q],[setq,v,[list,[quote,'CDDDDR'],v]]],[case,r,[0,[list,[quote,'CAR'],v]],[1,[list,[quote,'CADR'],v]],[2,[list,[quote,'CADDR'],v]],[3,[list,[quote,'CADDDR'],v]]]]],['dm-nth-cdr',[n,v],['multiple-value-bind',[q,r],[floor,n,4],[declare,[fixnum,q,r]],[dotimes,[i,q],[setq,v,[list,[quote,'CDDDDR'],v]]],[case,r,[0,v],[1,[list,[quote,'CDR'],v]],[2,[list,[quote,'CDDR'],v]],[3,[list,[quote,'CDDDR'],v]]]]]],[cond,[[listp,vl]],[[symbolp,vl],[setq,vl,[list,[quote,'&rest'],vl]]],[t,[error,'$STRING'("The defmacro-lambda-list ~s is not a list."),vl]]],['multiple-value-setq',[doc,decls,body],['find-doc',body,[]]],[if,[and,[listp,vl],[eq,[car,vl],[quote,'&whole']]],[setq,whole,[second,vl],vl,[cddr,vl]],[setq,whole,[gensym]]],[if,[setq,env,[member,[quote,'&environment'],vl,':test',function(eq)]],[setq,vl,[nconc,[ldiff,vl,env],[cddr,env]],env,[second,env]],[progn,[setq,env,[gensym]],[push,['#BQ',['DECLARE',[ignore,['#COMMA',env]]]],decls]]],[setq,'*dl*',['#BQ',['&aux',['#COMMA',env],['#COMMA',whole]]]],[setq,ppn,['dm-vl',vl,whole,t]],[dolist,[kc,'*key-check*'],[push,['#BQ',[unless,[getf,['#COMMA',[car,kc]],':allow-other-keys'],[do,[[vl,['#COMMA',[car,kc]],[cddr,vl]]],[[endp,vl]],[unless,[member,[car,vl],[quote,['#COMMA',[cdr,kc]]]],['dm-key-not-allowed',[car,vl]]]]]],body]],[dolist,[ac,'*arg-check*'],[push,['#BQ',[unless,[endp,['#COMMA',['dm-nth-cdr',[cdr,ac],[car,ac]]]],['dm-too-many-arguments']]],body]],[values,['#BQ',['LAMBDA-BLOCK',['#COMMA',name],['#COMMA',[nreverse,'*dl*']],['#BQ-COMMA-ELIPSE',[nconc,decls,body]]]],doc,ppn]]])
462/*
463:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
464 sys_expand_defmacro,
465 kw_function,
466 f_sys_expand_defmacro)).
467*/
468/*
469:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
470 sys_dm_vl,
471 kw_function,
472 f_sys_dm_vl)).
473*/
474/*
475:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
476 sys_dm_bad_key,
477 kw_function,
478 f_sys_dm_bad_key)).
479*/
480/*
481:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
482 sys_dm_bad_key,
483 kw_function,
484 f_sys_dm_bad_key)).
485*/
486/*
487:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
488 sys_dm_bad_key,
489 kw_function,
490 f_sys_dm_bad_key)).
491*/
492/*
493:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
494 sys_dm_nth_cdr,
495 kw_function,
496 f_sys_dm_nth_cdr)).
497*/
498/*
499:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
500 sys_dm_v,
501 kw_function,
502 f_sys_dm_v)).
503*/
504/*
505:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
506 sys_dm_bad_key,
507 kw_function,
508 f_sys_dm_bad_key)).
509*/
510/*
511:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
512 sys_dm_bad_key,
513 kw_function,
514 f_sys_dm_bad_key)).
515*/
516/*
517:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
518 sys_dm_bad_key,
519 kw_function,
520 f_sys_dm_bad_key)).
521*/
522/*
523:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
524 sys_dm_v,
525 kw_function,
526 f_sys_dm_v)).
527*/
528/*
529:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
530 sys_dm_v,
531 kw_function,
532 f_sys_dm_v)).
533*/
534/*
535:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
536 sys_dm_v,
537 kw_function,
538 f_sys_dm_v)).
539*/
540/*
541:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
542 sys_dm_v,
543 kw_function,
544 f_sys_dm_v)).
545*/
546/*
547:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
548 sys_dm_nth_cdr,
549 kw_function,
550 f_sys_dm_nth_cdr)).
551*/
552/*
553:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
554 sys_dm_nth,
555 kw_function,
556 f_sys_dm_nth)).
557*/
558/*
559:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
560 sys_dm_v,
561 kw_function,
562 f_sys_dm_v)).
563*/
564/*
565:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
566 sys_dm_nth_cdr,
567 kw_function,
568 f_sys_dm_nth_cdr)).
569*/
570/*
571:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
572 sys_dm_v,
573 kw_function,
574 f_sys_dm_v)).
575*/
576/*
577:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
578 sys_dm_nth_cdr,
579 kw_function,
580 f_sys_dm_nth_cdr)).
581*/
582/*
583:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
584 sys_dm_nth,
585 kw_function,
586 f_sys_dm_nth)).
587*/
588/*
589:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
590 sys_dm_v,
591 kw_function,
592 f_sys_dm_v)).
593*/
594/*
595:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
596 sys_dm_bad_key,
597 kw_function,
598 f_sys_dm_bad_key)).
599*/
600/*
601:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
602 sys_dm_bad_key,
603 kw_function,
604 f_sys_dm_bad_key)).
605*/
606/*
607:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
608 sys_dm_bad_key,
609 kw_function,
610 f_sys_dm_bad_key)).
611*/
612/*
613:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
614 sys_dm_nth_cdr,
615 kw_function,
616 f_sys_dm_nth_cdr)).
617*/
618/*
619:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
620 sys_dm_v,
621 kw_function,
622 f_sys_dm_v)).
623*/
624/*
625:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
626 sys_dm_bad_key,
627 kw_function,
628 f_sys_dm_bad_key)).
629*/
630/*
631:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
632 sys_dm_bad_key,
633 kw_function,
634 f_sys_dm_bad_key)).
635*/
636/*
637:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
638 sys_dm_bad_key,
639 kw_function,
640 f_sys_dm_bad_key)).
641*/
642/*
643:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
644 sys_dm_v,
645 kw_function,
646 f_sys_dm_v)).
647*/
648/*
649:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
650 sys_dm_v,
651 kw_function,
652 f_sys_dm_v)).
653*/
654/*
655:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
656 sys_dm_v,
657 kw_function,
658 f_sys_dm_v)).
659*/
660/*
661:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
662 sys_dm_v,
663 kw_function,
664 f_sys_dm_v)).
665*/
666/*
667:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
668 sys_dm_nth_cdr,
669 kw_function,
670 f_sys_dm_nth_cdr)).
671*/
672/*
673:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
674 sys_dm_nth,
675 kw_function,
676 f_sys_dm_nth)).
677*/
678/*
679:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
680 sys_dm_v,
681 kw_function,
682 f_sys_dm_v)).
683*/
684/*
685:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
686 sys_dm_nth_cdr,
687 kw_function,
688 f_sys_dm_nth_cdr)).
689*/
690/*
691:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
692 sys_dm_v,
693 kw_function,
694 f_sys_dm_v)).
695*/
696/*
697:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
698 sys_dm_nth_cdr,
699 kw_function,
700 f_sys_dm_nth_cdr)).
701*/
702/*
703:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
704 sys_dm_nth,
705 kw_function,
706 f_sys_dm_nth)).
707*/
708/*
709:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
710 sys_dm_v,
711 kw_function,
712 f_sys_dm_v)).
713*/
714/*
715:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
716 sys_dm_v,
717 kw_function,
718 f_sys_dm_v)).
719*/
720/*
721:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
722 sys_dm_vl,
723 kw_function,
724 f_sys_dm_vl)).
725*/
726/*
727:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
728 sys_dm_nth,
729 kw_function,
730 f_sys_dm_nth)).
731*/
732/*
733% case:-[[0,[list,[quote,car],sys_v]],[1,[list,[quote,cadr],sys_v]],[2,[list,[quote,caddr],sys_v]],[3,[list,[quote,cadddr],sys_v]]].
734*/
735/*
736% conds:-[[[eq,_203826,[quote,0]],[progn,[list,[quote,car],sys_v]]],[[eq,_203826,[quote,1]],[progn,[list,[quote,cadr],sys_v]]],[[eq,_203826,[quote,2]],[progn,[list,[quote,caddr],sys_v]]],[[eq,_203826,[quote,3]],[progn,[list,[quote,cadddr],sys_v]]]].
737*/
738/*
739:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
740 sys_dm_nth_cdr,
741 kw_function,
742 f_sys_dm_nth_cdr)).
743*/
744/*
745% case:-[[0,sys_v],[1,[list,[quote,cdr],sys_v]],[2,[list,[quote,cddr],sys_v]],[3,[list,[quote,cdddr],sys_v]]].
746*/
747/*
748% conds:-[[[eq,_208472,[quote,0]],[progn,sys_v]],[[eq,_208472,[quote,1]],[progn,[list,[quote,cdr],sys_v]]],[[eq,_208472,[quote,2]],[progn,[list,[quote,cddr],sys_v]]],[[eq,_208472,[quote,3]],[progn,[list,[quote,cdddr],sys_v]]]].
749*/
750/*
751:- side_effect(generate_function_or_macro_name(
752 [ fbound(sys_dm_nth_cdr, kw_function)=function(f_sys_dm_nth_cdr1),
753 fbound(sys_dm_nth, kw_function)=function(f_sys_dm_nth1),
754 fbound(sys_dm_v, kw_function)=function(f_sys_dm_v1),
755 fbound(sys_dm_vl, kw_function)=function(f_sys_dm_vl1),
756 name='GLOBAL',
757 environ=env_1
758 ],
759 sys_find_doc,
760 kw_function,
761 f_sys_find_doc)).
762*/
763wl:lambda_def(defun, sys_expand_defmacro, f_sys_expand_defmacro, [sys_name, sys_vl, sys_body, c38_aux, sys_xx_dl_xx, [sys_xx_key_check_xx, []], [sys_xx_arg_check_xx, []], sys_doc, sys_decls, sys_whole, sys_ppn, [sys_env, []], [sys_envp, []]], [[labels, [[sys_dm_vl, [sys_vl, sys_whole, sys_top], [do, [[sys_optionalp], [sys_restp], [sys_keyp], [sys_allow_other_keys_p], [sys_auxp], [rest], [sys_allow_other_keys], [sys_keys], [sys_no_check], [sys_n, [if, sys_top, 1, 0]], [sys_ppn, 0], [sys_v]], [[not, [consp, sys_vl]], [when, sys_vl, [when, sys_restp, [sys_dm_bad_key, [quote, c38_rest]]], [push, [list, sys_vl, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx], [setq, sys_no_check, t]], [when, [and, rest, [not, sys_allow_other_keys]], [push, [cons, rest, sys_keys], sys_xx_key_check_xx]], [unless, sys_no_check, [push, [cons, sys_whole, sys_n], sys_xx_arg_check_xx]], sys_ppn], [declare, [fixnum, sys_n, sys_ppn]], [setq, sys_v, [car, sys_vl]], [cond, [[eq, sys_v, [quote, c38_optional]], [when, sys_optionalp, [sys_dm_bad_key, [quote, c38_optional]]], [setq, sys_optionalp, t], [pop, sys_vl]], [[or, [eq, sys_v, [quote, c38_rest]], [eq, sys_v, [quote, c38_body]]], [when, sys_restp, [sys_dm_bad_key, sys_v]], [sys_dm_v, [second, sys_vl], [sys_dm_nth_cdr, sys_n, sys_whole]], [setq, sys_restp, t, sys_optionalp, t, sys_no_check, t], [setq, sys_vl, [cddr, sys_vl]], [when, [eq, sys_v, [quote, c38_body]], [setq, sys_ppn, [if, sys_top, [the, fixnum, ['1-', sys_n]], sys_n]]]], [[eq, sys_v, [quote, c38_key]], [when, sys_keyp, [sys_dm_bad_key, [quote, c38_key]]], [setq, rest, [gensym]], [push, [list, rest, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx], [setq, sys_keyp, t, sys_restp, t, sys_optionalp, t, sys_no_check, t], [pop, sys_vl]], [[eq, sys_v, [quote, c38_allow_other_keys]], [when, [or, [not, sys_keyp], sys_allow_other_keys_p], [sys_dm_bad_key, [quote, c38_allow_other_keys]]], [setq, sys_allow_other_keys_p, t], [setq, sys_allow_other_keys, t], [pop, sys_vl]], [[eq, sys_v, [quote, c38_aux]], [when, sys_auxp, [sys_dm_bad_key, [quote, c38_aux]]], [setq, sys_auxp, t, sys_allow_other_keys_p, t, sys_keyp, t, sys_restp, t, sys_optionalp, t], [pop, sys_vl]], [sys_auxp, [let, [sys_x, [sys_init, []]], [cond, [[symbolp, sys_v], [setq, sys_x, sys_v]], [t, [setq, sys_x, [car, sys_v]], [unless, [endp, [cdr, sys_v]], [setq, sys_init, [second, sys_v]]]]], [sys_dm_v, sys_x, sys_init]], [pop, sys_vl]], [sys_keyp, [let, [[sys_temp, [gensym]], sys_x, sys_k, [sys_init, []], [sys_sv, []]], [cond, [[symbolp, sys_v], [setq, sys_x, sys_v, sys_k, [intern, [string, sys_v], [quote, keyword]]]], [t, [if, [symbolp, [car, sys_v]], [setq, sys_x, [car, sys_v], sys_k, [intern, [string, [car, sys_v]], [quote, keyword]]], [setq, sys_x, [cadar, sys_v], sys_k, [caar, sys_v]]], [unless, [endp, [cdr, sys_v]], [setq, sys_init, [second, sys_v]], [unless, [endp, [cddr, sys_v]], [setq, sys_sv, [caddr, sys_v]]]]]], [sys_dm_v, sys_temp, ['#BQ', [getf, ['#COMMA', rest], ['#COMMA', sys_k], [quote, sys_failed]]]], [sys_dm_v, sys_x, ['#BQ', [if, [eq, ['#COMMA', sys_temp], [quote, sys_failed]], ['#COMMA', sys_init], ['#COMMA', sys_temp]]]], [when, sys_sv, [sys_dm_v, sys_sv, ['#BQ', [not, [eq, ['#COMMA', sys_temp], [quote, sys_failed]]]]]], [push, sys_k, sys_keys]], [pop, sys_vl]], [sys_optionalp, [let, [sys_x, [sys_init, []], [sys_sv, []]], [cond, [[symbolp, sys_v], [setq, sys_x, sys_v]], [t, [setq, sys_x, [car, sys_v]], [unless, [endp, [cdr, sys_v]], [setq, sys_init, [second, sys_v]], [unless, [endp, [cddr, sys_v]], [setq, sys_sv, [caddr, sys_v]]]]]], [sys_dm_v, sys_x, ['#BQ', [if, ['#COMMA', [sys_dm_nth_cdr, sys_n, sys_whole]], ['#COMMA', [sys_dm_nth, sys_n, sys_whole]], ['#COMMA', sys_init]]]], [when, sys_sv, [sys_dm_v, sys_sv, ['#BQ', [not, [null, ['#COMMA', [sys_dm_nth_cdr, sys_n, sys_whole]]]]]]]], [incf, sys_n], [pop, sys_vl]], [t, [sys_dm_v, sys_v, ['#BQ', [if, ['#COMMA', [sys_dm_nth_cdr, sys_n, sys_whole]], ['#COMMA', [sys_dm_nth, sys_n, sys_whole]], [sys_dm_too_few_arguments]]]], [incf, sys_n], [pop, sys_vl]]]]], [sys_dm_v, [sys_v, sys_init], [if, [symbolp, sys_v], [push, [if, sys_init, [list, sys_v, sys_init], sys_v], sys_xx_dl_xx], [let, [[sys_temp, [gensym]]], [push, [if, sys_init, [list, sys_temp, sys_init], sys_temp], sys_xx_dl_xx], [sys_dm_vl, sys_v, sys_temp, []]]]], [sys_dm_nth, [sys_n, sys_v], [multiple_value_bind, [sys_q, sys_r], [floor, sys_n, 4], [declare, [fixnum, sys_q, sys_r]], [dotimes, [sys_i, sys_q], [setq, sys_v, [list, [quote, cddddr], sys_v]]], [case, sys_r, [0, [list, [quote, car], sys_v]], [1, [list, [quote, cadr], sys_v]], [2, [list, [quote, caddr], sys_v]], [3, [list, [quote, cadddr], sys_v]]]]], [sys_dm_nth_cdr, [sys_n, sys_v], [multiple_value_bind, [sys_q, sys_r], [floor, sys_n, 4], [declare, [fixnum, sys_q, sys_r]], [dotimes, [sys_i, sys_q], [setq, sys_v, [list, [quote, cddddr], sys_v]]], [case, sys_r, [0, sys_v], [1, [list, [quote, cdr], sys_v]], [2, [list, [quote, cddr], sys_v]], [3, [list, [quote, cdddr], sys_v]]]]]], [cond, [[listp, sys_vl]], [[symbolp, sys_vl], [setq, sys_vl, [list, [quote, c38_rest], sys_vl]]], [t, [error, '$ARRAY'([*], claz_base_character, "The defmacro-lambda-list ~s is not a list."), sys_vl]]], [multiple_value_setq, [sys_doc, sys_decls, sys_body], [sys_find_doc, sys_body, []]], [if, [and, [listp, sys_vl], [eq, [car, sys_vl], [quote, c38_whole]]], [setq, sys_whole, [second, sys_vl], sys_vl, [cddr, sys_vl]], [setq, sys_whole, [gensym]]], [if, [setq, sys_env, [member, [quote, c38_environment], sys_vl, kw_test, function(eq)]], [setq, sys_vl, [nconc, [ldiff, sys_vl, sys_env], [cddr, sys_env]], sys_env, [second, sys_env]], [progn, [setq, sys_env, [gensym]], [push, ['#BQ', [declare, [ignore, ['#COMMA', sys_env]]]], sys_decls]]], [setq, sys_xx_dl_xx, ['#BQ', [c38_aux, ['#COMMA', sys_env], ['#COMMA', sys_whole]]]], [setq, sys_ppn, [sys_dm_vl, sys_vl, sys_whole, t]], [dolist, [sys_kc, sys_xx_key_check_xx], [push, ['#BQ', [unless, [getf, ['#COMMA', [car, sys_kc]], kw_allow_other_keys], [do, [[sys_vl, ['#COMMA', [car, sys_kc]], [cddr, sys_vl]]], [[endp, sys_vl]], [unless, [member, [car, sys_vl], [quote, ['#COMMA', [cdr, sys_kc]]]], [sys_dm_key_not_allowed, [car, sys_vl]]]]]], sys_body]], [dolist, [sys_ac, sys_xx_arg_check_xx], [push, ['#BQ', [unless, [endp, ['#COMMA', [sys_dm_nth_cdr, [cdr, sys_ac], [car, sys_ac]]]], [sys_dm_too_many_arguments]]], sys_body]], [values, ['#BQ', [sys_lambda_block, ['#COMMA', sys_name], ['#COMMA', [nreverse, sys_xx_dl_xx]], ['#BQ-COMMA-ELIPSE', [nconc, sys_decls, sys_body]]]], sys_doc, sys_ppn]]]).
764wl:arglist_info(sys_expand_defmacro, f_sys_expand_defmacro, [sys_name, sys_vl, sys_body, c38_aux, sys_xx_dl_xx, [sys_xx_key_check_xx, []], [sys_xx_arg_check_xx, []], sys_doc, sys_decls, sys_whole, sys_ppn, [sys_env, []], [sys_envp, []]], arginfo{all:[sys_name, sys_vl, sys_body], allow_other_keys:0, aux:[sys_xx_dl_xx, sys_xx_key_check_xx, sys_xx_arg_check_xx, sys_doc, sys_decls, sys_whole, sys_ppn, sys_env, sys_envp], body:0, complex:0, env:0, key:0, names:[sys_name, sys_vl, sys_body, sys_xx_dl_xx, sys_xx_key_check_xx, sys_xx_arg_check_xx, sys_doc, sys_decls, sys_whole, sys_ppn, sys_env, sys_envp], opt:0, req:[sys_name, sys_vl, sys_body], rest:0, sublists:0, whole:0}).
765wl: init_args(3, f_sys_expand_defmacro).
766
771f_sys_expand_defmacro(Name_In, Vl_In, Body_In, RestNKeys, FnResult) :-
772 Env=[bv(sys_name, Name_In), bv(sys_vl, Vl_In), bv(sys_body, Body_In), bv(sys_xx_dl_xx, Xx_dl_xx_In), bv(sys_xx_key_check_xx, Xx_key_check_xx_In), bv(sys_xx_arg_check_xx, Xx_arg_check_xx_In), bv(sys_doc, Doc_In), bv(sys_decls, Decls_In), bv(sys_whole, Whole_In), bv(sys_ppn, Ppn_In), bv(sys_env, Env_In), bv(sys_envp, Envp_In)],
773 aux_var(Env, sys_xx_dl_xx, Xx_dl_xx_In, true, []),
774 aux_var(Env, sys_xx_key_check_xx, Xx_key_check_xx_In, true, []),
775 aux_var(Env, sys_xx_arg_check_xx, Xx_arg_check_xx_In, true, []),
776 aux_var(Env, sys_doc, Doc_In, true, []),
777 aux_var(Env, sys_decls, Decls_In, true, []),
778 aux_var(Env, sys_whole, Whole_In, true, []),
779 aux_var(Env, sys_ppn, Ppn_In, true, []),
780 aux_var(Env, sys_env, Env_In, true, []),
781 aux_var(Env, sys_envp, Envp_In, true, []),
782 catch(( ( assert_lsp(sys_dm_vl,
783 wl:lambda_def(defun, sys_dm_vl, f_sys_dm_vl1, [sys_vl, sys_whole, sys_top], [[do, [[sys_optionalp], [sys_restp], [sys_keyp], [sys_allow_other_keys_p], [sys_auxp], [rest], [sys_allow_other_keys], [sys_keys], [sys_no_check], [sys_n, [if, sys_top, 1, 0]], [sys_ppn, 0], [sys_v]], [[not, [consp, sys_vl]], [when, sys_vl, [when, sys_restp, [sys_dm_bad_key, [quote, c38_rest]]], [push, [list, sys_vl, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx], [setq, sys_no_check, t]], [when, [and, rest, [not, sys_allow_other_keys]], [push, [cons, rest, sys_keys], sys_xx_key_check_xx]], [unless, sys_no_check, [push, [cons, sys_whole, sys_n], sys_xx_arg_check_xx]], sys_ppn], [declare, [fixnum, sys_n, sys_ppn]], [setq, sys_v, [car, sys_vl]], [cond, [[eq, sys_v, [quote, c38_optional]], [when, sys_optionalp, [sys_dm_bad_key, [quote, c38_optional]]], [setq, sys_optionalp, t], [pop, sys_vl]], [[or, [eq, sys_v, [quote, c38_rest]], [eq, sys_v, [quote, c38_body]]], [when, sys_restp, [sys_dm_bad_key, sys_v]], [sys_dm_v, [second, sys_vl], [sys_dm_nth_cdr, sys_n, sys_whole]], [setq, sys_restp, t, sys_optionalp, t, sys_no_check, t], [setq, sys_vl, [cddr, sys_vl]], [when, [eq, sys_v, [quote, c38_body]], [setq, sys_ppn, [if, sys_top, [the, fixnum, ['1-', sys_n]], sys_n]]]], [[eq, sys_v, [quote, c38_key]], [when, sys_keyp, [sys_dm_bad_key, [quote, c38_key]]], [setq, rest, [gensym]], [push, [list, rest, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx], [setq, sys_keyp, t, sys_restp, t, sys_optionalp, t, sys_no_check, t], [pop, sys_vl]], [[eq, sys_v, [quote, c38_allow_other_keys]], [when, [or, [not, sys_keyp], sys_allow_other_keys_p], [sys_dm_bad_key, [quote, c38_allow_other_keys]]], [setq, sys_allow_other_keys_p, t], [setq, sys_allow_other_keys, t], [pop, sys_vl]], [[eq, sys_v, [quote, c38_aux]], [when, sys_auxp, [sys_dm_bad_key, [quote, c38_aux]]], [setq, sys_auxp, t, sys_allow_other_keys_p, t, sys_keyp, t, sys_restp, t, sys_optionalp, t], [pop, sys_vl]], [sys_auxp, [let, [sys_x, [sys_init, []]], [cond, [[symbolp, sys_v], [setq, sys_x, sys_v]], [t, [setq, sys_x, [car, sys_v]], [unless, [endp, [cdr, sys_v]], [setq, sys_init, [second, sys_v]]]]], [sys_dm_v, sys_x, sys_init]], [pop, sys_vl]], [sys_keyp, [let, [[sys_temp, [gensym]], sys_x, sys_k, [sys_init, []], [sys_sv, []]], [cond, [[symbolp, sys_v], [setq, sys_x, sys_v, sys_k, [intern, [string, sys_v], [quote, keyword]]]], [t, [if, [symbolp, [car, sys_v]], [setq, sys_x, [car, sys_v], sys_k, [intern, [string, [car, sys_v]], [quote, keyword]]], [setq, sys_x, [cadar, sys_v], sys_k, [caar, sys_v]]], [unless, [endp, [cdr, sys_v]], [setq, sys_init, [second, sys_v]], [unless, [endp, [cddr, sys_v]], [setq, sys_sv, [caddr, sys_v]]]]]], [sys_dm_v, sys_temp, ['#BQ', [getf, ['#COMMA', rest], ['#COMMA', sys_k], [quote, sys_failed]]]], [sys_dm_v, sys_x, ['#BQ', [if, [eq, ['#COMMA', sys_temp], [quote, sys_failed]], ['#COMMA', sys_init], ['#COMMA', sys_temp]]]], [when, sys_sv, [sys_dm_v, sys_sv, ['#BQ', [not, [eq, ['#COMMA', sys_temp], [quote, sys_failed]]]]]], [push, sys_k, sys_keys]], [pop, sys_vl]], [sys_optionalp, [let, [sys_x, [sys_init, []], [sys_sv, []]], [cond, [[symbolp, sys_v], [setq, sys_x, sys_v]], [t, [setq, sys_x, [car, sys_v]], [unless, [endp, [cdr, sys_v]], [setq, sys_init, [second, sys_v]], [unless, [endp, [cddr, sys_v]], [setq, sys_sv, [caddr, sys_v]]]]]], [sys_dm_v, sys_x, ['#BQ', [if, ['#COMMA', [sys_dm_nth_cdr, sys_n, sys_whole]], ['#COMMA', [sys_dm_nth, sys_n, sys_whole]], ['#COMMA', sys_init]]]], [when, sys_sv, [sys_dm_v, sys_sv, ['#BQ', [not, [null, ['#COMMA', [sys_dm_nth_cdr, sys_n, sys_whole]]]]]]]], [incf, sys_n], [pop, sys_vl]], [t, [sys_dm_v, sys_v, ['#BQ', [if, ['#COMMA', [sys_dm_nth_cdr, sys_n, sys_whole]], ['#COMMA', [sys_dm_nth, sys_n, sys_whole]], [sys_dm_too_few_arguments]]]], [incf, sys_n], [pop, sys_vl]]]]])),
784 assert_lsp(sys_dm_vl,
785 wl:arglist_info(sys_dm_vl, f_sys_dm_vl1, [sys_vl, sys_whole, sys_top], arginfo{all:[sys_vl, sys_whole, sys_top], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[sys_vl, sys_whole, sys_top], opt:0, req:[sys_vl, sys_whole, sys_top], rest:0, sublists:0, whole:0})),
786 assert_lsp(sys_dm_vl, wl:init_args(3, f_sys_dm_vl1)),
787 assert_lsp(sys_dm_vl,
788 (f_sys_dm_vl1(Vl_In19, Whole_In20, Top_In, RestNKeys18, FnResult17):-GEnv=[bv(sys_vl, Vl_In19), bv(sys_whole, Whole_In20), bv(sys_top, Top_In)], catch(((get_var(GEnv, sys_top, IFTEST), (IFTEST\==[]->N_Init=1;N_Init=0), BlockExitEnv=[bv([sys_optionalp], []), bv([sys_restp], []), bv([sys_keyp], []), bv([sys_allow_other_keys_p], []), bv([sys_auxp], []), bv([rest], []), bv([sys_allow_other_keys], []), bv([sys_keys], []), bv([sys_no_check], []), bv(sys_n, N_Init), bv(sys_ppn, 0), bv([sys_v], [])|GEnv], catch((call_addr_block(BlockExitEnv, (push_label(do_label_1), get_var(BlockExitEnv, sys_vl, Vl_Get260), f_consp(Vl_Get260, PredArgResult262), (PredArgResult262==[]->get_var(BlockExitEnv, sys_vl, IFTEST265), (IFTEST265\==[]->get_var(BlockExitEnv, sys_restp, IFTEST268), (IFTEST268\==[]->f_sys_dm_bad_key(c38_rest, TrueResult271), _23312=TrueResult271;_23312=[]), sf_push(BlockExitEnv, [list, sys_vl, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx, Xx_dl_xx), set_var(BlockExitEnv, sys_no_check, t), _23238=t;_23238=[]), get_var(BlockExitEnv, rest, IFTEST275), (IFTEST275\==[]->get_var(BlockExitEnv, sys_allow_other_keys, Allow_other_keys_Get278), f_not(Allow_other_keys_Get278, TrueResult279), IFTEST273=TrueResult279;IFTEST273=[]), (IFTEST273\==[]->sf_push(BlockExitEnv, [cons, rest, sys_keys], sys_xx_key_check_xx, TrueResult280), _23442=TrueResult280;_23442=[]), get_var(BlockExitEnv, sys_no_check, IFTEST281), (IFTEST281\==[]->_23642=[];sf_push(BlockExitEnv, [cons, sys_whole, sys_n], sys_xx_arg_check_xx, ElseResult284), _23642=ElseResult284), get_var(BlockExitEnv, sys_ppn, RetResult263), throw(block_exit([], RetResult263)), _TBResult=ThrowResult264;sf_declare(BlockExitEnv, [fixnum, sys_n, sys_ppn], Sf_declare_Ret), get_var(BlockExitEnv, sys_vl, Vl_Get287), f_car(Vl_Get287, V), set_var(BlockExitEnv, sys_v, V), get_var(BlockExitEnv, sys_v, V_Get289), (is_eq(V_Get289, c38_optional)->get_var(BlockExitEnv, sys_optionalp, IFTEST292), (IFTEST292\==[]->f_sys_dm_bad_key(c38_optional, TrueResult295), _23908=TrueResult295;_23908=[]), set_var(BlockExitEnv, sys_optionalp, t), sf_pop(BlockExitEnv, sys_vl, TrueResult481), _23788=TrueResult481;(get_var(BlockExitEnv, sys_v, V_Get298), f_eq(V_Get298, c38_rest, FORM1_Res300), FORM1_Res300\==[], IFTEST296=FORM1_Res300->true;get_var(BlockExitEnv, sys_v, V_Get299), f_eq(V_Get299, c38_body, C38_body), IFTEST296=C38_body), (IFTEST296\==[]->get_var(BlockExitEnv, sys_restp, IFTEST301), (IFTEST301\==[]->get_var(BlockExitEnv, sys_v, V_Get304), f_sys_dm_bad_key(V_Get304, TrueResult305), _24142=TrueResult305;_24142=[]), get_var(BlockExitEnv, sys_vl, Vl_Get306), f_second(Vl_Get306, Dm_v_Param), get_var(BlockExitEnv, sys_n, N_Get307), get_var(BlockExitEnv, sys_whole, Whole_Get308), f_sys_dm_nth_cdr(N_Get307, Whole_Get308, Nth_cdr_Ret), f_sys_dm_v(Dm_v_Param, Nth_cdr_Ret, Dm_v_Ret), set_var(BlockExitEnv, sys_restp, t), set_var(BlockExitEnv, sys_optionalp, t), set_var(BlockExitEnv, sys_no_check, t), get_var(BlockExitEnv, sys_vl, Vl_Get309), f_cddr(Vl_Get309, Vl), set_var(BlockExitEnv, sys_vl, Vl), get_var(BlockExitEnv, sys_v, V_Get311), (is_eq(V_Get311, c38_body)->get_var(BlockExitEnv, sys_top, IFTEST314), (IFTEST314\==[]->get_var(BlockExitEnv, sys_n, N_Get317), 'f_1-'(N_Get317, TrueResult319), TrueResult321=TrueResult319;get_var(BlockExitEnv, sys_n, N_Get318), TrueResult321=N_Get318), set_var(BlockExitEnv, sys_ppn, TrueResult321), TrueResult479=TrueResult321;TrueResult479=[]), ElseResult482=TrueResult479;get_var(BlockExitEnv, sys_v, V_Get323), (is_eq(V_Get323, c38_key)->get_var(BlockExitEnv, sys_keyp, IFTEST326), (IFTEST326\==[]->f_sys_dm_bad_key(c38_key, TrueResult329), _24762=TrueResult329;_24762=[]), f_gensym(Rest), set_var(BlockExitEnv, rest, Rest), sf_push(BlockExitEnv, [list, rest, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx, Xx_dl_xx634), set_var(BlockExitEnv, sys_keyp, t), set_var(BlockExitEnv, sys_restp, t), set_var(BlockExitEnv, sys_optionalp, t), set_var(BlockExitEnv, sys_no_check, t), sf_pop(BlockExitEnv, sys_vl, TrueResult477), ElseResult480=TrueResult477;get_var(BlockExitEnv, sys_v, V_Get331), (is_eq(V_Get331, c38_allow_other_keys)->(get_var(BlockExitEnv, sys_keyp, Keyp_Get336), f_not(Keyp_Get336, FORM1_Res338), FORM1_Res338\==[], IFTEST334=FORM1_Res338->true;get_var(BlockExitEnv, sys_allow_other_keys_p, Allow_other_keys_p_Get337), IFTEST334=Allow_other_keys_p_Get337), (IFTEST334\==[]->f_sys_dm_bad_key(c38_allow_other_keys, TrueResult339), _24956=TrueResult339;_24956=[]), set_var(BlockExitEnv, sys_allow_other_keys_p, t), set_var(BlockExitEnv, sys_allow_other_keys, t), sf_pop(BlockExitEnv, sys_vl, TrueResult475), ElseResult478=TrueResult475;get_var(BlockExitEnv, sys_v, V_Get341), (is_eq(V_Get341, c38_aux)->get_var(BlockExitEnv, sys_auxp, IFTEST344), (IFTEST344\==[]->f_sys_dm_bad_key(c38_aux, TrueResult347), _25200=TrueResult347;_25200=[]), set_var(BlockExitEnv, sys_auxp, t), set_var(BlockExitEnv, sys_allow_other_keys_p, t), set_var(BlockExitEnv, sys_keyp, t), set_var(BlockExitEnv, sys_restp, t), set_var(BlockExitEnv, sys_optionalp, t), sf_pop(BlockExitEnv, sys_vl, TrueResult473), ElseResult476=TrueResult473;get_var(BlockExitEnv, sys_auxp, IFTEST348), (IFTEST348\==[]->LEnv353=[bv(sys_x, []), bv(sys_init, [])|BlockExitEnv], get_var(LEnv353, sys_v, V_Get355), (is_symbolp(V_Get355)->get_var(LEnv353, sys_v, V_Get359), set_var(LEnv353, sys_x, V_Get359), _25462=V_Get359;get_var(LEnv353, sys_v, V_Get360), f_car(V_Get360, X), set_var(LEnv353, sys_x, X), get_var(LEnv353, sys_v, V_Get362), f_cdr(V_Get362, PredArgResult364), (s3q:is_endp(PredArgResult364)->ElseResult368=[];get_var(LEnv353, sys_v, V_Get365), f_second(V_Get365, ElseResult366), set_var(LEnv353, sys_init, ElseResult366), ElseResult368=ElseResult366), _25462=ElseResult368), get_var(LEnv353, sys_init, Init_Get370), get_var(LEnv353, sys_x, X_Get369), f_sys_dm_v(X_Get369, Init_Get370, LetResult352), sf_pop(BlockExitEnv, sys_vl, TrueResult471), ElseResult474=TrueResult471;get_var(BlockExitEnv, sys_keyp, IFTEST371), (IFTEST371\==[]->f_gensym(Temp_Init377), LEnv376=[bv(sys_temp, Temp_Init377), bv(sys_x, []), bv(sys_k, []), bv(sys_init, []), bv(sys_sv, [])|BlockExitEnv], get_var(LEnv376, sys_v, V_Get379), (is_symbolp(V_Get379)->get_var(LEnv376, sys_v, V_Get383), set_var(LEnv376, sys_x, V_Get383), get_var(LEnv376, sys_v, V_Get384), f_string(V_Get384, Intern_Param), f_intern(Intern_Param, keyword, TrueResult407), set_var(LEnv376, sys_k, TrueResult407), _26060=TrueResult407;get_var(LEnv376, sys_v, V_Get386), f_car(V_Get386, PredArgResult388), (is_symbolp(PredArgResult388)->get_var(LEnv376, sys_v, V_Get389), f_car(V_Get389, X636), set_var(LEnv376, sys_x, X636), get_var(LEnv376, sys_v, V_Get390), f_car(V_Get390, String_Param), f_string(String_Param, Intern_Param652), f_intern(Intern_Param652, keyword, TrueResult393), set_var(LEnv376, sys_k, TrueResult393), _26222=TrueResult393;get_var(LEnv376, sys_v, V_Get391), f_cadar(V_Get391, X637), set_var(LEnv376, sys_x, X637), get_var(LEnv376, sys_v, V_Get392), f_caar(V_Get392, ElseResult394), set_var(LEnv376, sys_k, ElseResult394), _26222=ElseResult394), get_var(LEnv376, sys_v, V_Get396), f_cdr(V_Get396, PredArgResult398), (s3q:is_endp(PredArgResult398)->ElseResult408=[];get_var(LEnv376, sys_v, V_Get399), f_second(V_Get399, Init), set_var(LEnv376, sys_init, Init), get_var(LEnv376, sys_v, V_Get401), f_cddr(V_Get401, PredArgResult403), (s3q:is_endp(PredArgResult403)->ElseResult406=[];get_var(LEnv376, sys_v, V_Get404), f_caddr(V_Get404, ElseResult405), set_var(LEnv376, sys_sv, ElseResult405), ElseResult406=ElseResult405), ElseResult408=ElseResult406), _26060=ElseResult408), get_var(LEnv376, rest, Rest_Get410), get_var(LEnv376, sys_k, K_Get411), get_var(LEnv376, sys_temp, Temp_Get409), f_sys_dm_v(Temp_Get409, [getf, Rest_Get410, K_Get411, [quote, sys_failed]], Dm_v_Ret666), get_var(LEnv376, sys_init, Init_Get414), get_var(LEnv376, sys_temp, Temp_Get413), get_var(LEnv376, sys_x, X_Get412), f_sys_dm_v(X_Get412, [if, [eq, Temp_Get413, [quote, sys_failed]], Init_Get414, Temp_Get413], Dm_v_Ret667), get_var(LEnv376, sys_sv, IFTEST416), (IFTEST416\==[]->get_var(LEnv376, sys_sv, Sv_Get419), get_var(LEnv376, sys_temp, Temp_Get420), f_sys_dm_v(Sv_Get419, [not, [eq, Temp_Get420, [quote, sys_failed]]], TrueResult421), _27060=TrueResult421;_27060=[]), sf_push(LEnv376, sys_k, sys_keys, LetResult375), sf_pop(BlockExitEnv, sys_vl, TrueResult469), ElseResult472=TrueResult469;get_var(BlockExitEnv, sys_optionalp, IFTEST422), (IFTEST422\==[]->LEnv427=[bv(sys_x, []), bv(sys_init, []), bv(sys_sv, [])|BlockExitEnv], get_var(LEnv427, sys_v, V_Get429), (is_symbolp(V_Get429)->get_var(LEnv427, sys_v, V_Get433), set_var(LEnv427, sys_x, V_Get433), _27378=V_Get433;get_var(LEnv427, sys_v, V_Get434), f_car(V_Get434, X639), set_var(LEnv427, sys_x, X639), get_var(LEnv427, sys_v, V_Get436), f_cdr(V_Get436, PredArgResult438), (s3q:is_endp(PredArgResult438)->ElseResult448=[];get_var(LEnv427, sys_v, V_Get439), f_second(V_Get439, Init640), set_var(LEnv427, sys_init, Init640), get_var(LEnv427, sys_v, V_Get441), f_cddr(V_Get441, PredArgResult443), (s3q:is_endp(PredArgResult443)->ElseResult446=[];get_var(LEnv427, sys_v, V_Get444), f_caddr(V_Get444, ElseResult445), set_var(LEnv427, sys_sv, ElseResult445), ElseResult446=ElseResult445), ElseResult448=ElseResult446), _27378=ElseResult448), get_var(LEnv427, sys_n, N_Get450), get_var(LEnv427, sys_whole, Whole_Get451), get_var(LEnv427, sys_x, X_Get449), f_sys_dm_nth_cdr(N_Get450, Whole_Get451, Nth_cdr_Ret668), get_var(LEnv427, sys_n, N_Get452), get_var(LEnv427, sys_whole, Whole_Get453), f_sys_dm_nth(N_Get452, Whole_Get453, Dm_nth_Ret), get_var(LEnv427, sys_init, Init_Get454), f_sys_dm_v(X_Get449, [if, Nth_cdr_Ret668, Dm_nth_Ret, Init_Get454], Dm_v_Ret670), get_var(LEnv427, sys_sv, IFTEST455), (IFTEST455\==[]->get_var(LEnv427, sys_n, N_Get459), get_var(LEnv427, sys_sv, Sv_Get458), get_var(LEnv427, sys_whole, Whole_Get460), f_sys_dm_nth_cdr(N_Get459, Whole_Get460, Nth_cdr_Ret671), f_sys_dm_v(Sv_Get458, [not, [null, Nth_cdr_Ret671]], TrueResult461), LetResult426=TrueResult461;LetResult426=[]), place_op(BlockExitEnv, incf, sys_n, symbol_value, [], Place_op_Ret), sf_pop(BlockExitEnv, sys_vl, TrueResult467), ElseResult470=TrueResult467;get_var(BlockExitEnv, sys_n, N_Get463), get_var(BlockExitEnv, sys_v, V_Get462), get_var(BlockExitEnv, sys_whole, Whole_Get464), f_sys_dm_nth_cdr(N_Get463, Whole_Get464, Nth_cdr_Ret673), get_var(BlockExitEnv, sys_n, N_Get465), get_var(BlockExitEnv, sys_whole, Whole_Get466), f_sys_dm_nth(N_Get465, Whole_Get466, Dm_nth_Ret674), f_sys_dm_v(V_Get462, [if, Nth_cdr_Ret673, Dm_nth_Ret674, [sys_dm_too_few_arguments]], Dm_v_Ret675), place_op(BlockExitEnv, incf, sys_n, symbol_value, [], Place_op_Ret676), sf_pop(BlockExitEnv, sys_vl, ElseResult468), ElseResult470=ElseResult468), ElseResult472=ElseResult470), ElseResult474=ElseResult472), ElseResult476=ElseResult474), ElseResult478=ElseResult476), ElseResult480=ElseResult478), ElseResult482=ElseResult480), _23788=ElseResult482), sf_psetq(BlockExitEnv, Sf_psetq_Ret), goto(do_label_1, BlockExitEnv), _TBResult=_GORES483)), [addr(addr_tagbody_1_do_label_1, do_label_1, '$unused', BlockExitEnv, (get_var(BlockExitEnv, sys_vl, Consp_Param), f_consp(Consp_Param, Consp_Ret), (Consp_Ret==[]->get_var(BlockExitEnv, sys_vl, IFTEST36), (IFTEST36\==[]->get_var(BlockExitEnv, sys_restp, IFTEST39), (IFTEST39\==[]->f_sys_dm_bad_key(c38_rest, Bad_key_Ret), _28934=Bad_key_Ret;_28934=[]), sf_push(BlockExitEnv, [list, sys_vl, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx, Sf_push_Ret), set_var(BlockExitEnv, sys_no_check, t), _28938=t;_28938=[]), get_var(BlockExitEnv, rest, IFTEST46), (IFTEST46\==[]->get_var(BlockExitEnv, sys_allow_other_keys, Not_Param), f_not(Not_Param, TrueResult50), IFTEST44=TrueResult50;IFTEST44=[]), (IFTEST44\==[]->sf_push(BlockExitEnv, [cons, rest, sys_keys], sys_xx_key_check_xx, TrueResult51), _28998=TrueResult51;_28998=[]), get_var(BlockExitEnv, sys_no_check, IFTEST52), (IFTEST52\==[]->_29014=[];sf_push(BlockExitEnv, [cons, sys_whole, sys_n], sys_xx_arg_check_xx, Sf_push_Ret681), _29014=Sf_push_Ret681), get_var(BlockExitEnv, sys_ppn, Get_var_Ret), throw(block_exit([], Get_var_Ret)), _29020=ThrowResult;sf_declare(BlockExitEnv, [fixnum, sys_n, sys_ppn], Sf_declare_Ret683), get_var(BlockExitEnv, sys_vl, Vl_Get58), f_car(Vl_Get58, Car_Ret), set_var(BlockExitEnv, sys_v, Car_Ret), get_var(BlockExitEnv, sys_v, V_Get), (is_eq(V_Get, c38_optional)->get_var(BlockExitEnv, sys_optionalp, IFTEST63), (IFTEST63\==[]->f_sys_dm_bad_key(c38_optional, TrueResult66), _29096=TrueResult66;_29096=[]), set_var(BlockExitEnv, sys_optionalp, t), sf_pop(BlockExitEnv, sys_vl, TrueResult252), _29112=TrueResult252;(get_var(BlockExitEnv, sys_v, V_Get69), f_eq(V_Get69, c38_rest, Eq_Ret), Eq_Ret\==[], IFTEST67=Eq_Ret->true;get_var(BlockExitEnv, sys_v, V_Get70), f_eq(V_Get70, c38_body, Eq_Ret686), IFTEST67=Eq_Ret686), (IFTEST67\==[]->get_var(BlockExitEnv, sys_restp, IFTEST72), (IFTEST72\==[]->get_var(BlockExitEnv, sys_v, V_Get75), f_sys_dm_bad_key(V_Get75, TrueResult76), _29202=TrueResult76;_29202=[]), get_var(BlockExitEnv, sys_vl, Vl_Get77), f_second(Vl_Get77, Dm_v_Param656), get_var(BlockExitEnv, sys_n, Nth_cdr_Param), get_var(BlockExitEnv, sys_whole, Get_var_Ret687), f_sys_dm_nth_cdr(Nth_cdr_Param, Get_var_Ret687, Nth_cdr_Ret688), f_sys_dm_v(Dm_v_Param656, Nth_cdr_Ret688, Dm_v_Ret689), set_var(BlockExitEnv, sys_restp, t), set_var(BlockExitEnv, sys_optionalp, t), set_var(BlockExitEnv, sys_no_check, t), get_var(BlockExitEnv, sys_vl, Vl_Get80), f_cddr(Vl_Get80, Cddr_Ret), set_var(BlockExitEnv, sys_vl, Cddr_Ret), get_var(BlockExitEnv, sys_v, V_Get82), (is_eq(V_Get82, c38_body)->get_var(BlockExitEnv, sys_top, IFTEST85), (IFTEST85\==[]->get_var(BlockExitEnv, sys_n, N_Get88), 'f_1-'(N_Get88, TrueResult90), TrueResult92=TrueResult90;get_var(BlockExitEnv, sys_n, N_Get89), TrueResult92=N_Get89), set_var(BlockExitEnv, sys_ppn, TrueResult92), TrueResult250=TrueResult92;TrueResult250=[]), ElseResult253=TrueResult250;get_var(BlockExitEnv, sys_v, V_Get94), (is_eq(V_Get94, c38_key)->get_var(BlockExitEnv, sys_keyp, IFTEST97), (IFTEST97\==[]->f_sys_dm_bad_key(c38_key, TrueResult100), _29398=TrueResult100;_29398=[]), f_gensym(Gensym_Ret), set_var(BlockExitEnv, rest, Gensym_Ret), sf_push(BlockExitEnv, [list, rest, [sys_dm_nth_cdr, sys_n, sys_whole]], sys_xx_dl_xx, Sf_push_Ret692), set_var(BlockExitEnv, sys_keyp, t), set_var(BlockExitEnv, sys_restp, t), set_var(BlockExitEnv, sys_optionalp, t), set_var(BlockExitEnv, sys_no_check, t), sf_pop(BlockExitEnv, sys_vl, TrueResult248), ElseResult251=TrueResult248;get_var(BlockExitEnv, sys_v, V_Get102), (is_eq(V_Get102, c38_allow_other_keys)->(get_var(BlockExitEnv, sys_keyp, Keyp_Get107), f_not(Keyp_Get107, FORM1_Res109), FORM1_Res109\==[], IFTEST105=FORM1_Res109->true;get_var(BlockExitEnv, sys_allow_other_keys_p, Get_var_Ret693), IFTEST105=Get_var_Ret693), (IFTEST105\==[]->f_sys_dm_bad_key(c38_allow_other_keys, TrueResult110), _29504=TrueResult110;_29504=[]), set_var(BlockExitEnv, sys_allow_other_keys_p, t), set_var(BlockExitEnv, sys_allow_other_keys, t), sf_pop(BlockExitEnv, sys_vl, TrueResult246), ElseResult249=TrueResult246;get_var(BlockExitEnv, sys_v, V_Get112), (is_eq(V_Get112, c38_aux)->get_var(BlockExitEnv, sys_auxp, IFTEST115), (IFTEST115\==[]->f_sys_dm_bad_key(c38_aux, TrueResult118), _29576=TrueResult118;_29576=[]), set_var(BlockExitEnv, sys_auxp, t), set_var(BlockExitEnv, sys_allow_other_keys_p, t), set_var(BlockExitEnv, sys_keyp, t), set_var(BlockExitEnv, sys_restp, t), set_var(BlockExitEnv, sys_optionalp, t), sf_pop(BlockExitEnv, sys_vl, TrueResult244), ElseResult247=TrueResult244;get_var(BlockExitEnv, sys_auxp, IFTEST119), (IFTEST119\==[]->LEnv124=[bv(sys_x, []), bv(sys_init, [])|BlockExitEnv], get_var(LEnv124, sys_v, V_Get126), (is_symbolp(V_Get126)->get_var(LEnv124, sys_v, V_Get130), set_var(LEnv124, sys_x, V_Get130), _29662=V_Get130;get_var(LEnv124, sys_v, V_Get131), f_car(V_Get131, Car_Ret694), set_var(LEnv124, sys_x, Car_Ret694), get_var(LEnv124, sys_v, V_Get133), f_cdr(V_Get133, PredArgResult135), (s3q:is_endp(PredArgResult135)->ElseResult139=[];get_var(LEnv124, sys_v, V_Get136), f_second(V_Get136, ElseResult137), set_var(LEnv124, sys_init, ElseResult137), ElseResult139=ElseResult137), _29662=ElseResult139), get_var(LEnv124, sys_init, Get_var_Ret695), get_var(LEnv124, sys_x, Dm_v_Param657), f_sys_dm_v(Dm_v_Param657, Get_var_Ret695, LetResult123), sf_pop(BlockExitEnv, sys_vl, TrueResult242), ElseResult245=TrueResult242;get_var(BlockExitEnv, sys_keyp, IFTEST142), (IFTEST142\==[]->f_gensym(Gensym_Ret696), LEnv147=[bv(sys_temp, Gensym_Ret696), bv(sys_x, []), bv(sys_k, []), bv(sys_init, []), bv(sys_sv, [])|BlockExitEnv], get_var(LEnv147, sys_v, V_Get150), (is_symbolp(V_Get150)->get_var(LEnv147, sys_v, V_Get154), set_var(LEnv147, sys_x, V_Get154), get_var(LEnv147, sys_v, V_Get155), f_string(V_Get155, Intern_Param658), f_intern(Intern_Param658, keyword, TrueResult178), set_var(LEnv147, sys_k, TrueResult178), _29884=TrueResult178;get_var(LEnv147, sys_v, V_Get157), f_car(V_Get157, PredArgResult159), (is_symbolp(PredArgResult159)->get_var(LEnv147, sys_v, V_Get160), f_car(V_Get160, Car_Ret697), set_var(LEnv147, sys_x, Car_Ret697), get_var(LEnv147, sys_v, V_Get161), f_car(V_Get161, String_Param659), f_string(String_Param659, Intern_Param660), f_intern(Intern_Param660, keyword, TrueResult164), set_var(LEnv147, sys_k, TrueResult164), _29962=TrueResult164;get_var(LEnv147, sys_v, V_Get162), f_cadar(V_Get162, Cadar_Ret), set_var(LEnv147, sys_x, Cadar_Ret), get_var(LEnv147, sys_v, V_Get163), f_caar(V_Get163, ElseResult165), set_var(LEnv147, sys_k, ElseResult165), _29962=ElseResult165), get_var(LEnv147, sys_v, V_Get167), f_cdr(V_Get167, PredArgResult169), (s3q:is_endp(PredArgResult169)->ElseResult179=[];get_var(LEnv147, sys_v, V_Get170), f_second(V_Get170, Second_Ret), set_var(LEnv147, sys_init, Second_Ret), get_var(LEnv147, sys_v, V_Get172), f_cddr(V_Get172, PredArgResult174), (s3q:is_endp(PredArgResult174)->ElseResult177=[];get_var(LEnv147, sys_v, V_Get175), f_caddr(V_Get175, ElseResult176), set_var(LEnv147, sys_sv, ElseResult176), ElseResult177=ElseResult176), ElseResult179=ElseResult177), _29884=ElseResult179), get_var(LEnv147, rest, Rest_Get181), get_var(LEnv147, sys_k, Get_var_Ret700), get_var(LEnv147, sys_temp, Dm_v_Param661), f_sys_dm_v(Dm_v_Param661, [getf, Rest_Get181, Get_var_Ret700, [quote, sys_failed]], Dm_v_Ret701), get_var(LEnv147, sys_init, Init_Get185), get_var(LEnv147, sys_temp, Temp_Get184), get_var(LEnv147, sys_x, X_Get183), f_sys_dm_v(X_Get183, [if, [eq, Temp_Get184, [quote, sys_failed]], Init_Get185, Temp_Get184], Dm_v_Ret702), get_var(LEnv147, sys_sv, IFTEST187), (IFTEST187\==[]->get_var(LEnv147, sys_sv, Sv_Get190), get_var(LEnv147, sys_temp, Temp_Get191), f_sys_dm_v(Sv_Get190, [not, [eq, Temp_Get191, [quote, sys_failed]]], TrueResult192), _30256=TrueResult192;_30256=[]), sf_push(LEnv147, sys_k, sys_keys, LetResult146), sf_pop(BlockExitEnv, sys_vl, TrueResult240), ElseResult243=TrueResult240;get_var(BlockExitEnv, sys_optionalp, IFTEST193), (IFTEST193\==[]->LEnv198=[bv(sys_x, []), bv(sys_init, []), bv(sys_sv, [])|BlockExitEnv], get_var(LEnv198, sys_v, V_Get200), (is_symbolp(V_Get200)->get_var(LEnv198, sys_v, V_Get204), set_var(LEnv198, sys_x, V_Get204), _30356=V_Get204;get_var(LEnv198, sys_v, V_Get205), f_car(V_Get205, Car_Ret703), set_var(LEnv198, sys_x, Car_Ret703), get_var(LEnv198, sys_v, V_Get207), f_cdr(V_Get207, PredArgResult209), (s3q:is_endp(PredArgResult209)->ElseResult219=[];get_var(LEnv198, sys_v, V_Get210), f_second(V_Get210, Second_Ret704), set_var(LEnv198, sys_init, Second_Ret704), get_var(LEnv198, sys_v, V_Get212), f_cddr(V_Get212, PredArgResult214), (s3q:is_endp(PredArgResult214)->ElseResult217=[];get_var(LEnv198, sys_v, V_Get215), f_caddr(V_Get215, ElseResult216), set_var(LEnv198, sys_sv, ElseResult216), ElseResult217=ElseResult216), ElseResult219=ElseResult217), _30356=ElseResult219), get_var(LEnv198, sys_n, N_Get221), get_var(LEnv198, sys_whole, Whole_Get222), get_var(LEnv198, sys_x, X_Get220), f_sys_dm_nth_cdr(N_Get221, Whole_Get222, Nth_cdr_Ret705), get_var(LEnv198, sys_n, N_Get223), get_var(LEnv198, sys_whole, Whole_Get224), f_sys_dm_nth(N_Get223, Whole_Get224, Dm_nth_Ret706), get_var(LEnv198, sys_init, Init_Get225), f_sys_dm_v(X_Get220, [if, Nth_cdr_Ret705, Dm_nth_Ret706, Init_Get225], Dm_v_Ret707), get_var(LEnv198, sys_sv, IFTEST226), (IFTEST226\==[]->get_var(LEnv198, sys_n, N_Get230), get_var(LEnv198, sys_sv, Sv_Get229), get_var(LEnv198, sys_whole, Whole_Get231), f_sys_dm_nth_cdr(N_Get230, Whole_Get231, Nth_cdr_Ret708), f_sys_dm_v(Sv_Get229, [not, [null, Nth_cdr_Ret708]], TrueResult232), LetResult197=TrueResult232;LetResult197=[]), place_op(BlockExitEnv, incf, sys_n, symbol_value, [], Place_op_Ret709), sf_pop(BlockExitEnv, sys_vl, TrueResult238), ElseResult241=TrueResult238;get_var(BlockExitEnv, sys_n, N_Get234), get_var(BlockExitEnv, sys_v, V_Get233), get_var(BlockExitEnv, sys_whole, Whole_Get235), f_sys_dm_nth_cdr(N_Get234, Whole_Get235, Nth_cdr_Ret710), get_var(BlockExitEnv, sys_n, N_Get236), get_var(BlockExitEnv, sys_whole, Whole_Get237), f_sys_dm_nth(N_Get236, Whole_Get237, Dm_nth_Ret711), f_sys_dm_v(V_Get233, [if, Nth_cdr_Ret710, Dm_nth_Ret711, [sys_dm_too_few_arguments]], Dm_v_Ret712), place_op(BlockExitEnv, incf, sys_n, symbol_value, [], Place_op_Ret713), sf_pop(BlockExitEnv, sys_vl, ElseResult239), ElseResult241=ElseResult239), ElseResult243=ElseResult241), ElseResult245=ElseResult243), ElseResult247=ElseResult245), ElseResult249=ElseResult247), ElseResult251=ElseResult249), ElseResult253=ElseResult251), _29112=ElseResult253), sf_psetq(BlockExitEnv, Sf_psetq_Ret714), goto(do_label_1, BlockExitEnv), _29020=_GORES)))]), []=LetResult), block_exit([], LetResult), true)), LetResult=FnResult17), block_exit(sys_dm_vl, FnResult17), true))),
789 assert_lsp(sys_dm_v,
790 wl:lambda_def(defun, sys_dm_v, f_sys_dm_v1, [sys_v, sys_init], [[if, [symbolp, sys_v], [push, [if, sys_init, [list, sys_v, sys_init], sys_v], sys_xx_dl_xx], [let, [[sys_temp, [gensym]]], [push, [if, sys_init, [list, sys_temp, sys_init], sys_temp], sys_xx_dl_xx], [sys_dm_vl, sys_v, sys_temp, []]]]])),
791 assert_lsp(sys_dm_v,
792 wl:arglist_info(sys_dm_v, f_sys_dm_v1, [sys_v, sys_init], arginfo{all:[sys_v, sys_init], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[sys_v, sys_init], opt:0, req:[sys_v, sys_init], rest:0, sublists:0, whole:0})),
793 assert_lsp(sys_dm_v, wl:init_args(2, f_sys_dm_v1)),
794 assert_lsp(sys_dm_v,
795 (f_sys_dm_v1(V_In, Init_In, RestNKeys490, FnResult489):-GEnv641=[bv(sys_v, V_In), bv(sys_init, Init_In)], catch(((get_var(GEnv641, sys_v, V_Get494), (is_symbolp(V_Get494)->sf_push(GEnv641, [if, sys_init, [list, sys_v, sys_init], sys_v], sys_xx_dl_xx, TrueResult503), _30930=TrueResult503;f_gensym(Temp_Init500), LEnv499=[bv(sys_temp, Temp_Init500)|GEnv641], sf_push(LEnv499, [if, sys_init, [list, sys_temp, sys_init], sys_temp], sys_xx_dl_xx, Xx_dl_xx642), get_var(LEnv499, sys_temp, Temp_Get502), get_var(LEnv499, sys_v, V_Get501), f_sys_dm_vl(V_Get501, Temp_Get502, [], LetResult498), _30930=LetResult498)), _30930=FnResult489), block_exit(sys_dm_v, FnResult489), true))),
796 assert_lsp(sys_dm_nth,
797 wl:lambda_def(defun, sys_dm_nth, f_sys_dm_nth1, [sys_n, sys_v], [[multiple_value_bind, [sys_q, sys_r], [floor, sys_n, 4], [declare, [fixnum, sys_q, sys_r]], [dotimes, [sys_i, sys_q], [setq, sys_v, [list, [quote, cddddr], sys_v]]], [case, sys_r, [0, [list, [quote, car], sys_v]], [1, [list, [quote, cadr], sys_v]], [2, [list, [quote, caddr], sys_v]], [3, [list, [quote, cadddr], sys_v]]]]])),
798 assert_lsp(sys_dm_nth,
799 wl:arglist_info(sys_dm_nth, f_sys_dm_nth1, [sys_n, sys_v], arginfo{all:[sys_n, sys_v], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[sys_n, sys_v], opt:0, req:[sys_n, sys_v], rest:0, sublists:0, whole:0})),
800 assert_lsp(sys_dm_nth, wl:init_args(2, f_sys_dm_nth1)),
801 assert_lsp(sys_dm_nth,
802 (f_sys_dm_nth1(N_In, V_In509, RestNKeys507, FnResult506):-CDR=[bv(sys_n, N_In), bv(sys_v, V_In509)], catch(((LEnv512=[bv(sys_q, []), bv(sys_r, [])|CDR], get_var(LEnv512, sys_n, N_Get513), f_floor(N_Get513, [4], Floor_Ret), setq_from_values(LEnv512, [sys_q, sys_r]), sf_declare(LEnv512, [fixnum, sys_q, sys_r], Sf_declare_Ret717), sf_dotimes(LEnv512, [sys_i, sys_q], [setq, sys_v, [list, [quote, cddddr], sys_v]], Sf_dotimes_Ret), get_var(LEnv512, sys_r, Key), (is_eq(Key, 0)->get_var(LEnv512, sys_v, V_Get519), TrueResult535=[car, V_Get519], LetResult511=TrueResult535;(is_eq(Key, 1)->get_var(LEnv512, sys_v, V_Get522), TrueResult533=[cadr, V_Get522], ElseResult536=TrueResult533;(is_eq(Key, 2)->get_var(LEnv512, sys_v, V_Get525), TrueResult531=[caddr, V_Get525], ElseResult534=TrueResult531;(is_eq(Key, 3)->get_var(LEnv512, sys_v, V_Get528), TrueResult529=[cadddr, V_Get528], ElseResult532=TrueResult529;ElseResult530=[], ElseResult532=ElseResult530), ElseResult534=ElseResult532), ElseResult536=ElseResult534), LetResult511=ElseResult536)), LetResult511=FnResult506), block_exit(sys_dm_nth, FnResult506), true))),
803 assert_lsp(sys_dm_nth_cdr,
804 wl:lambda_def(defun, sys_dm_nth_cdr, f_sys_dm_nth_cdr1, [sys_n, sys_v], [[multiple_value_bind, [sys_q, sys_r], [floor, sys_n, 4], [declare, [fixnum, sys_q, sys_r]], [dotimes, [sys_i, sys_q], [setq, sys_v, [list, [quote, cddddr], sys_v]]], [case, sys_r, [0, sys_v], [1, [list, [quote, cdr], sys_v]], [2, [list, [quote, cddr], sys_v]], [3, [list, [quote, cdddr], sys_v]]]]])),
805 assert_lsp(sys_dm_nth_cdr,
806 wl:arglist_info(sys_dm_nth_cdr, f_sys_dm_nth_cdr1, [sys_n, sys_v], arginfo{all:[sys_n, sys_v], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[sys_n, sys_v], opt:0, req:[sys_n, sys_v], rest:0, sublists:0, whole:0})),
807 assert_lsp(sys_dm_nth_cdr, wl:init_args(2, f_sys_dm_nth_cdr1)),
808 assert_lsp(sys_dm_nth_cdr,
809 (f_sys_dm_nth_cdr1(N_In540, V_In541, RestNKeys539, FnResult538):-CDR719=[bv(sys_n, N_In540), bv(sys_v, V_In541)], catch(((LEnv544=[bv(sys_q, []), bv(sys_r, [])|CDR719], get_var(LEnv544, sys_n, N_Get545), f_floor(N_Get545, [4], Floor_Ret720), setq_from_values(LEnv544, [sys_q, sys_r]), sf_declare(LEnv544, [fixnum, sys_q, sys_r], Sf_declare_Ret721), sf_dotimes(LEnv544, [sys_i, sys_q], [setq, sys_v, [list, [quote, cddddr], sys_v]], Sf_dotimes_Ret722), get_var(LEnv544, sys_r, Key), (is_eq(Key, 0)->get_var(LEnv544, sys_v, V_Get551), LetResult543=V_Get551;(is_eq(Key, 1)->get_var(LEnv544, sys_v, V_Get554), TrueResult565=[cdr, V_Get554], ElseResult568=TrueResult565;(is_eq(Key, 2)->get_var(LEnv544, sys_v, V_Get557), TrueResult563=[cddr, V_Get557], ElseResult566=TrueResult563;(is_eq(Key, 3)->get_var(LEnv544, sys_v, V_Get560), TrueResult561=[cdddr, V_Get560], ElseResult564=TrueResult561;ElseResult562=[], ElseResult564=ElseResult562), ElseResult566=ElseResult564), ElseResult568=ElseResult566), LetResult543=ElseResult568)), LetResult543=FnResult538), block_exit(sys_dm_nth_cdr, FnResult538), true))),
810 get_var(Env, sys_vl, Vl_Get571),
811 ( s3q:is_listp(Vl_Get571)
812 -> _32834=[]
813 ; get_var(Env, sys_vl, Vl_Get575),
814 ( is_symbolp(Vl_Get575)
815 -> get_var(Env, sys_vl, Vl_Get579),
816 TrueResult581=[c38_rest, Vl_Get579],
817 set_var(Env, sys_vl, TrueResult581),
818 ElseResult583=TrueResult581
819 ; get_var(Env, sys_vl, Vl_Get580),
820 f_error(
821 [ '$ARRAY'([*],
822 claz_base_character,
823 "The defmacro-lambda-list ~s is not a list."),
824 Vl_Get580
825 ],
826 ElseResult582),
827 ElseResult583=ElseResult582
828 ),
829 _32834=ElseResult583
830 ),
831 get_var(Env, sys_body, Body_Get),
832 f_sys_find_doc(Body_Get, [], Find_doc_Ret),
833 setq_from_values(Env, [sys_doc, sys_decls, sys_body]),
834 get_var(Env, sys_vl, Vl_Get588),
835 ( s3q:is_listp(Vl_Get588)
836 -> get_var(Env, sys_vl, Vl_Get591),
837 f_car(Vl_Get591, Eq_Param),
838 f_eq(Eq_Param, c38_whole, TrueResult592),
839 IFTEST585=TrueResult592
840 ; IFTEST585=[]
841 ),
842 ( IFTEST585\==[]
843 -> get_var(Env, sys_vl, Vl_Get593),
844 f_second(Vl_Get593, Whole),
845 set_var(Env, sys_whole, Whole),
846 get_var(Env, sys_vl, Vl_Get594),
847 f_cddr(Vl_Get594, TrueResult595),
848 set_var(Env, sys_vl, TrueResult595),
849 _33174=TrueResult595
850 ; f_gensym(ElseResult596),
851 set_var(Env, sys_whole, ElseResult596),
852 _33174=ElseResult596
853 ),
854 get_var(Env, sys_vl, Vl_Get599),
855 f_member(c38_environment, Vl_Get599, [kw_test, f_eq], IFTEST597),
856 set_var(Env, sys_env, IFTEST597),
857 ( IFTEST597\==[]
858 -> get_var(Env, sys_env, Env_Get),
859 get_var(Env, sys_vl, Vl_Get600),
860 f_ldiff(Vl_Get600, Env_Get, Ldiff_Ret),
861 get_var(Env, sys_env, Env_Get602),
862 f_cddr(Env_Get602, Cddr_Ret725),
863 f_nconc([Ldiff_Ret, Cddr_Ret725], Vl644),
864 set_var(Env, sys_vl, Vl644),
865 get_var(Env, sys_env, Env_Get603),
866 f_second(Env_Get603, TrueResult604),
867 set_var(Env, sys_env, TrueResult604),
868 _33474=TrueResult604
869 ; f_gensym(Env645),
870 set_var(Env, sys_env, Env645),
871 sf_push(Env,
872 ['#BQ', [declare, [ignore, ['#COMMA', sys_env]]]],
873 sys_decls,
874 ElseResult605),
875 _33474=ElseResult605
876 ),
877 get_var(Env, sys_env, Env_Get606),
878 get_var(Env, sys_whole, Whole_Get607),
879 set_var(Env, sys_xx_dl_xx, [c38_aux, Env_Get606, Whole_Get607]),
880 get_var(Env, sys_vl, Vl_Get608),
881 get_var(Env, sys_whole, Whole_Get609),
882 f_sys_dm_vl1(Vl_Get608, Whole_Get609, t, T),
883 set_var(Env, sys_ppn, T),
884 get_var(Env, sys_xx_key_check_xx, Xx_key_check_xx_Get),
885 BV=bv(sys_kc, Ele),
886 Env2=[BV|Env],
887 forall(member(Ele, Xx_key_check_xx_Get),
888 ( nb_setarg(2, BV, Ele),
889 sf_push(Env2,
890
891 [ '#BQ',
892
893 [ unless,
894
895 [ getf,
896 ['#COMMA', [car, sys_kc]],
897 kw_allow_other_keys
898 ],
899
900 [ do,
901
902 [
903 [ sys_vl,
904 ['#COMMA', [car, sys_kc]],
905 [cddr, sys_vl]
906 ]
907 ],
908 [[endp, sys_vl]],
909
910 [ unless,
911
912 [ member,
913 [car, sys_vl],
914 [quote, ['#COMMA', [cdr, sys_kc]]]
915 ],
916
917 [ sys_dm_key_not_allowed,
918 [car, sys_vl]
919 ]
920 ]
921 ]
922 ]
923 ],
924 sys_body,
925 Body)
926 )),
927 get_var(Env, sys_xx_arg_check_xx, Xx_arg_check_xx_Get),
928 BV616=bv(sys_ac, Ele618),
929 Env2617=[BV616|Env],
930 forall(member(Ele618, Xx_arg_check_xx_Get),
931 ( nb_setarg(2, BV616, Ele618),
932 sf_push(Env2617,
933
934 [ '#BQ',
935
936 [ unless,
937
938 [ endp,
939
940 [ '#COMMA',
941
942 [ sys_dm_nth_cdr,
943 [cdr, sys_ac],
944 [car, sys_ac]
945 ]
946 ]
947 ],
948 [sys_dm_too_many_arguments]
949 ]
950 ],
951 sys_body,
952 Body648)
953 )),
954 get_var(Env, sys_name, Name_Get),
955 get_var(Env, sys_xx_dl_xx, Xx_dl_xx_Get),
956 f_nreverse(Xx_dl_xx_Get, Nreverse_Ret),
957 get_var(Env, sys_body, Body_Get623),
958 get_var(Env, sys_decls, Decls_Get),
959 f_nconc([Decls_Get, Body_Get623], Nconc_Ret),
960 get_var(Env, sys_doc, Doc_Get),
961 get_var(Env, sys_ppn, Ppn_Get625),
962 nb_setval('$mv_return',
963
964 [
965 [ sys_lambda_block,
966 Name_Get,
967 Nreverse_Ret
968 | Nconc_Ret
969 ],
970 Doc_Get,
971 Ppn_Get625
972 ])
973 ),
974 [sys_lambda_block, Name_Get, Nreverse_Ret|Nconc_Ret]=FnResult
975 ),
976 block_exit(sys_expand_defmacro, FnResult),
977 true).
978:- set_opv(sys_expand_defmacro, symbol_function, f_sys_expand_defmacro),
979 DefunResult=sys_expand_defmacro. 980/*
981:- side_effect(assert_lsp(sys_expand_defmacro,
982 lambda_def(defun,
983 sys_expand_defmacro,
984 f_sys_expand_defmacro,
985
986 [ sys_name,
987 sys_vl,
988 sys_body,
989 c38_aux,
990 sys_xx_dl_xx,
991 [sys_xx_key_check_xx, []],
992 [sys_xx_arg_check_xx, []],
993 sys_doc,
994 sys_decls,
995 sys_whole,
996 sys_ppn,
997 [sys_env, []],
998 [sys_envp, []]
999 ],
1000
1001 [
1002 [ labels,
1003
1004 [
1005 [ sys_dm_vl,
1006 [sys_vl, sys_whole, sys_top],
1007
1008 [ do,
1009
1010 [ [sys_optionalp],
1011 [sys_restp],
1012 [sys_keyp],
1013 [sys_allow_other_keys_p],
1014 [sys_auxp],
1015 [rest],
1016 [sys_allow_other_keys],
1017 [sys_keys],
1018 [sys_no_check],
1019 [sys_n, [if, sys_top, 1, 0]],
1020 [sys_ppn, 0],
1021 [sys_v]
1022 ],
1023
1024 [ [not, [consp, sys_vl]],
1025
1026 [ when,
1027 sys_vl,
1028
1029 [ when,
1030 sys_restp,
1031
1032 [ sys_dm_bad_key,
1033 [quote, c38_rest]
1034 ]
1035 ],
1036
1037 [ push,
1038
1039 [ list,
1040 sys_vl,
1041
1042 [ sys_dm_nth_cdr,
1043 sys_n,
1044 sys_whole
1045 ]
1046 ],
1047 sys_xx_dl_xx
1048 ],
1049 [setq, sys_no_check, t]
1050 ],
1051
1052 [ when,
1053
1054 [ and,
1055 rest,
1056
1057 [ not,
1058 sys_allow_other_keys
1059 ]
1060 ],
1061
1062 [ push,
1063 [cons, rest, sys_keys],
1064 sys_xx_key_check_xx
1065 ]
1066 ],
1067
1068 [ unless,
1069 sys_no_check,
1070
1071 [ push,
1072 [cons, sys_whole, sys_n],
1073 sys_xx_arg_check_xx
1074 ]
1075 ],
1076 sys_ppn
1077 ],
1078
1079 [ declare,
1080 [fixnum, sys_n, sys_ppn]
1081 ],
1082 [setq, sys_v, [car, sys_vl]],
1083
1084 [ cond,
1085
1086 [
1087 [ eq,
1088 sys_v,
1089 [quote, c38_optional]
1090 ],
1091
1092 [ when,
1093 sys_optionalp,
1094
1095 [ sys_dm_bad_key,
1096 [quote, c38_optional]
1097 ]
1098 ],
1099 [setq, sys_optionalp, t],
1100 [pop, sys_vl]
1101 ],
1102
1103 [
1104 [ or,
1105
1106 [ eq,
1107 sys_v,
1108 [quote, c38_rest]
1109 ],
1110
1111 [ eq,
1112 sys_v,
1113 [quote, c38_body]
1114 ]
1115 ],
1116
1117 [ when,
1118 sys_restp,
1119 [sys_dm_bad_key, sys_v]
1120 ],
1121
1122 [ sys_dm_v,
1123 [second, sys_vl],
1124
1125 [ sys_dm_nth_cdr,
1126 sys_n,
1127 sys_whole
1128 ]
1129 ],
1130
1131 [ setq,
1132 sys_restp,
1133 t,
1134 sys_optionalp,
1135 t,
1136 sys_no_check,
1137 t
1138 ],
1139 [setq, sys_vl, [cddr, sys_vl]],
1140
1141 [ when,
1142
1143 [ eq,
1144 sys_v,
1145 [quote, c38_body]
1146 ],
1147
1148 [ setq,
1149 sys_ppn,
1150
1151 [ if,
1152 sys_top,
1153
1154 [ the,
1155 fixnum,
1156 ['1-', sys_n]
1157 ],
1158 sys_n
1159 ]
1160 ]
1161 ]
1162 ],
1163
1164 [ [eq, sys_v, [quote, c38_key]],
1165
1166 [ when,
1167 sys_keyp,
1168
1169 [ sys_dm_bad_key,
1170 [quote, c38_key]
1171 ]
1172 ],
1173 [setq, rest, [gensym]],
1174
1175 [ push,
1176
1177 [ list,
1178 rest,
1179
1180 [ sys_dm_nth_cdr,
1181 sys_n,
1182 sys_whole
1183 ]
1184 ],
1185 sys_xx_dl_xx
1186 ],
1187
1188 [ setq,
1189 sys_keyp,
1190 t,
1191 sys_restp,
1192 t,
1193 sys_optionalp,
1194 t,
1195 sys_no_check,
1196 t
1197 ],
1198 [pop, sys_vl]
1199 ],
1200
1201 [
1202 [ eq,
1203 sys_v,
1204
1205 [ quote,
1206 c38_allow_other_keys
1207 ]
1208 ],
1209
1210 [ when,
1211
1212 [ or,
1213 [not, sys_keyp],
1214 sys_allow_other_keys_p
1215 ],
1216
1217 [ sys_dm_bad_key,
1218
1219 [ quote,
1220 c38_allow_other_keys
1221 ]
1222 ]
1223 ],
1224
1225 [ setq,
1226 sys_allow_other_keys_p,
1227 t
1228 ],
1229
1230 [ setq,
1231 sys_allow_other_keys,
1232 t
1233 ],
1234 [pop, sys_vl]
1235 ],
1236
1237 [ [eq, sys_v, [quote, c38_aux]],
1238
1239 [ when,
1240 sys_auxp,
1241
1242 [ sys_dm_bad_key,
1243 [quote, c38_aux]
1244 ]
1245 ],
1246
1247 [ setq,
1248 sys_auxp,
1249 t,
1250 sys_allow_other_keys_p,
1251 t,
1252 sys_keyp,
1253 t,
1254 sys_restp,
1255 t,
1256 sys_optionalp,
1257 t
1258 ],
1259 [pop, sys_vl]
1260 ],
1261
1262 [ sys_auxp,
1263
1264 [ let,
1265 [sys_x, [sys_init, []]],
1266
1267 [ cond,
1268
1269 [ [symbolp, sys_v],
1270 [setq, sys_x, sys_v]
1271 ],
1272
1273 [ t,
1274
1275 [ setq,
1276 sys_x,
1277 [car, sys_v]
1278 ],
1279
1280 [ unless,
1281 [endp, [cdr, sys_v]],
1282
1283 [ setq,
1284 sys_init,
1285 [second, sys_v]
1286 ]
1287 ]
1288 ]
1289 ],
1290 [sys_dm_v, sys_x, sys_init]
1291 ],
1292 [pop, sys_vl]
1293 ],
1294
1295 [ sys_keyp,
1296
1297 [ let,
1298
1299 [ [sys_temp, [gensym]],
1300 sys_x,
1301 sys_k,
1302 [sys_init, []],
1303 [sys_sv, []]
1304 ],
1305
1306 [ cond,
1307
1308 [ [symbolp, sys_v],
1309
1310 [ setq,
1311 sys_x,
1312 sys_v,
1313 sys_k,
1314
1315 [ intern,
1316 [string, sys_v],
1317 [quote, keyword]
1318 ]
1319 ]
1320 ],
1321
1322 [ t,
1323
1324 [ if,
1325
1326 [ symbolp,
1327 [car, sys_v]
1328 ],
1329
1330 [ setq,
1331 sys_x,
1332 [car, sys_v],
1333 sys_k,
1334
1335 [ intern,
1336
1337 [ string,
1338 [car, sys_v]
1339 ],
1340 [quote, keyword]
1341 ]
1342 ],
1343
1344 [ setq,
1345 sys_x,
1346 [cadar, sys_v],
1347 sys_k,
1348 [caar, sys_v]
1349 ]
1350 ],
1351
1352 [ unless,
1353 [endp, [cdr, sys_v]],
1354
1355 [ setq,
1356 sys_init,
1357 [second, sys_v]
1358 ],
1359
1360 [ unless,
1361 [endp, [cddr, sys_v]],
1362
1363 [ setq,
1364 sys_sv,
1365 [caddr, sys_v]
1366 ]
1367 ]
1368 ]
1369 ]
1370 ],
1371
1372 [ sys_dm_v,
1373 sys_temp,
1374
1375 [ '#BQ',
1376
1377 [ getf,
1378 ['#COMMA', rest],
1379 ['#COMMA', sys_k],
1380 [quote, sys_failed]
1381 ]
1382 ]
1383 ],
1384
1385 [ sys_dm_v,
1386 sys_x,
1387
1388 [ '#BQ',
1389
1390 [ if,
1391
1392 [ eq,
1393 ['#COMMA', sys_temp],
1394 [quote, sys_failed]
1395 ],
1396 ['#COMMA', sys_init],
1397 ['#COMMA', sys_temp]
1398 ]
1399 ]
1400 ],
1401
1402 [ when,
1403 sys_sv,
1404
1405 [ sys_dm_v,
1406 sys_sv,
1407
1408 [ '#BQ',
1409
1410 [ not,
1411
1412 [ eq,
1413 ['#COMMA', sys_temp],
1414 [quote, sys_failed]
1415 ]
1416 ]
1417 ]
1418 ]
1419 ],
1420 [push, sys_k, sys_keys]
1421 ],
1422 [pop, sys_vl]
1423 ],
1424
1425 [ sys_optionalp,
1426
1427 [ let,
1428
1429 [ sys_x,
1430 [sys_init, []],
1431 [sys_sv, []]
1432 ],
1433
1434 [ cond,
1435
1436 [ [symbolp, sys_v],
1437 [setq, sys_x, sys_v]
1438 ],
1439
1440 [ t,
1441
1442 [ setq,
1443 sys_x,
1444 [car, sys_v]
1445 ],
1446
1447 [ unless,
1448 [endp, [cdr, sys_v]],
1449
1450 [ setq,
1451 sys_init,
1452 [second, sys_v]
1453 ],
1454
1455 [ unless,
1456 [endp, [cddr, sys_v]],
1457
1458 [ setq,
1459 sys_sv,
1460 [caddr, sys_v]
1461 ]
1462 ]
1463 ]
1464 ]
1465 ],
1466
1467 [ sys_dm_v,
1468 sys_x,
1469
1470 [ '#BQ',
1471
1472 [ if,
1473
1474 [ '#COMMA',
1475
1476 [ sys_dm_nth_cdr,
1477 sys_n,
1478 sys_whole
1479 ]
1480 ],
1481
1482 [ '#COMMA',
1483
1484 [ sys_dm_nth,
1485 sys_n,
1486 sys_whole
1487 ]
1488 ],
1489 ['#COMMA', sys_init]
1490 ]
1491 ]
1492 ],
1493
1494 [ when,
1495 sys_sv,
1496
1497 [ sys_dm_v,
1498 sys_sv,
1499
1500 [ '#BQ',
1501
1502 [ not,
1503
1504 [ null,
1505
1506 [ '#COMMA',
1507
1508 [ sys_dm_nth_cdr,
1509 sys_n,
1510 sys_whole
1511 ]
1512 ]
1513 ]
1514 ]
1515 ]
1516 ]
1517 ]
1518 ],
1519 [incf, sys_n],
1520 [pop, sys_vl]
1521 ],
1522
1523 [ t,
1524
1525 [ sys_dm_v,
1526 sys_v,
1527
1528 [ '#BQ',
1529
1530 [ if,
1531
1532 [ '#COMMA',
1533
1534 [ sys_dm_nth_cdr,
1535 sys_n,
1536 sys_whole
1537 ]
1538 ],
1539
1540 [ '#COMMA',
1541
1542 [ sys_dm_nth,
1543 sys_n,
1544 sys_whole
1545 ]
1546 ],
1547
1548 [ sys_dm_too_few_arguments
1549 ]
1550 ]
1551 ]
1552 ],
1553 [incf, sys_n],
1554 [pop, sys_vl]
1555 ]
1556 ]
1557 ]
1558 ],
1559
1560 [ sys_dm_v,
1561 [sys_v, sys_init],
1562
1563 [ if,
1564 [symbolp, sys_v],
1565
1566 [ push,
1567
1568 [ if,
1569 sys_init,
1570 [list, sys_v, sys_init],
1571 sys_v
1572 ],
1573 sys_xx_dl_xx
1574 ],
1575
1576 [ let,
1577 [[sys_temp, [gensym]]],
1578
1579 [ push,
1580
1581 [ if,
1582 sys_init,
1583 [list, sys_temp, sys_init],
1584 sys_temp
1585 ],
1586 sys_xx_dl_xx
1587 ],
1588 [sys_dm_vl, sys_v, sys_temp, []]
1589 ]
1590 ]
1591 ],
1592
1593 [ sys_dm_nth,
1594 [sys_n, sys_v],
1595
1596 [ multiple_value_bind,
1597 [sys_q, sys_r],
1598 [floor, sys_n, 4],
1599 [declare, [fixnum, sys_q, sys_r]],
1600
1601 [ dotimes,
1602 [sys_i, sys_q],
1603
1604 [ setq,
1605 sys_v,
1606 [list, [quote, cddddr], sys_v]
1607 ]
1608 ],
1609
1610 [ case,
1611 sys_r,
1612 [0, [list, [quote, car], sys_v]],
1613 [1, [list, [quote, cadr], sys_v]],
1614
1615 [ 2,
1616 [list, [quote, caddr], sys_v]
1617 ],
1618
1619 [ 3,
1620 [list, [quote, cadddr], sys_v]
1621 ]
1622 ]
1623 ]
1624 ],
1625
1626 [ sys_dm_nth_cdr,
1627 [sys_n, sys_v],
1628
1629 [ multiple_value_bind,
1630 [sys_q, sys_r],
1631 [floor, sys_n, 4],
1632 [declare, [fixnum, sys_q, sys_r]],
1633
1634 [ dotimes,
1635 [sys_i, sys_q],
1636
1637 [ setq,
1638 sys_v,
1639 [list, [quote, cddddr], sys_v]
1640 ]
1641 ],
1642
1643 [ case,
1644 sys_r,
1645 [0, sys_v],
1646 [1, [list, [quote, cdr], sys_v]],
1647 [2, [list, [quote, cddr], sys_v]],
1648
1649 [ 3,
1650 [list, [quote, cdddr], sys_v]
1651 ]
1652 ]
1653 ]
1654 ]
1655 ],
1656
1657 [ cond,
1658 [[listp, sys_vl]],
1659
1660 [ [symbolp, sys_vl],
1661
1662 [ setq,
1663 sys_vl,
1664 [list, [quote, c38_rest], sys_vl]
1665 ]
1666 ],
1667
1668 [ t,
1669
1670 [ error,
1671 '$ARRAY'([*],
1672 claz_base_character,
1673 "The defmacro-lambda-list ~s is not a list."),
1674 sys_vl
1675 ]
1676 ]
1677 ],
1678
1679 [ multiple_value_setq,
1680 [sys_doc, sys_decls, sys_body],
1681 [sys_find_doc, sys_body, []]
1682 ],
1683
1684 [ if,
1685
1686 [ and,
1687 [listp, sys_vl],
1688
1689 [ eq,
1690 [car, sys_vl],
1691 [quote, c38_whole]
1692 ]
1693 ],
1694
1695 [ setq,
1696 sys_whole,
1697 [second, sys_vl],
1698 sys_vl,
1699 [cddr, sys_vl]
1700 ],
1701 [setq, sys_whole, [gensym]]
1702 ],
1703
1704 [ if,
1705
1706 [ setq,
1707 sys_env,
1708
1709 [ member,
1710 [quote, c38_environment],
1711 sys_vl,
1712 kw_test,
1713 function(eq)
1714 ]
1715 ],
1716
1717 [ setq,
1718 sys_vl,
1719
1720 [ nconc,
1721 [ldiff, sys_vl, sys_env],
1722 [cddr, sys_env]
1723 ],
1724 sys_env,
1725 [second, sys_env]
1726 ],
1727
1728 [ progn,
1729 [setq, sys_env, [gensym]],
1730
1731 [ push,
1732
1733 [ '#BQ',
1734
1735 [ declare,
1736 [ignore, ['#COMMA', sys_env]]
1737 ]
1738 ],
1739 sys_decls
1740 ]
1741 ]
1742 ],
1743
1744 [ setq,
1745 sys_xx_dl_xx,
1746
1747 [ '#BQ',
1748
1749 [ c38_aux,
1750 ['#COMMA', sys_env],
1751 ['#COMMA', sys_whole]
1752 ]
1753 ]
1754 ],
1755
1756 [ setq,
1757 sys_ppn,
1758 [sys_dm_vl, sys_vl, sys_whole, t]
1759 ],
1760
1761 [ dolist,
1762 [sys_kc, sys_xx_key_check_xx],
1763
1764 [ push,
1765
1766 [ '#BQ',
1767
1768 [ unless,
1769
1770 [ getf,
1771 ['#COMMA', [car, sys_kc]],
1772 kw_allow_other_keys
1773 ],
1774
1775 [ do,
1776
1777 [
1778 [ sys_vl,
1779 ['#COMMA', [car, sys_kc]],
1780 [cddr, sys_vl]
1781 ]
1782 ],
1783 [[endp, sys_vl]],
1784
1785 [ unless,
1786
1787 [ member,
1788 [car, sys_vl],
1789
1790 [ quote,
1791
1792 [ '#COMMA',
1793 [cdr, sys_kc]
1794 ]
1795 ]
1796 ],
1797
1798 [ sys_dm_key_not_allowed,
1799 [car, sys_vl]
1800 ]
1801 ]
1802 ]
1803 ]
1804 ],
1805 sys_body
1806 ]
1807 ],
1808
1809 [ dolist,
1810 [sys_ac, sys_xx_arg_check_xx],
1811
1812 [ push,
1813
1814 [ '#BQ',
1815
1816 [ unless,
1817
1818 [ endp,
1819
1820 [ '#COMMA',
1821
1822 [ sys_dm_nth_cdr,
1823 [cdr, sys_ac],
1824 [car, sys_ac]
1825 ]
1826 ]
1827 ],
1828 [sys_dm_too_many_arguments]
1829 ]
1830 ],
1831 sys_body
1832 ]
1833 ],
1834
1835 [ values,
1836
1837 [ '#BQ',
1838
1839 [ sys_lambda_block,
1840 ['#COMMA', sys_name],
1841
1842 [ '#COMMA',
1843 [nreverse, sys_xx_dl_xx]
1844 ],
1845
1846 [ '#BQ-COMMA-ELIPSE',
1847 [nconc, sys_decls, sys_body]
1848 ]
1849 ]
1850 ],
1851 sys_doc,
1852 sys_ppn
1853 ]
1854 ]
1855 ]))).
1856*/
1857/*
1858:- side_effect(assert_lsp(sys_expand_defmacro,
1859 arglist_info(sys_expand_defmacro,
1860 f_sys_expand_defmacro,
1861
1862 [ sys_name,
1863 sys_vl,
1864 sys_body,
1865 c38_aux,
1866 sys_xx_dl_xx,
1867 [sys_xx_key_check_xx, []],
1868 [sys_xx_arg_check_xx, []],
1869 sys_doc,
1870 sys_decls,
1871 sys_whole,
1872 sys_ppn,
1873 [sys_env, []],
1874 [sys_envp, []]
1875 ],
1876 arginfo{ all:[sys_name, sys_vl, sys_body],
1877 allow_other_keys:0,
1878 aux:
1879 [ sys_xx_dl_xx,
1880 sys_xx_key_check_xx,
1881 sys_xx_arg_check_xx,
1882 sys_doc,
1883 sys_decls,
1884 sys_whole,
1885 sys_ppn,
1886 sys_env,
1887 sys_envp
1888 ],
1889 body:0,
1890 complex:0,
1891 env:0,
1892 key:0,
1893 names:
1894 [ sys_name,
1895 sys_vl,
1896 sys_body,
1897 sys_xx_dl_xx,
1898 sys_xx_key_check_xx,
1899 sys_xx_arg_check_xx,
1900 sys_doc,
1901 sys_decls,
1902 sys_whole,
1903 sys_ppn,
1904 sys_env,
1905 sys_envp
1906 ],
1907 opt:0,
1908 req:[sys_name, sys_vl, sys_body],
1909 rest:0,
1910 sublists:0,
1911 whole:0
1912 }))).
1913*/
1914/*
1915:- side_effect(assert_lsp(sys_expand_defmacro,
1916 init_args(3, f_sys_expand_defmacro))).
1917*/
1918/*
1919(defun dm-bad-key (key)
1920 (error "Defmacro-lambda-list contains illegal use of fmt90_x1." key))
1921
1922*/
1923
1924/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:6513 **********************/
1925:-lisp_compile_to_prolog(pkg_sys,[defun,'dm-bad-key',[key],[error,'$STRING'("Defmacro-lambda-list contains illegal use of ~s."),key]])
1926/*
1927:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
1928 sys_dm_bad_key,
1929 kw_function,
1930 f_sys_dm_bad_key)).
1931*/
1932wl:lambda_def(defun, sys_dm_bad_key, f_sys_dm_bad_key, [key], [[error, '$ARRAY'([*], claz_base_character, "Defmacro-lambda-list contains illegal use of ~s."), key]]).
1933wl:arglist_info(sys_dm_bad_key, f_sys_dm_bad_key, [key], arginfo{all:[key], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[key], opt:0, req:[key], rest:0, sublists:0, whole:0}).
1934wl: init_args(x, f_sys_dm_bad_key).
1935
1940f_sys_dm_bad_key(Key_In, FnResult) :-
1941 GEnv=[bv(key, Key_In)],
1942 catch(( ( get_var(GEnv, key, Key_Get),
1943 f_error(
1944 [ '$ARRAY'([*],
1945 claz_base_character,
1946 "Defmacro-lambda-list contains illegal use of ~s."),
1947 Key_Get
1948 ],
1949 Error_Ret)
1950 ),
1951 Error_Ret=FnResult
1952 ),
1953 block_exit(sys_dm_bad_key, FnResult),
1954 true).
1955:- set_opv(sys_dm_bad_key, symbol_function, f_sys_dm_bad_key),
1956 DefunResult=sys_dm_bad_key. 1957/*
1958:- side_effect(assert_lsp(sys_dm_bad_key,
1959 lambda_def(defun,
1960 sys_dm_bad_key,
1961 f_sys_dm_bad_key,
1962 [key],
1963
1964 [
1965 [ error,
1966 '$ARRAY'([*],
1967 claz_base_character,
1968 "Defmacro-lambda-list contains illegal use of ~s."),
1969 key
1970 ]
1971 ]))).
1972*/
1973/*
1974:- side_effect(assert_lsp(sys_dm_bad_key,
1975 arglist_info(sys_dm_bad_key,
1976 f_sys_dm_bad_key,
1977 [key],
1978 arginfo{ all:[key],
1979 allow_other_keys:0,
1980 aux:0,
1981 body:0,
1982 complex:0,
1983 env:0,
1984 key:0,
1985 names:[key],
1986 opt:0,
1987 req:[key],
1988 rest:0,
1989 sublists:0,
1990 whole:0
1991 }))).
1992*/
1993/*
1994:- side_effect(assert_lsp(sys_dm_bad_key, init_args(x, f_sys_dm_bad_key))).
1995*/
1996/*
1997(defun dm-too-few-arguments ()
1998 (error "Too few arguments are supplied to defmacro-lambda-list."))
1999
2000*/
2001
2002/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:6609 **********************/
2003:-lisp_compile_to_prolog(pkg_sys,[defun,'dm-too-few-arguments',[],[error,'$STRING'("Too few arguments are supplied to defmacro-lambda-list.")]])
2004/*
2005:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
2006 sys_dm_too_few_arguments,
2007 kw_function,
2008 f_sys_dm_too_few_arguments)).
2009*/
2010wl:lambda_def(defun, sys_dm_too_few_arguments, f_sys_dm_too_few_arguments, [], [[error, '$ARRAY'([*], claz_base_character, "Too few arguments are supplied to defmacro-lambda-list.")]]).
2011wl:arglist_info(sys_dm_too_few_arguments, f_sys_dm_too_few_arguments, [], arginfo{all:0, allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[], opt:0, req:0, rest:0, sublists:0, whole:0}).
2012wl: init_args(x, f_sys_dm_too_few_arguments).
2013
2018f_sys_dm_too_few_arguments(FnResult) :-
2019 _3768=[],
2020 catch(( f_error(
2021 [ '$ARRAY'([*],
2022 claz_base_character,
2023 "Too few arguments are supplied to defmacro-lambda-list.")
2024 ],
2025 Error_Ret),
2026 Error_Ret=FnResult
2027 ),
2028 block_exit(sys_dm_too_few_arguments, FnResult),
2029 true).
2030:- set_opv(sys_dm_too_few_arguments,
2031 symbol_function,
2032 f_sys_dm_too_few_arguments),
2033 DefunResult=sys_dm_too_few_arguments. 2034/*
2035:- side_effect(assert_lsp(sys_dm_too_few_arguments,
2036 lambda_def(defun,
2037 sys_dm_too_few_arguments,
2038 f_sys_dm_too_few_arguments,
2039 [],
2040
2041 [
2042 [ error,
2043 '$ARRAY'([*],
2044 claz_base_character,
2045 "Too few arguments are supplied to defmacro-lambda-list.")
2046 ]
2047 ]))).
2048*/
2049/*
2050:- side_effect(assert_lsp(sys_dm_too_few_arguments,
2051 arglist_info(sys_dm_too_few_arguments,
2052 f_sys_dm_too_few_arguments,
2053 [],
2054 arginfo{ all:0,
2055 allow_other_keys:0,
2056 aux:0,
2057 body:0,
2058 complex:0,
2059 env:0,
2060 key:0,
2061 names:[],
2062 opt:0,
2063 req:0,
2064 rest:0,
2065 sublists:0,
2066 whole:0
2067 }))).
2068*/
2069/*
2070:- side_effect(assert_lsp(sys_dm_too_few_arguments,
2071 init_args(x, f_sys_dm_too_few_arguments))).
2072*/
2073/*
2074(defun dm-too-many-arguments ()
2075 (error "Too many arguments are supplied to defmacro-lambda-list."))
2076
2077*/
2078
2079/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:6715 **********************/
2080:-lisp_compile_to_prolog(pkg_sys,[defun,'dm-too-many-arguments',[],[error,'$STRING'("Too many arguments are supplied to defmacro-lambda-list.")]])
2081/*
2082:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
2083 sys_dm_too_many_arguments,
2084 kw_function,
2085 f_sys_dm_too_many_arguments)).
2086*/
2087wl:lambda_def(defun, sys_dm_too_many_arguments, f_sys_dm_too_many_arguments, [], [[error, '$ARRAY'([*], claz_base_character, "Too many arguments are supplied to defmacro-lambda-list.")]]).
2088wl:arglist_info(sys_dm_too_many_arguments, f_sys_dm_too_many_arguments, [], arginfo{all:0, allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[], opt:0, req:0, rest:0, sublists:0, whole:0}).
2089wl: init_args(x, f_sys_dm_too_many_arguments).
2090
2095f_sys_dm_too_many_arguments(FnResult) :-
2096 _3778=[],
2097 catch(( f_error(
2098 [ '$ARRAY'([*],
2099 claz_base_character,
2100 "Too many arguments are supplied to defmacro-lambda-list.")
2101 ],
2102 Error_Ret),
2103 Error_Ret=FnResult
2104 ),
2105 block_exit(sys_dm_too_many_arguments, FnResult),
2106 true).
2107:- set_opv(sys_dm_too_many_arguments,
2108 symbol_function,
2109 f_sys_dm_too_many_arguments),
2110 DefunResult=sys_dm_too_many_arguments. 2111/*
2112:- side_effect(assert_lsp(sys_dm_too_many_arguments,
2113 lambda_def(defun,
2114 sys_dm_too_many_arguments,
2115 f_sys_dm_too_many_arguments,
2116 [],
2117
2118 [
2119 [ error,
2120 '$ARRAY'([*],
2121 claz_base_character,
2122 "Too many arguments are supplied to defmacro-lambda-list.")
2123 ]
2124 ]))).
2125*/
2126/*
2127:- side_effect(assert_lsp(sys_dm_too_many_arguments,
2128 arglist_info(sys_dm_too_many_arguments,
2129 f_sys_dm_too_many_arguments,
2130 [],
2131 arginfo{ all:0,
2132 allow_other_keys:0,
2133 aux:0,
2134 body:0,
2135 complex:0,
2136 env:0,
2137 key:0,
2138 names:[],
2139 opt:0,
2140 req:0,
2141 rest:0,
2142 sublists:0,
2143 whole:0
2144 }))).
2145*/
2146/*
2147:- side_effect(assert_lsp(sys_dm_too_many_arguments,
2148 init_args(x, f_sys_dm_too_many_arguments))).
2149*/
2150/*
2151(defun dm-key-not-allowed (key)
2152 (error "The key fmt90_x1 is not allowed." key))
2153
2154*/
2155
2156/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:6823 **********************/
2157:-lisp_compile_to_prolog(pkg_sys,[defun,'dm-key-not-allowed',[key],[error,'$STRING'("The key ~s is not allowed."),key]])
2158/*
2159:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
2160 sys_dm_key_not_allowed,
2161 kw_function,
2162 f_sys_dm_key_not_allowed)).
2163*/
2164wl:lambda_def(defun, sys_dm_key_not_allowed, f_sys_dm_key_not_allowed, [key], [[error, '$ARRAY'([*], claz_base_character, "The key ~s is not allowed."), key]]).
2165wl:arglist_info(sys_dm_key_not_allowed, f_sys_dm_key_not_allowed, [key], arginfo{all:[key], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[key], opt:0, req:[key], rest:0, sublists:0, whole:0}).
2166wl: init_args(x, f_sys_dm_key_not_allowed).
2167
2172f_sys_dm_key_not_allowed(Key_In, FnResult) :-
2173 GEnv=[bv(key, Key_In)],
2174 catch(( ( get_var(GEnv, key, Key_Get),
2175 f_error(
2176 [ '$ARRAY'([*],
2177 claz_base_character,
2178 "The key ~s is not allowed."),
2179 Key_Get
2180 ],
2181 Error_Ret)
2182 ),
2183 Error_Ret=FnResult
2184 ),
2185 block_exit(sys_dm_key_not_allowed, FnResult),
2186 true).
2187:- set_opv(sys_dm_key_not_allowed, symbol_function, f_sys_dm_key_not_allowed),
2188 DefunResult=sys_dm_key_not_allowed. 2189/*
2190:- side_effect(assert_lsp(sys_dm_key_not_allowed,
2191 lambda_def(defun,
2192 sys_dm_key_not_allowed,
2193 f_sys_dm_key_not_allowed,
2194 [key],
2195
2196 [
2197 [ error,
2198 '$ARRAY'([*],
2199 claz_base_character,
2200 "The key ~s is not allowed."),
2201 key
2202 ]
2203 ]))).
2204*/
2205/*
2206:- side_effect(assert_lsp(sys_dm_key_not_allowed,
2207 arglist_info(sys_dm_key_not_allowed,
2208 f_sys_dm_key_not_allowed,
2209 [key],
2210 arginfo{ all:[key],
2211 allow_other_keys:0,
2212 aux:0,
2213 body:0,
2214 complex:0,
2215 env:0,
2216 key:0,
2217 names:[key],
2218 opt:0,
2219 req:[key],
2220 rest:0,
2221 sublists:0,
2222 whole:0
2223 }))).
2224*/
2225/*
2226:- side_effect(assert_lsp(sys_dm_key_not_allowed,
2227 init_args(x, f_sys_dm_key_not_allowed))).
2228*/
2229/*
2230(defun find-doc (body ignore-doc)
2231 (if (endp body)
2232 (values nil nil nil)
2233 (let ((d (macroexpand (car body))))
2234 (cond ((stringp d)
2235 (if (or (endp (cdr body)) ignore-doc)
2236 (values nil nil (cons d (cdr body)))
2237 (multiple-value-bind (doc decls b) (find-doc (cdr body) t)
2238 (declare (ignore doc))
2239 (values d decls b))))
2240 ((and (consp d) (eq (car d) 'DECLARE))
2241 (multiple-value-bind (doc decls b)
2242 (find-doc (cdr body) ignore-doc)
2243 (values doc (cons d decls) b)))
2244 (t (values nil nil (cons d (cdr body))))))))
2245
2246*/
2247
2248/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:6905 **********************/
2249:-lisp_compile_to_prolog(pkg_sys,[defun,'find-doc',[body,'ignore-doc'],[if,[endp,body],[values,[],[],[]],[let,[[d,[macroexpand,[car,body]]]],[cond,[[stringp,d],[if,[or,[endp,[cdr,body]],'ignore-doc'],[values,[],[],[cons,d,[cdr,body]]],['multiple-value-bind',[doc,decls,b],['find-doc',[cdr,body],t],[declare,[ignore,doc]],[values,d,decls,b]]]],[[and,[consp,d],[eq,[car,d],[quote,'DECLARE']]],['multiple-value-bind',[doc,decls,b],['find-doc',[cdr,body],'ignore-doc'],[values,doc,[cons,d,decls],b]]],[t,[values,[],[],[cons,d,[cdr,body]]]]]]]])
2250/*
2251:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
2252 sys_find_doc,
2253 kw_function,
2254 f_sys_find_doc)).
2255*/
2256wl:lambda_def(defun, sys_find_doc, f_sys_find_doc, [sys_body, sys_ignore_doc], [[if, [endp, sys_body], [values, [], [], []], [let, [[sys_d, [macroexpand, [car, sys_body]]]], [cond, [[stringp, sys_d], [if, [or, [endp, [cdr, sys_body]], sys_ignore_doc], [values, [], [], [cons, sys_d, [cdr, sys_body]]], [multiple_value_bind, [sys_doc, sys_decls, sys_b], [sys_find_doc, [cdr, sys_body], t], [declare, [ignore, sys_doc]], [values, sys_d, sys_decls, sys_b]]]], [[and, [consp, sys_d], [eq, [car, sys_d], [quote, declare]]], [multiple_value_bind, [sys_doc, sys_decls, sys_b], [sys_find_doc, [cdr, sys_body], sys_ignore_doc], [values, sys_doc, [cons, sys_d, sys_decls], sys_b]]], [t, [values, [], [], [cons, sys_d, [cdr, sys_body]]]]]]]]).
2257wl:arglist_info(sys_find_doc, f_sys_find_doc, [sys_body, sys_ignore_doc], arginfo{all:[sys_body, sys_ignore_doc], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[sys_body, sys_ignore_doc], opt:0, req:[sys_body, sys_ignore_doc], rest:0, sublists:0, whole:0}).
2258wl: init_args(x, f_sys_find_doc).
2259
2264f_sys_find_doc(Body_In, Ignore_doc_In, FnResult) :-
2265 GEnv=[bv(sys_body, Body_In), bv(sys_ignore_doc, Ignore_doc_In)],
2266 catch(( ( get_var(GEnv, sys_body, Body_Get),
2267 ( s3q:is_endp(Body_Get)
2268 -> nb_setval('$mv_return', [[], [], []]),
2269 _6090=[]
2270 ; get_var(GEnv, sys_body, Body_Get13),
2271 f_car(Body_Get13, Car_Ret),
2272 f_macroexpand([Car_Ret], D_Init),
2273 LEnv=[bv(sys_d, D_Init)|GEnv],
2274 get_var(LEnv, sys_d, D_Get),
2275 ( is_stringp(D_Get)
2276 -> ( get_var(LEnv, sys_body, Body_Get21),
2277 f_cdr(Body_Get21, Endp_Param),
2278 f_endp(Endp_Param, FORM1_Res),
2279 FORM1_Res\==[],
2280 IFTEST19=FORM1_Res
2281 -> true
2282 ; get_var(LEnv, sys_ignore_doc, Ignore_doc_Get),
2283 IFTEST19=Ignore_doc_Get
2284 ),
2285 ( IFTEST19\==[]
2286 -> get_var(LEnv, sys_body, Body_Get25),
2287 get_var(LEnv, sys_d, D_Get24),
2288 f_cdr(Body_Get25, Cdr_Ret),
2289 CAR=[D_Get24|Cdr_Ret],
2290 nb_setval('$mv_return', [[], [], CAR]),
2291 TrueResult50=[]
2292 ; LEnv28=[bv(sys_doc, []), bv(sys_decls, []), bv(sys_b, [])|LEnv],
2293 get_var(LEnv28, sys_body, Body_Get29),
2294 f_cdr(Body_Get29, Find_doc_Param),
2295 f_sys_find_doc(Find_doc_Param, t, T),
2296 setq_from_values(LEnv28,
2297 [sys_doc, sys_decls, sys_b]),
2298 sf_declare(LEnv28,
2299 [ignore, sys_doc],
2300 Sf_declare_Ret),
2301 get_var(LEnv28, sys_b, B_Get),
2302 get_var(LEnv28, sys_decls, Decls_Get),
2303 nb_setval('$mv_return', [sys_d, Decls_Get, B_Get]),
2304 TrueResult50=sys_d
2305 ),
2306 LetResult=TrueResult50
2307 ; get_var(LEnv, sys_d, D_Get35),
2308 ( c0nz:is_consp(D_Get35)
2309 -> get_var(LEnv, sys_d, D_Get38),
2310 f_car(D_Get38, Eq_Param),
2311 f_eq(Eq_Param, declare, TrueResult),
2312 IFTEST32=TrueResult
2313 ; IFTEST32=[]
2314 ),
2315 ( IFTEST32\==[]
2316 -> LEnv42=[bv(sys_doc, []), bv(sys_decls, []), bv(sys_b, [])|LEnv],
2317 get_var(LEnv42, sys_body, Body_Get43),
2318 f_cdr(Body_Get43, Find_doc_Param60),
2319 get_var(LEnv42, sys_ignore_doc, Ignore_doc_Get44),
2320 f_sys_find_doc(Find_doc_Param60,
2321 Ignore_doc_Get44,
2322 Find_doc_Ret),
2323 setq_from_values(LEnv42,
2324 [sys_doc, sys_decls, sys_b]),
2325 get_var(LEnv42, sys_d, D_Get45),
2326 get_var(LEnv42, sys_decls, Decls_Get46),
2327 CAR66=[D_Get45|Decls_Get46],
2328 get_var(LEnv42, sys_b, B_Get47),
2329 nb_setval('$mv_return', [sys_doc, CAR66, B_Get47]),
2330 ElseResult=sys_doc
2331 ; get_var(LEnv, sys_body, Body_Get49),
2332 get_var(LEnv, sys_d, D_Get48),
2333 f_cdr(Body_Get49, Cdr_Ret67),
2334 CAR68=[D_Get48|Cdr_Ret67],
2335 nb_setval('$mv_return', [[], [], CAR68]),
2336 ElseResult=[]
2337 ),
2338 LetResult=ElseResult
2339 ),
2340 _6090=LetResult
2341 )
2342 ),
2343 _6090=FnResult
2344 ),
2345 block_exit(sys_find_doc, FnResult),
2346 true).
2347:- set_opv(sys_find_doc, symbol_function, f_sys_find_doc),
2348 DefunResult=sys_find_doc. 2349/*
2350:- side_effect(assert_lsp(sys_find_doc,
2351 lambda_def(defun,
2352 sys_find_doc,
2353 f_sys_find_doc,
2354 [sys_body, sys_ignore_doc],
2355
2356 [
2357 [ if,
2358 [endp, sys_body],
2359 [values, [], [], []],
2360
2361 [ let,
2362
2363 [
2364 [ sys_d,
2365 [macroexpand, [car, sys_body]]
2366 ]
2367 ],
2368
2369 [ cond,
2370
2371 [ [stringp, sys_d],
2372
2373 [ if,
2374
2375 [ or,
2376 [endp, [cdr, sys_body]],
2377 sys_ignore_doc
2378 ],
2379
2380 [ values,
2381 [],
2382 [],
2383 [cons, sys_d, [cdr, sys_body]]
2384 ],
2385
2386 [ multiple_value_bind,
2387 [sys_doc, sys_decls, sys_b],
2388
2389 [ sys_find_doc,
2390 [cdr, sys_body],
2391 t
2392 ],
2393 [declare, [ignore, sys_doc]],
2394
2395 [ values,
2396 sys_d,
2397 sys_decls,
2398 sys_b
2399 ]
2400 ]
2401 ]
2402 ],
2403
2404 [
2405 [ and,
2406 [consp, sys_d],
2407
2408 [ eq,
2409 [car, sys_d],
2410 [quote, declare]
2411 ]
2412 ],
2413
2414 [ multiple_value_bind,
2415 [sys_doc, sys_decls, sys_b],
2416
2417 [ sys_find_doc,
2418 [cdr, sys_body],
2419 sys_ignore_doc
2420 ],
2421
2422 [ values,
2423 sys_doc,
2424 [cons, sys_d, sys_decls],
2425 sys_b
2426 ]
2427 ]
2428 ],
2429
2430 [ t,
2431
2432 [ values,
2433 [],
2434 [],
2435 [cons, sys_d, [cdr, sys_body]]
2436 ]
2437 ]
2438 ]
2439 ]
2440 ]
2441 ]))).
2442*/
2443/*
2444:- side_effect(assert_lsp(sys_find_doc,
2445 arglist_info(sys_find_doc,
2446 f_sys_find_doc,
2447 [sys_body, sys_ignore_doc],
2448 arginfo{ all:[sys_body, sys_ignore_doc],
2449 allow_other_keys:0,
2450 aux:0,
2451 body:0,
2452 complex:0,
2453 env:0,
2454 key:0,
2455 names:
2456 [ sys_body,
2457 sys_ignore_doc
2458 ],
2459 opt:0,
2460 req:[sys_body, sys_ignore_doc],
2461 rest:0,
2462 sublists:0,
2463 whole:0
2464 }))).
2465*/
2466/*
2467:- side_effect(assert_lsp(sys_find_doc, init_args(x, f_sys_find_doc))).
2468*/
2469/*
2470(defun find-declarations (body)
2471 (if (endp body)
2472 (values nil nil)
2473 (let ((d (macroexpand (car body))))
2474 (cond ((stringp d)
2475 (if (endp (cdr body))
2476 (values nil (list d))
2477 (multiple-value-bind (ds b)
2478 (find-declarations (cdr body))
2479 (values (cons d ds) b))))
2480 ((and (consp d) (eq (car d) 'DECLARE))
2481 (multiple-value-bind (ds b)
2482 (find-declarations (cdr body))
2483 (values (cons d ds) b)))
2484 (t
2485 (values nil (cons d (cdr body))))))))
2486*/
2487
2488/*********** /home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/prolog/wam_cl/lib/lsp/defmacro.lsp:7608 **********************/
2489:-lisp_compile_to_prolog(pkg_sys,[defun,'find-declarations',[body],[if,[endp,body],[values,[],[]],[let,[[d,[macroexpand,[car,body]]]],[cond,[[stringp,d],[if,[endp,[cdr,body]],[values,[],[list,d]],['multiple-value-bind',[ds,b],['find-declarations',[cdr,body]],[values,[cons,d,ds],b]]]],[[and,[consp,d],[eq,[car,d],[quote,'DECLARE']]],['multiple-value-bind',[ds,b],['find-declarations',[cdr,body]],[values,[cons,d,ds],b]]],[t,[values,[],[cons,d,[cdr,body]]]]]]]])
2490/*
2491:- side_effect(generate_function_or_macro_name([name='GLOBAL', environ=env_1],
2492 sys_find_declarations,
2493 kw_function,
2494 f_sys_find_declarations)).
2495*/
2496wl:lambda_def(defun, sys_find_declarations, f_sys_find_declarations, [sys_body], [[if, [endp, sys_body], [values, [], []], [let, [[sys_d, [macroexpand, [car, sys_body]]]], [cond, [[stringp, sys_d], [if, [endp, [cdr, sys_body]], [values, [], [list, sys_d]], [multiple_value_bind, [sys_ds, sys_b], [sys_find_declarations, [cdr, sys_body]], [values, [cons, sys_d, sys_ds], sys_b]]]], [[and, [consp, sys_d], [eq, [car, sys_d], [quote, declare]]], [multiple_value_bind, [sys_ds, sys_b], [sys_find_declarations, [cdr, sys_body]], [values, [cons, sys_d, sys_ds], sys_b]]], [t, [values, [], [cons, sys_d, [cdr, sys_body]]]]]]]]).
2497wl:arglist_info(sys_find_declarations, f_sys_find_declarations, [sys_body], arginfo{all:[sys_body], allow_other_keys:0, aux:0, body:0, complex:0, env:0, key:0, names:[sys_body], opt:0, req:[sys_body], rest:0, sublists:0, whole:0}).
2498wl: init_args(x, f_sys_find_declarations).
2499
2504f_sys_find_declarations(Body_In, FnResult) :-
2505 GEnv=[bv(sys_body, Body_In)],
2506 catch(( ( get_var(GEnv, sys_body, Body_Get),
2507 ( s3q:is_endp(Body_Get)
2508 -> nb_setval('$mv_return', [[], []]),
2509 _5624=[]
2510 ; get_var(GEnv, sys_body, Body_Get12),
2511 f_car(Body_Get12, Car_Ret),
2512 f_macroexpand([Car_Ret], D_Init),
2513 LEnv=[bv(sys_d, D_Init)|GEnv],
2514 get_var(LEnv, sys_d, D_Get),
2515 ( is_stringp(D_Get)
2516 -> get_var(LEnv, sys_body, Body_Get19),
2517 f_cdr(Body_Get19, PredArgResult21),
2518 ( s3q:is_endp(PredArgResult21)
2519 -> get_var(LEnv, sys_d, D_Get22),
2520 CAR=[D_Get22],
2521 nb_setval('$mv_return', [[], CAR]),
2522 TrueResult49=[]
2523 ; LEnv25=[bv(sys_ds, []), bv(sys_b, [])|LEnv],
2524 get_var(LEnv25, sys_body, Body_Get26),
2525 f_cdr(Body_Get26, Find_declarations_Param),
2526 f_sys_find_declarations(Find_declarations_Param,
2527 Find_declarations_Ret),
2528 setq_from_values(LEnv25, [sys_ds, sys_b]),
2529 get_var(LEnv25, sys_d, D_Get27),
2530 get_var(LEnv25, sys_ds, Ds_Get),
2531 LetResult24=[D_Get27|Ds_Get],
2532 get_var(LEnv25, sys_b, B_Get),
2533 nb_setval('$mv_return', [LetResult24, B_Get]),
2534 TrueResult49=LetResult24
2535 ),
2536 LetResult=TrueResult49
2537 ; get_var(LEnv, sys_d, D_Get34),
2538 ( c0nz:is_consp(D_Get34)
2539 -> get_var(LEnv, sys_d, D_Get37),
2540 f_car(D_Get37, Eq_Param),
2541 f_eq(Eq_Param, declare, TrueResult),
2542 IFTEST31=TrueResult
2543 ; IFTEST31=[]
2544 ),
2545 ( IFTEST31\==[]
2546 -> LEnv41=[bv(sys_ds, []), bv(sys_b, [])|LEnv],
2547 get_var(LEnv41, sys_body, Body_Get42),
2548 f_cdr(Body_Get42, Find_declarations_Param57),
2549 f_sys_find_declarations(Find_declarations_Param57,
2550 Find_declarations_Ret61),
2551 setq_from_values(LEnv41, [sys_ds, sys_b]),
2552 get_var(LEnv41, sys_d, D_Get43),
2553 get_var(LEnv41, sys_ds, Ds_Get44),
2554 LetResult40=[D_Get43|Ds_Get44],
2555 get_var(LEnv41, sys_b, B_Get45),
2556 nb_setval('$mv_return', [LetResult40, B_Get45]),
2557 ElseResult50=LetResult40
2558 ; get_var(LEnv, sys_body, Body_Get47),
2559 get_var(LEnv, sys_d, D_Get46),
2560 f_cdr(Body_Get47, Cdr_Ret),
2561 CAR63=[D_Get46|Cdr_Ret],
2562 nb_setval('$mv_return', [[], CAR63]),
2563 ElseResult50=[]
2564 ),
2565 LetResult=ElseResult50
2566 ),
2567 _5624=LetResult
2568 )
2569 ),
2570 _5624=FnResult
2571 ),
2572 block_exit(sys_find_declarations, FnResult),
2573 true).
2574:- set_opv(sys_find_declarations, symbol_function, f_sys_find_declarations),
2575 DefunResult=sys_find_declarations. 2679
2680