freenode/#clasp - IRC Chatlog
Search
5:42:02
robink
Hm, I seem to be having 'member at n is not an ELF object' (in build/boehm/fasl/boehm-all-cxx.a) errors from ld.gold after linking the final cclasp-cboehm binary.
5:42:37
robink
Actually, before that, it throws an error after starting the Boehm cclasp ('datum: UNDEFINED-CLASS (:NAME NAMED-FUNCTION-AST)').
5:43:41
robink
Right now the build process is just sitting there, not using CPU but not exiting to the console.
5:44:56
robink
Retrying now that I've upgraded/recompiled/reinstalled boehm-gc-8.0.2 (with --enable-handle-fork this time, so hopefully I can do a parallel build as well)
7:36:02
robink
There, the problem apparently was the older boehm-gc (which had been built with a previous version of GCC, as well)
8:15:37
robink
Oh, does it make sense to split the debug symbols out of the cclasp-boehm/fasl-image binaries if DEBUG_CCLASP_LISP is enabled?
8:16:17
robink
gdb/lldb can be told to search in a prefixed debug tree for the split-out symbols, but I don't know if Clasp itself expects them to be there if things go awry.
8:24:14
jackdaniel
for a moment I've read your nick as robdog (who is another person), and I've felt a great dissonance between your nick and what you write
8:33:25
jackdaniel
he is a person who is still learning common lisp (and programming) while what you is much more technical
8:35:32
robink
Well, I have a weedy grasp on build systems and C/LISP, but I've spent a bit of time at this point poking at Gentoo ebuilds and a subset of that poking at Clasp's build process.
8:36:39
robink
My intro to LISP was Clojure (I don't actually *know* CL, save for usually remembering to s/first/car/ and s/rest/cdr/ when writing out CL)
8:39:27
jackdaniel
the old-school LISP mnemonics are present to make programs from older dialects work
8:39:45
jackdaniel
hence the name Common Lisp: it is unification of various dialect which is in most part backward-compatible
8:41:21
robink
Hm, you'd think targetting the most-'native' language features would be the ideal approach.
8:41:48
jackdaniel
back to car/cdr, if your cons structure is not a list (i.e conceptually it is a tree) using car and cdr makes more sense
8:45:19
jackdaniel
I wonder how Clojure implements rest for vectors – does it create a displaced array? or maybe executes a different strategy?
8:46:13
jackdaniel
regarding sequences: (elt sequence index) will work on any sequence (ostensively that would be list and vector, but sbcl and abcl have protocols for extending the set of available sequences by the user-specified code)
8:51:30
robink
jackdaniel: I *think* it (Clojure( tries to minimize duplication (it likes persistent data structures like any LISP), so you might have a redundant head of an indexed sequence, but then the rest is pointing at the remainder of the array.
8:52:15
robink
jackdaniel: I don't *think* it copies the vector wholesale, anyway, if it doesn't have to (there may be some situations in which it doesn't need to but does because linking in to part of it is too much effort somehow)
8:52:19
jackdaniel
robink: usually Common Lisp is simply referred as Lisp or CL (no capitalized LISP which is a dialect from early '60)
8:52:47
jackdaniel
regarding vectors: displaced array is exactly that: not a copy, but a new object which is displaced on existing array
8:52:55
robink
I sort of assumed LISP referred to the family descended from the original dialect as well.
8:54:03
robink
jackdaniel: There may be some extra hackery thrown in there, but the general idea (& promise to those who haven't looked under the hood, like myself) is that even non-literal-list data structures will be kept as persistent as is feasable (more-or-less)
8:56:32
jackdaniel
I'm afraid he could give me much more detailed explanation than what I want to know, so maybe it is for the best he isn't ;-)