libera/#commonlisp - IRC Chatlog
Search
22:12:50
jcowan
I think this is a complete list of the types that have representations in standard syntax (disregarding sharpsign-dot expressions): numbers, symbols, conses, strings, characters, simple vectors, and bit vectors. Am I missing anything?
22:35:31
aeth
keywords are kind of sort of different from symbols in that they're :foo instead of keyword:foo so you could include them on the list
22:36:10
aeth
since you could view them as being of a subtype with its own representation in standard syntax
22:37:11
aeth
along those lines, you may want to consider complex numbers with the #C(...) syntax separate from the other numbers
22:39:36
aeth
(which is a difference from Scheme, where they have a very number-y representation, not unlike the rationals)
23:05:12
White_Flame
you'd also split up float vs int with that syntax-level distinction, but I don't think that's as meaningful to the list
23:33:29
seok
Anyone know whether zpb-ttf can return all character code points available in the ttf or I have to implement a loop looping through all code points with glyph-exists-p?
23:57:15
jcowan
Okay, thanks, so pathnames are included. Random-states are readable/printable, but have no specific syntax.
8:35:19
pjb
nij-: When the answer is "No", it means it's not trivial to do. You can always do it, with sufficient work. If you want to change the evaluation rules, you may do something like in cl-stepper. https://gitlab.com/com-informatimago/com-informatimago/-/tree/master/common-lisp/lisp
8:36:08
pjb
nij-: then instead of (defpackage "MY-PROGRAM" (:use "CL")) you'd write: (defpackage "MY-PROGRAM" (:use "MY-RULES-LISP"))
8:41:55
pjb
nij-: as mentionned, there's no standard way to change the evaluator (ie. EVAL, COMPILE and COMPILE-FILE). BUT you can either feed the evaluator some changed code like cl-stepper does, thru different macro expansions, OR you can use a different evaluator: write your own MY-RULE:EVAL, MY-RULE:COMPILE, MY-RULE:COMPILE-FILE, and the functions that call them such as MY-RULE:LOAD, and use them instead of CL:EVAL, … CL:LOAD.
8:42:53
pjb
nij-: note: this is a common occurence, for example, CLIM defines its own objects and methods. A clim application (:use "CLIM") instead of "CL", and you get clim:defmethod instead of cl:defmethod, etc.
9:04:03
pjb
Hmm, in McCLIM, there's both a CLIM-LISP and a CLIM package, that re-exports most of CLIM-LISP stuff.