freenode/#clasp - IRC Chatlog
Search
14:26:44
drmeister
I got this far with netcdf files - I can read the dimensions, variables and next I'll do global attributes.
14:51:44
scymtym
drmeister: what is the " - integer" in "5 - integer" in line 94? is this something clasp's DESCRIBE does? it not present in e.g. line 103
14:56:09
drmeister
Yeah - line 92 reads a hash-table key "label" is associated with the value 5, which is an integer.
14:58:36
drmeister
I've got the global attributes now. Now all I need is to figure out how to get the actual data.
14:59:37
drmeister
Maybe it's just super intelligent - like: "He gets it - he's a smart guy - it's an integer - and I don't need to keep repeating myself".
15:58:12
Selwyn
Concerning staple: After following kpoeck's instructions I am able to quickload and start staple-server, but when I run 'curl http://localhost:5123/' I get a 500 internal server error and a simple-type-error: not a condition type: nil
16:02:37
phoe
As a sidenote: is anyone willing to run https://github.com/phoe/package-local-nicknames-tests against Clasp?
16:05:43
Shinmera
Not using fully descriptive package names in the system to test package local nicknames is almost hypocritical
16:10:34
phoe
Shinmera: this is a testing package, so theoretically, you should be able to load it even if you fail 100% of the tests
16:39:54
phoe
I assume it's not anonymous functions per se but rather an imperfection of the debugger
16:56:04
scymtym
looks like the original error is in frame 35 or 36. everything else seems to be a failed attempt to enter the SLIME debugger
17:00:36
phoe
https://github.com/usocket/usocket/blob/b3beeb904945a6f15e7ef8b9888d26c67b209603/backend/sbcl.lisp#L773
17:18:24
Shinmera
either that, or it's evaluating a FOR clause that comes after a WHILE clause despite the WHILE having failed
17:21:01
Shinmera
Or do people have a reasonable explanation why the following produces an array out of bounds access: (loop for i from 0 while (< i (length array)) for child = (aref array i) do (stuff child))
17:27:44
Shinmera
Hrm, Clasp fails to invoke a method specialised on VECTOR with a vector, but I can't seem to reproduce with the straightforward case
17:36:11
Bike
(subtypep 'core:mdarray-t 'vector) => T T, (subtypep (find-class 'core:mdarray-t) (find-class 'vector)) => NIL T
17:37:37
Bike
the fact that the class-of an adjustable vector is mdarray is probably going to be an issue
17:56:31
kpoeck_
I tested yesterday staple-server by documenting staple server in clasp and it worked fine, but not using slime.
18:04:50
kpoeck_
Shinmera: on the wiki page for loading staple-server in clasp, there a workaround for a vector problem, is yours perhaps the same? In dom.lisp?
18:05:12
Bike
here we go. (package-nicknames (find-package "AST-TOOLING")) => (NIL). that seems wrong
18:05:17
Shinmera
anyway, here's how to use Staple to generate a symbol index: https://plaster.tymoon.eu/view/1180#1180
18:06:30
Shinmera
It also somehow calls serialize-object with NIL sometimes, hence the second method definition. I'll look into why that happens now
18:08:40
Shinmera
kpoeck_: Ah, the second method is because your workaround is wrong. The loop should use `below`, not `to` in the iteration clause.
18:10:56
Shinmera
C-c C-c in the REPL during a long running thing seems to just print "About to with-lock in wake-thread" and then do nothing?
18:39:00
Shinmera
which does slime-read-package-name, which then calls (swank:list-all-package-names t)
18:39:47
Bike
the underlying problem is that we have a package with NIL as a nickname for some ridiculous reason
18:41:31
kpoeck__
Bike: the subtype things for array is that defined in https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/lsp/predlib.lsp#L1129 and following?
18:42:28
Bike
defpackage allows string designators, so i suppose that's just setting "NIL" as a nickname
18:43:23
Bike
kpoeck__: the problem has to do with the underlying class structure, not how it uses in typep. they're kind of separate things, which is of course bad
21:00:45
phoe
and whenever someone asks me what it means I direct them to https://youtu.be/8X69_42Mj-g?t=16m58s
21:33:45
Shinmera
drmeister: did you see my comments about clasp problems and how to get staple to document stuff?
21:44:14
Shinmera
The gist is there's a bug in your type hierarchy for arrays that's blocking Plump. Otherwise, this snippet here shows how to generate static documentation for a package with staple: https://plaster.tymoon.eu/view/1180
21:57:56
drmeister
I'll have to check with Bike about what it means to get to a solution in the fastest way.
22:02:31
drmeister
(make-array 0 :adjustable t) in clasp creates an instance of MDArray_O - this is adjustable - but it is a vector.
22:03:06
drmeister
Perhaps we have to go into TYPEP and explicitly check if MDArray_O instances have one dimension to test if they are vectors.
22:06:14
Shinmera
Right, so, you need either a distinct class for vectors, or make typep more expensive
22:07:46
Shinmera
though actually, is (class-of (make-array 0 :adjustable T)) => vector, like it should be?
22:08:26
drmeister
Nope . (class-of (make-array 0 :adjustable t)) -> #<The BUILT-IN-CLASS CORE:MDARRAY-T>
22:09:40
Shinmera
could hack it again I suppose, but leaking the information in multiple places seems very gross.
22:52:21
drmeister
Bike: Do you have any ideas as to what to do with this (typep (make-array 0 :adjustable t) (find-class 'vector)) => NIL issue?
22:53:24
Bike
we might need to add non-simple-array-but-still-a-vecxtor classes for all element types
22:53:57
drmeister
Also - does implementing static vectors mean we implement a simple vectors that point at arbitrary memory? Or do I want to allocate our current simple vectors in a non-moving pool?
22:55:14
drmeister
Re "we might need to add non-simple-array-but-still-a-vector classes for all element types" - do you mean C++ classes or Common Lisp classes?
22:57:00
drmeister
Currently MDArray_O doesn't have a slot for its class - where does it get it from? The stamp?