freenode/#lisp - IRC Chatlog
Search
8:57:51
loke[m]
Recently my SLIME is only giving me 20 frames in the debugger. Is there a setting somewhere that limits this? It's consistently 20 frames, so it seems as it's just stopping.
14:12:30
wayneeseguin
Can anyone point me to an example of how to actually run the tests using a `cl-project` generated project? TIA :)
14:13:21
wayneeseguin
My main confusion point is I see a :perform (test-op ... inside the asdf:defsystem for testing, however, it's not clear to me what the intended invocation metiond is.
14:16:31
wayneeseguin
As I typed that I realized that the main project itself is under Travis CI... I think I'm going in the right direction now https://github.com/fukamachi/cl-project/blob/master/.travis.yml#L18
14:23:13
ane
does anyone know of an interesting blog/article/whatever detailing good examples of using the metaobject protocol?
14:23:33
aeth
_death: yeah, but unfortunately, ASDF:TEST-SYSTEM doesn't preserve the return value of test suites (I guess for the sake of portability, since they all mean something different)
14:23:47
aeth
_death: so it's not very useful for CI since you might want to fail if the return value = bad
14:23:47
ane
I think I just saw something, not sure where, maybe it was that insurance thing? something postgresql something?
14:27:14
lotuseater
ane: there are two books, object oriented programming in CL and art of the meta object protocol. the first one is like a big tutorial on how using CLOS
14:32:46
_death
ane: you can also check out stuff by Pascal Costanza like contextl or filtered-functions
14:35:14
_death
https://www.amazon.com/Object-Oriented-Programming-Perspective-Andreas-Paepcke/dp/0262161362/
14:40:42
bqv
1 > Error: The value #<A Dead Mac Pointer> is not of the expected type MACPTR. 2 > While executing: CLOSE-SHARED-LIBRARY, in process Initial(0). 3 > Type :GO to continue, :POP to abort, :R for a list of available restarts. 4 >
14:41:22
bqv
I can run this, if I do it in the repl, but if I try and ccl:save-application, I get dead pointers
14:41:54
phoe
foreign libraries must be closed before the image is saved and must be reopened after the image is thawed
14:54:33
bqv
Ok, thought I could somehow have the load-system as part of the toplevel function, but no. So, say I have a system I wanted to create an image with, how could I do that, if it loads libraries?
14:57:01
phoe
usually you can close the libraries as a part of exit hooks and reopen them as a part of reopen hooks
15:48:25
beach
lotuseater: Normally, you would give parameters to a FORMAT directive as literals in the string itself, but occasionally, you want an argument to FORMAT to provide the parameter.
15:51:55
eta
hmm, what's the LOOP directive for iterating over every element in an arbitrary-dimensional array
15:52:28
_death
there is none.. you can use array-row-major-index and array-total-size or a displaced array
16:00:59
_death
that way you can pass a control string and its respective arguments.. you can also nest it
16:06:31
_death
also yes, FORMAT can take a function as a control string.. (format t (lambda (stream &rest args) (prin1 args stream)) 1 2 3)
16:09:44
_death
well, C compilers tend not to do anything smart with printf, even if the control string is known.. maybe give warnings, but at runtime printf interprets it
16:14:03
_death
(let ((s (make-array 0 :fill-pointer t :element-type 'character))) (format s "Hello ") (format s "world") s)
16:16:12
_death
it can be useful if you format things repeatedly, keeping the string around and just resetting the fill pointer
16:16:44
_death
(let ((s (make-array 0 :fill-pointer t :element-type 'character))) (format s "Hello ") (setf (fill-pointer s) 4) (format s "world") s)