freenode/#clasp - IRC Chatlog
Search
14:47:39
drmeister
I had to do some commenting out in clasp_gc.cc. The static analyzer crawls into all C++ classes and exposes offsets of fields. The mutexes that we added have fields on Linux that are not present in OS X.
15:20:24
drmeister
Bike: So you want translators that convert claspCharacter (32bit 'int' character) to and from T*
15:25:46
drmeister
We shouldn't need to worry about sign extensions. The only way a character gets into or out of a T* will be through these functions.
16:34:00
drmeister
I can switch over to fastgf in bclasp and everything seems to work. I can defined classes and instances
17:00:57
robink
drmeister: Might the changes pushed to 'dev' assist w/ the LLVM error I was encountering?
19:06:17
Serenitty[m]
Yep, setting the environment variable fixed it. I wonder why I didn't run into that problem earlier.
20:42:18
Serenitty[m]
My only complaint at this point is that I get those linking warnings at runtime whenever I compile any code. Is there a way to supress these?
20:49:04
Serenitty[m]
Oh, I know you're working on fixing the warnings. My question is just if in the meantime, there's a way to configure LLVM not to give them.
20:51:12
Serenitty[m]
Alright. One more thing. When I try to connect SLIME to Clasp, I just get that warning again and again, and the REPL never opens.
20:59:43
drmeister
Serenitty[m]: The cclasp compiler is slow - it uses generic functions a LOT and generic functions weren't very fast in cclasp - that will hopefully change now that fastgf is (hopefully) coming online.
21:05:15
Serenitty[m]
So, now I'm curious, how do I write C++ code that interfaces with Lisp code? Is there a library that I need to link it with? I couldn't find any documentation about that.
21:25:15
drmeister
https://github.com/drmeister/demo-clasp-cxx/blob/master/hello-world/helloWorld.cc
21:25:36
drmeister
https://github.com/drmeister/demo-clasp-cxx/blob/master/hello-world/helloWorld.cc#L52
21:26:28
drmeister
You write code like this - you provide the exposed name and a pointer to the function and Clasp does the rest.
21:29:38
drmeister
But C++ and Common Lisp are completely interoperable. The backtraces have CL and C++ frames interleaved. RAII works and Common Lisp uses C++ exception handling to unwind the stack.
21:36:51
Serenitty[m]
So, when I try to build code that uses the Clasp headers, I get a bunch of errors about __intptr_t.
21:47:39
Serenitty[m]
Well, I switched from using the command-line switch to using a local.config file, where I filled everything out from the template, and I'm getting the same error.
21:51:13
Serenitty[m]
In a bunch of header files, it's saying that it doesn't recognize cl_intptr, and is asking if I mean __intptr_t
23:23:23
drmeister
I'm still cleaning it up - I had some confusion with git and had to redo some work.
0:10:32
drmeister
I've updated demo-clasp-cxx (master branch) and clasp (dev branch) so that they work together.
0:34:25
robink
drmeister: Absolutely. It'll be in my personal overlay (at https://github.com/Haifen/robinkverlay )
0:34:57
robink
drmeister: Thanks, I might need some guidance. Already know that LLVM 5.0 || 'release_50' is necessary.
0:36:38
robink
drmeister: Also, I'm probably going to (initially) point it at my fork of Clasp since the include twiddles may still be necessary.
0:38:36
drmeister
robink: Give the latest version a try - it builds on Ubuntu now and Serenitty[m] 's system (Arch I think)
0:47:04
Serenitty[m]
Yeah, I got it to build on Arch without any changes. All I had to do was set a single environment variable.