freenode/lisp - IRC Chatlog
Search
0:03:50
zulu_inuoe
I'm sorry. I'm trying to come up with a test case that works. Because my gut feeling is that it has to do with how the pathname gets constructed
0:21:12
jasom
zulu_inuoe: I added an assertion and put it in a loop, it ran 10000 times in a row with no issues.
0:27:14
zulu_inuoe
They all fail on the first go-around. My guess is whatever the format is doing, it's messing with the cached pathname or something
0:39:38
jasom
OT: is there a gender-neutral formal address? I'm familiar with he/she/they and Mr/Ms/Mx, what about sir/madam/???
0:40:39
zulu_inuoe
I hope there is. I like to get fancy when I address people some times but I don't want to sacrifice gender neutrality to do it
0:43:14
zulu_inuoe
Anyway, using pathnames was temporary until I migrated to URI's, so I suppose now's a good a time as ever to work on that since this bug is breaking me
0:50:24
zulu_inuoe
Yes. Yes it is. But it looks like it's recent since jasom was not able to replicate on 1.3.17
0:52:12
zulu_inuoe
how much do you want to bet it's https://github.com/sbcl/sbcl/commit/58602640ed7040d9f75c7fe28f058a0b2755c6c0
2:44:15
antonv
R0B_ROD: I wouldn't mix installing StumpVM and learning programming techniques from SICP
2:50:41
fiddlerwoaroof
Zhivago: the biggest issue in SICP is that DEFINE has no real equivalent in Common Lisp
2:51:01
Zhivago
Well, it has a couple of equivalents depending on context, but I can see how that would be confusing.
2:52:06
fiddlerwoaroof
Fare: if you're know lisp, it's easy enough but for a beginner, translating define to the appropriate form is a bit confusing
2:53:34
fiddlerwoaroof
Also, I had a hard time reading the code samples in SICP because I would mentally intepret them in "Lisp-N>1 mode" when they're written for a Lisp-1
2:54:50
antonv
Fare: BTW, I posted only one test and said "will do others in coming days" but when read you reply that "we can release the current ASDF" I relaxed and didn't do more tests
2:57:10
Fare
ASDF is portable enough that there is no reason it would break on one implementation and not the other, unless bad magic in #+ccl or such.
3:04:27
fiddlerwoaroof
R0B_ROD: to install stumpwm:: wget http://beta.quicklisp.org/quicklisp.lisp && sbcl --load quicklisp.lisp --eval '(quicklisp-quickstart:install)' --eval '(ql:quickload :stumpwm)' --eval '(save-lisp-and-die "stumpwm" :executable t :toplevel #'"'"'stumpwm:stumpwm)'
3:11:31
fiddlerwoaroof
Yeah, the first argument to save-lisp-and-die is the place where the stumpwm executable will be created
4:12:12
jasom
BW^-: not really on-topic here, but a generalized form of tortoise-hare algorithm would work with that
4:14:49
jasom
actually if you need to find all, then a standard DFS traversal will do it for you; just note whenever you reach a node you've already visited, you have found an edge for a loop.
4:40:13
BW^-
jason: what was your point with refering me to the dynamic programming page? dynamic programming as in lisp style typing i guess... a dynamic graph algorithm means however that it's for a dynamic graph
4:47:17
slyrus
no point. just commenting on the origin the relatively content-free name. still, a great algorithmic advance!
5:19:01
jasom
my ql2nix script decided that babel depended on a system named ":trivial-features" which we don't know how to build and so all systems that directly or indirectly depend on babel were not built; cffi depends on babel...
5:20:37
jasom
But instead of switching away from regexes, I'm just goign to make the regex more complicated: "Component ([^: ]*::?([^ ]*)|\"([^\"]+)\"|([^ ]+)) not found"
5:23:36
jasom
now I just need to wait for something to depend on |foo| and I can make it even *more* complicated
5:46:59
jasom
and dynamic programming has nothing to do with lisp style typing. Dynamic programming is a style of algorithm that basically boils down to recursion + memoization.
5:47:21
BW^-
jasom: a dynamic graph is a graph that changes edge content over time i.e. edges may be deleted or inserted
5:49:09
jasom
BW^-: this sounds like an incrementalcycle-detector for a reference-counted system. You can probably find algorithms to do this in the garbage collection literature
5:49:53
jasom
BW^-: and you *can't* do it for arbitrary concurrent mutation of the graph unless you have some sort of agrement between the mutator and the cycle-detector.
5:54:23
jasom
BW^-: consider A->B->C and the Mutator changes the graph to C->B->A. You could easily have a false-positive if your cycle-detector was considering B at the time. *however* if you don't allow graph nodes to stay alive while disconnected, then there is no way to perform that transformation without generating a cycle, and you don't have a false-positive, because there was a cycle there at some point in time.
5:57:40
jasom
alternatively if you can exclude the mutator from running when you have found a potential cycle, you can check if the potential cycle is truly a cycle. But if you can prevent the mutator from running, you could just run your entire graph traversal as well, and then the "dynamic" requirement is non-sensical.
6:01:13
BW^-
jasom: what cycle detection algorithms are you aware of being used in reference-counted systems?
6:01:16
jasom
BW^-: so what are the requirements; could the cycle detector exclude the mutator and run a full-pass? Because then it doesn't matter that the graph is dynamic, because it will be static for the full run of your algorithm
6:10:14
jasom
That partitions verticies into components; Any component with multiple verticies is a cycle, and any component with just one vertex is not part of a cycle.
7:07:37
flip214
can I tell QL to compile some systems (with all their dependencies), but not load them?
7:07:58
flip214
guess I can't, because compiling them might require some dependencies to be available...
7:09:07
jasom
flip214: on sbcl, if you don't have any threads running, you can fork a process, load them all and then exit.
7:14:45
jasom
even if it doesn't do what you want, it would be a good place to start to do what you're doing
7:24:26
flip214
hmmm, cliki.net says that my account doesn't exist.... was there a cleanup some time ago?
8:02:29
Shinmera
The primary problem with c-l.net is that like 99% of the pages hosted on it point to links that are long gone.
8:03:36
antoszka
There should be an automatic cleanup procedure. A bot that checks the links and removes them or marks them *dead*.
8:04:48
Shinmera
Either way the problem is that maintainers don't really care to begin with, or there is no real maintainer, so the links stay dead.
8:04:56
flip214
that might be the best solution, because the automatic fixing can be made more intelligent over time
8:07:13
flip214
then I could try to rig something up. (and I had to resist HARD to write "... to make cliki great again" ;)
8:08:39
Shinmera
Sure, but ease of collaboration and integration can go a long way to gaining traction. Cliki feels sluggish and dead.
8:08:48
flip214
any alexandria maintainers here by chance? I asked for permissions to gitlab about a month ago, so I can fix up some of the doc strings... and no answer yet.
8:09:29
flip214
the github interface to edit _any_ file (which just clones the repo and does a PR in the background!) is very slick.
8:11:26
Shinmera
There is definitely value in the idea of a central hub of information and advice for CL.
8:15:40
Shinmera
Anyway, the software and the "cliki idea" are only marginally tied together, so I agree with jackdaniel to a point.
8:19:38
flip214
but if people would hear that the CL wiki would run on PHP, wouldn't that be awful?? ;)
11:49:12
Shinmera
flip214: That's the point. In graph theory, a tree has no "root". Any node in the tree can potentially be considered its root, but that consideration is purely arbitrary.