freenode/#lisp - IRC Chatlog
Search
13:05:18
shka_
heisig: where should i start reading petalisp source code to understand how code generation works?
13:09:14
heisig
shka_: Thank you for your interest! The recommended reading order is just the order that ASDF uses. Another way is to use (break) and M-. to dive into the code.
14:59:34
pfdietz
aeth: oni-on-ion: Waters' old COVER package will be going into quicklisp soonish. I tidied it up a bit and wrote an asd file. https://github.com/pfdietz/cover
15:56:36
jasom
pfdietz: interesting; I wonder if that could be used to write something like AFL (a tool for generating inputs to take each possible branch).
15:58:33
jasom
pfdietz: thanks! it's people like you that allow me to sit on the couch eating bon-bons all day :)
15:59:51
pfdietz
The plan is to generalize the "point" data structure there to allow subclassing and custom behaviors. For that use case, it needs checkpointing and rollback, so tests can be tracked if they increase coverage, and then the test minimized to the smallest input(s) that still increase coverage.
16:00:26
pfdietz
Current issue I have with COVER is that it doesn't play well with certain macro packages, particularly ITERATE.
16:01:57
pfdietz
The only place you need to beware of EQ is with numbers and characters. Use EQL for those. Or, in general, use EQL instead of EQ unless you want to microoptimize.
16:22:26
slightlycyborg
Hi. I am interested in the concept of dyanmically loaded lisp packages. I want to run a top level form that loads some code, uses that code, and then unloads that code so it doesn't consume ram. What is the best way to do this?
16:23:06
Bike
loading code can have arbitrary side effects, so there's no nonspecific way to undo a load.
16:24:35
slightlycyborg
Ok. I am just imagining having more code on my machines HD than I have space for in RAM. If I want to use all that code at different points in time while still keeping the same lisp process up and running, then I will have to load and unload.