freenode/#clasp - IRC Chatlog
Search
13:42:06
Bike
drmeister: https://github.com/clasp-developers/clasp/issues/739 here's the bug. if you change the system to add the indirection, you can use the example to test, and mention the bug in the commit msg
14:06:13
selwyn
the code is so short and specialised that it's not worth the effort to integrate it with lisp
14:07:16
selwyn
though i *may* use cl4py eventually to demonstrate some other things i am working on. does it work with clasp?
14:43:23
Bike
drmeister: https://github.com/clasp-developers/clasp/issues/712 kpoeck actually found the closure problem first, so here's a real example of it causing a problem
14:52:06
drmeister
heisig: Do you have a small example of how the cl4py method thing works? I tried to generate some examples but my tests failed to uncover a working example.
14:53:38
heisig
drmeister: In theory, all you have to do is receive a non-trivial Lisp object. Then, cl4py will figure out its class and add all relevant methods.
14:53:45
drmeister
Well, I was trying to get it to work with some cando classes - but it may be that I'm not integrating cando C++ methods properly so that cl4py can treat them like methods.
14:55:05
heisig
I define 'member functions' as generic functions that specialize, with the first argument, on a particular class (or superclass thereof).
14:57:07
heisig
Well, I see one way, but that is a pretty ugly one and should only be attempted in safe code :)
14:59:51
drmeister
No - it's fine - I've been planning to switch Clasp's single-dispatch-generic-functions to generic-functions.
15:00:40
heisig
Ok, then I won't release this monster: (defun member-function-p (f class) (ignore-errors (and (apply f (class-prototype class) (figure-out-more-suitable-args f)) t))).
15:22:34
drmeister
Bike: When you get a few minutes - can you drop by my office - this generic function thing is thornier than I thought.
16:14:45
selwyn
if c++ methods were to be generic functions, would c++ objects then be CLOS objects?
17:03:34
drmeister
Bike: Could we pick up that conversation about generic functions and set-funcallable-instance-function in my office?
17:34:36
usha
from /home/uv10/clasp/extensions/cando: Test does not build: Traceback (most recent call last):
17:34:36
usha
File "/home/uv10/clasp/.waf-2.0.10-21b9fcc8516c313e4e3a81dc239e6d66/waflib/Configure.py", line 324, in run_build
17:34:37
usha
File "/home/uv10/clasp/.waf-2.0.10-21b9fcc8516c313e4e3a81dc239e6d66/waflib/Build.py", line 176, in compile
17:34:39
usha
-> task in 'testprog' failed with exit status 1 (run with -v to display more information)
17:36:39
Bike
https://github.com/cando-developers/cando/wiki/Cando-dependencies we should add it here...
19:46:23
usha
When I do ./ileap-boehm, it says starting cando and has been like that for a few minutes now... is this normal?
19:47:46
drmeister
But yes - it will compile a lot of leap code the first time you start it up. I added code to the build system to do that as part of the build - hang on...
19:49:52
drmeister
If you use ./waf build_cboehm install_cboehm the install_cboehm part will install it in /opt/clasp (or you can specify where to put it) and then it will run it for the first time to do the compilation that you are now seeing.
19:52:24
usha
since this is the first time i am actually going to work with the code, I would have a lot of questions
20:02:39
drmeister
Bike: To implement this idea of upgrading generic functions from interpreted discriminating functions to compiled ones...
20:04:57
drmeister
Wait - nevermind - as I was gathering my thoughts I think I figured out how to move the upgrading code to the interpreted discriminating function where I don't care that it's a bit slower.
20:34:43
Bike
incidentally, sicl appears to use both closures and literals in various situations relating to discriminating functions.
21:05:59
drmeister
Do you have some time to drop by again? I don't want to spend all night walking down memory lane.
21:08:58
drmeister
I have an infinite recursive loop when it calls the first generic function (I think). I'm doing something stupid and something something I'm too stupid something something to figure it out.
21:59:35
drmeister
This gf dispatch is hard because it's tricky to do it efficiently. It's starting to come back to me now.
22:29:28
selwyn
i removed Integer_sp Integer_o::create( uintptr_t ) and now everything is compiling fine
22:35:23
drmeister
selwyn: I was able to build when I pulled the latest changes - I'm trying a fresh clone now.
22:38:39
drmeister
On macOS uintptr_t and uint64_t are treated as separate types and on linux they are not.