freenode/#lisp - IRC Chatlog
Search
18:56:54
drmeister
Hi - I added some specialized vector/array types to Clasp and I thought I did everything right - but the new types/classes aren't working properly wrt subtypep
19:00:12
drmeister
I make a vector of '(integer 0 255) and the (subtypep (class-of <vec>) 'vector) -> T Great
19:01:49
drmeister
(class-of <vec-in-clasp>) -> #<BUILT-IN-CLASS SIMPLE-VECTOR-BYTE8-T> Where ECL returns #<The BUILT-IN-CLASS VECTOR>
19:02:52
drmeister
Clasp implements the specialized vectors as C++ classes - so there are a bunch of them for signed and unsigned integers and integers of 8, 16, 32, 64 bits.
19:05:19
drmeister
If anyone has pointers on how to get Clasp's subclassp to respond properly - I'm all ears.
19:05:40
drmeister
I will continue to dig into the subtypep code to figure out where the crucial test is.
19:07:52
drmeister
Well, one reason I was having trouble was cacheing of the subtypep result- I figured out how to disable it.
19:13:21
axion
While I don't have a solution, I'd just like to thank you for your determination with Clasp over the years. I have not tried it yet, but it is a project on my radar.
20:13:59
drmeister
Is this a problem? (subtypep (find-class 'core:simple-vector-int8-t) 'vector) -> NIL && (subtypep (find-class 'core:simple-vector-int8-t) (find-class 'vector)) -> T
20:14:27
drmeister
It's inconsistent right? It means I still have to weave 'core:simple-vector-int8-t into the subtypep code.
20:23:22
jasom
e.g. all strings are in a single class despite there being 3 string types specified in the standard
20:27:15
jasom
I don't know if you're allowed to have the class of a vector be something other than the ones specified in the standard
20:27:47
jasom
hmm actually I think you are because IIRC some implementations define vectors of base-char to be a subclass of string
3:13:51
pookleblinky
heh. Mezzano, what hopes to become a full OS, is smaller than neovim *and* sbcl.
3:17:49
beach
Don't worry, it will get bigger as new features and new compiler optimizations are added.