ref: e05b80c03df443e113a4cbff78caf0c1312f7b39
parent: f6115b5ebb70bffd3ba4b11dbe05d96d7e1cc12c
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Dec 31 13:15:25 EST 2024
print-stack-trace: avoid creating a bunch of symbols for nothing
--- a/flisp.boot
+++ b/flisp.boot
@@ -340,14 +340,14 @@
#fn(function:vals)
1- #fn(length)
#fn("8000n170A0G513>0F<A0G929363:O:" #(closure?))) find-in-f)
- #fn(";000n220A01>321{863I02273247576865152275261:28:" #(#fn("8000n02021AF>292524O:" #(#fn(for-each)
- #fn("8000n1A<0Fq63:" #())))
- #fn("6000n10B3F00<20C?00T21C8072061:23061:" #(thrown-value
- ffound caddr #fn(raise))) #fn(symbol) string-join #fn(map) string reverse! "/" λ) fn-name)
- reverse! length> list-tail *interactive* filter closure? #fn(map)
- #fn("6000n10Z;380420061:" #(#fn(top-level-value)))
- #fn(environment) #fn(for-each) #fn("8000n170A<0KGF5271051==P5147250492<El23?0730KG0EG52@30O49292<KM_:" #(print
- vector->list newline disassemble))) print-stack-trace)
+ #fn(":000n220A01>321{863E0722374758651522662:27:" #(#fn("8000n02021AF>292524O:" #(#fn(for-each)
+ #fn("8000n1A<0Fq63:" #())))
+ #fn("6000n10B3F00<20C?00T21C8072061:23061:" #(thrown-value
+ ffound caddr #fn(raise))) string-join #fn(map) string reverse! "/" "λ") fn-name) reverse! length>
+ list-tail *interactive* filter closure? #fn(map) #fn("6000n10Z;380420061:" #(#fn(top-level-value)))
+ #fn(environment) #fn(for-each) #fn("9000n17021A<0KGF52524222374051==52470257652492<El23?0770KG0EG52@30O49292<KM_:" #(princ
+ "(" #fn(for-each) #fn("6000n1702151472061:" #(princ " " print)) vector->list ")" *linefeed*
+ disassemble))) print-stack-trace)
print-to-string #fn("8000n1205021085524228561:" #(#fn(buffer)
#fn(write)
#fn(iostream->string)) print-to-string)
binary files a/flisp.boot.builtin b/flisp.boot.builtin differ
--- a/system.lsp
+++ b/system.lsp
@@ -980,8 +980,8 @@
e)
#f))))
(if p
- (symbol (string-join (map string (reverse! p)) "/"))
- 'λ)))
+ (string-join (map string (reverse! p)) "/")
+ "λ")))
(let ((st (reverse! (if (length> st 3)
(list-tail st (if *interactive* 5 4))
st)))
@@ -991,10 +991,12 @@
(n 0))
(for-each
(λ (f)
- (print (cons (fn-name (aref f 1) e)
- (cdr (cdr (vector->list f)))))
- (newline)
- (when (= n 0) (disassemble (aref f 1) (aref f 0)))
+ (princ "(" (fn-name (aref f 1) e))
+ (for-each (λ (p) (princ " ") (print p))
+ (cdr (cdr (vector->list f))))
+ (princ ")" *linefeed*)
+ (when (= n 0)
+ (disassemble (aref f 1) (aref f 0)))
(set! n (+ n 1)))
st)))