freenode/#clasp - IRC Chatlog
Search
13:07:41
Shinmera
static vectors is a library that allows creating vectors for which you can get a pointer to their contents.
13:07:55
Shinmera
allowing you to pass the contents to other programs and libraries that are not Lisp.
13:09:28
drmeister
Is Steven in? I finally got the python and javascript versioning somewhat under control.
13:10:02
Shinmera
But apparently this dependency might have been fixed. https://github.com/McCLIM/McCLIM/issues/520
13:10:23
drmeister
Also, the jupyterlab kernel HAS to start up quickly or there are timeouts and things sort of work but also have problems later on in the session.
13:13:40
beach
If static-vectors is a library that uses FFI, I am very disturbed by this information.
13:14:30
Shinmera
beach: pngload is a faster png loading library that offers loading things into a static vector as an optional feature so that you can immediately share the data with something like OpenGL.
13:28:07
beach
stassats: I am sorry, but I don't have the energy to answer that question right now. Maybe some other time.
13:40:49
jackdaniel
opticl does not require static-vectors anymore for unsupported platforms, it falls back to old library for png
13:41:15
jackdaniel
as of ffi, there are two experimental backends (not merged): windows and sdl; both work on top of ffi
13:43:08
Shinmera
All you need for static vectors is: 1) a way to stop the GC from moving it and 2) a way to get a pointer to the array's contents
13:46:07
Shinmera
The implementation can offer to free them, but to be portable the user must invoke free-static-vector, yes.
15:23:16
shiho
drmeister: I tried ./waf build_dboehm and got the error. "Build failed --> missing file: '/Users/shiho/Development/cando/build/boehm/fasl/cando.fasb'"
15:47:24
beach
Oh, and the new boot code I am working on for SICL is much faster, because I make the host expand my macros and I also make the host do most computations on the types that I borrow from it, like lists, etc.
16:56:58
kpoeck
What about -(or sbcl allegro cmu clisp openmcl lispworks ecl abcl mocl genera clasp) (error "your implementation is not supported")
16:59:00
Shinmera
kpoeck: The reader error ain't so nice but that line won't work there because it's within a defpackage (so no forms)
17:58:59
drmeister
Shiho and Kevslinger - can you ping me when you are (1) in and (2) cando has finished building?
18:01:24
drmeister
Kevslinger: You may still need to use: /opt/clasp/bin/dev-fork-jupyter-lab ~/Development/clasp/build/boehm/iclasp-boehm
18:02:20
drmeister
Basically, the dev-fork-jupyter-lab script needs the path to the clasp executable you want to run
18:02:44
drmeister
We will simplify this as we go forward - right now we just need to get up and running with this new development environment.
18:04:07
drmeister
Shinmera: I actually need to use trivial-gray-streams right now. I need a gray stream that looks like a string-output-stream but that sends a message to jupyterlab with its contents whenever stream-finish-output is invoked.
18:05:26
drmeister
Kevslinger: Could you rename ~/Development/clasp to ~/Development/cando? We should standardize that if you have extensions/cando then you are building cando and not clasp.
18:24:42
kpoeck
Condition of type: SIMPLE-ERROR No applicable method for UPDATE-INSTANCE-FOR-REDEFINED-CLASS with arguments of types CLAUSE-INFO NULL NULL NULL.
18:26:56
shiho
drmeister: Build doesn't finish but looks stopped. It says "Condition of type: SYMPLE-PROGRAM-ERROR"
18:26:56
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/clos/change.lsp#L108
18:28:40
drmeister
kpoeck: What do you get with (clos:class-precedence-list (find-class 'clause-info))
18:30:08
drmeister
I'm wondering why that method didn't get invoked - the first argument is probably a standard-object - no?
18:31:15
kpoeck
returns (#<The STRUCTURE-CLASS ITERATE::CLAUSE-INFO> #<The STRUCTURE-CLASS STRUCTURE-OBJECT> #<The BUILT-IN-CLASS T>)
18:38:46
kpoeck
Iterate does not seem to have any clos-code, so I wonder why this is even been called
18:39:15
kpoeck
The backtrace from quicklisp is not too helpfull, will try to load iterate the old fashioned way
18:39:46
kpoeck
There are a couple of (eval-when () ) in the code, that probably executing while loading the fasl
18:54:25
drmeister
Kevslinger: I made a mistake with clasp-local-projects that might hit you - it hit shiho
18:56:03
drmeister
Yeah - it's not a big deal. You probably don't have the latest quicklisp packages because I used clasp's fetch-git-revision.sh script incorrectly.
19:08:34
drmeister
I'm not used to getting positive updates - I'm immediately suspicious when anyone says anything nice to me.
19:26:36
kpoeck
The problem in iterate is here: https://gitlab.common-lisp.net/iterate/iterate/blob/master/iterate.lisp#L2474
19:27:53
kpoeck
As far as I can see, there is no structure redefinition, just calling the constructor
19:32:37
kpoeck
(defmethod clos:update-instance-for-redefined-class ((instance structure-object) added-slots discarded-slots property-list &rest initargs))
19:33:31
kpoeck
I did (load "/Users/karstenpoeck/quicklisp/dists/quicklisp/software/iterate-20180228-git/package.lisp")
19:33:55
kpoeck
and (compile-file "/Users/karstenpoeck/quicklisp/dists/quicklisp/software/iterate-20180228-git/iterate.lisp" :print t)
19:35:52
Bike
Hm. Not sure what to do here. I mean conceptually, redefining a structure class is what's happening here, somehow. That's not okay to do. Maybe we want to support it to be nice, but what if the slot definitions change? It's not obvious how the instance should be updated.
19:37:53
drmeister
Yeeesh - I thought the standard said that structure classes absolutely can not be redefined.
19:39:21
drmeister
Clasp's structs are implemented with the same underlying machinery as classes - so we might be able to support this.
19:42:46
Bike
we have the same underlying representation, but that might change, and anyway the behavior for standard objects is based on how regular slot definitions work
19:43:35
Bike
(making sure we're on the same page: update-instance is called by the gf machinery when it finds a stamp mismatch)
20:02:46
Kevslinger
drmeister: When I try running the dev-fork jupyterlab, I get an error right after "Starting Jupyter-lab" that says "ModuleNotfoundError: No module named jupyter_client.session"
20:03:40
kpoeck
To the best of my knowledge -i'd put in print in the defstruct macro - every defstruct is just called once
20:03:40
Kevslinger
After doing some digging, I found that the jupyter_client package in /opt/clasp/lib/python3.7/site-packages contains a session.py file which is a symlink to a hardcoded /Users/meister/Development/widget-dev/ipywidgets7.1/jupyter_client/session.py
20:30:33
kpoeck
(ql:quickload "opticl") loads now (with the workaround for clos:update-instance-for-redefined-class)