shithub: sl

Download patch

ref: 0d07fd7ffdcfeeb89426d3e8a06c95b895b316fe
parent: 91d7a2d167f2eae02479f2129bf1dae2e79a1612
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Mon Apr 14 14:09:54 EDT 2025

move assert-fail to system.sl

--- a/boot/sl.boot
+++ b/boot/sl.boot
@@ -56,14 +56,15 @@
                                                                          *io-in* #fn(copy-list)))  unless #fn("z1200q211Pe4:" #(if
   begin))  defmacro #fn("z17015186<86=873?0710<870=53@30q42223240<e22526e10=e127885153e3e2:" #(separate-doc-from-body
   sym-set-doc void set-syntax! quote #fn(nconc) λ #fn(copy-list)))  time #fn("n1202122e1e2e123024252622e121e32728e5e3e3:" #(let
-  #:g434 time-now prog1 princ "Elapsed time: " - " seconds" *linefeed*))  cond #fn("z0Ib520852185>1_51485<061:" #(#0=#fn("z0I:" #() void)
+  #:g437 time-now prog1 princ "Elapsed time: " - " seconds" *linefeed*))  cond #fn("z0Ib520852185>1_51485<061:" #(#0=#fn("z0I:" #() void)
   #fn("n10H340q:0<85<20Q;J80485<DQ3C085=J6085<:2185=P:85=J@02285<A<0=51e3:85T23C\x94074758551513c07675855151278685<e2e12886217975855151PA<0=51e4e3:272:85<e2e1282:7585512:e2A<0=51e4e3:2885<2185=PA<0=51e4:" #(else
   begin or => 1arg-lambda? caddr caadr let if cddr #:g19) cond-clauses->if)))  do #fn("z21<2071052207205220230522425268827872829e12:1=51522829e12:82512825e18:52e153e4e3e2e12825e18952e3:" #(#fn(map)
-  car cadr #fn("n170051B38071061:0<:" #(cddr caddr)) letrec #:g406 λ if #fn(nconc) begin #fn(copy-list)))  mark-label #fn("n22002122e21e4:" #(emit
-  quote label))  with-bindings #fn("z12071052207205220230522425e12076888653e12720288687535129242:e12715152242:e127202;8688535152e3e164:" #(#fn(map)
+  car cadr #fn("n170051B38071061:0<:" #(cddr caddr)) letrec #:g406 λ if #fn(nconc) begin #fn(copy-list)))  assert-fail #fn("z12021220qe32324e113E0252624e2271<e2e3@30De3e3e2:" #(assert
+  trycatch begin λ e eq? car quote))  with-bindings #fn("z12071052207205220230522425e12076888653e12720288687535129242:e12715152242:e127202;8688535152e3e164:" #(#fn(map)
   car cadr #fn("n12060:" #(#fn(gensym))) #fn(nconc) let list #fn(copy-list)
   #fn("n22001e3:" #(set!)) unwind-protect begin #fn("n22001e3:" #(set!))))  let #fn("z1q0R3B00?641<?041=?1@30q42021e12223052e124151532225052863C0268687e2e186e3@408788P:" #(#fn(nconc)
-  λ #fn(map) #fn("n10B3500<:0:") #fn(copy-list) #fn("n10B3500T:7060:" #(void)) letrec))  bcode:code #fn("n1200Ee3:" #(aref))  make-label #fn("n120e1:" #(gensym))  bcode:cenv #fn("n1200r3e3:" #(aref))  quasiquote #fn("n1700E62:" #(bq-process))  > #fn("z12021e1721510e163:" #(#fn(nconc)
+  λ #fn(map) #fn("n10B3500<:0:") #fn(copy-list) #fn("n10B3500T:7060:" #(void)) letrec))  bcode:code #fn("n1200Ee3:" #(aref))  make-label #fn("n120e1:" #(gensym))  mark-label #fn("n22002122e21e4:" #(emit
+  quote label))  bcode:cenv #fn("n1200r3e3:" #(aref))  quasiquote #fn("n1700E62:" #(bq-process))  > #fn("z12021e1721510e163:" #(#fn(nconc)
   < reverse))  when #fn("z1200211Pqe4:" #(if begin))  help #fn("O100010003000W1000J60q?14W2000J7071?241;3<0422231520P13;02410e3@3007588265275882752IIIIIb;b<288;29_514288<2:_514282;?=514282<87>1?>514282=??51402>CM02?2@8<>18?2A7B26528=5252@$089;J5048:3\xe3082888:2C154475882D527E2F8@527E2G8@52893H07H7I2J898A535147K50@30q48B3W07K5047H2L5147K5042?2M8;>18B5247K50@30q^1^1^1413c07K5047H2N5147K5042?2O8;>18?2A7B26528>525247K50@30q47P50@g07H2Q13<02R12S52@402T05341JE00R3@00ZJ;07H2U51@30q47K5047P60:" #(#(:print-header
   0) help-print-header #fn(sym) ":doc-" doc getprop *doc* *formals-list* #0#
   #fn("n313?02021820>2162:72504738251474061:" #(#fn(for-each)
--- a/src/system.sl
+++ b/src/system.sl
@@ -862,6 +862,12 @@
 (defmacro (assert expr)
   `(if ,expr T (raise '(assert-failed ,expr))))
 
+(defmacro (assert-fail expr . what)
+  `(assert (trycatch (begin ,expr NIL)
+                     (λ (e) ,(if what
+                                 `(eq? (car e) ',(car what))
+                                 T)))))
+
 (def traced?
   (let ((sample-traced-lambda (λ args (write (cons 'x args))
                                       (newline)
--- a/test/unittest.sl
+++ b/test/unittest.sl
@@ -1,9 +1,3 @@
-(defmacro (assert-fail expr . what)
-  `(assert (trycatch (begin ,expr NIL)
-                     (λ (e) ,(if what
-                                 `(eq? (car e) ',(car what))
-                                 T)))))
-
 ; (return)
 (def (fr) 1 (return) 0)
 (assert (void? (fr)))