freenode/#lisp - IRC Chatlog
Search
1:52:03
pillton
jasom: Are you expecting the work items generated by FUNCTION-THAT-GENERATES-1-WORK-ITEM-PER-CALL to be independent work items?
1:54:39
pillton
Some "pipelines" can be naturally represented as a tree where the nodes at a specific depth in the tree represent independent work items.
2:02:59
jasom
pillton: the work items are independent, but the generator may be ordered; I don't recall if it is ordered in this specific use-case, but I've had similar cases in the past where it is
2:04:05
jasom
pillton: I think in this use case it is not ordered (i.e. I can generate the Nth item in O(1) time)
2:04:55
jasom
the main thing is I have something that generates data, some work to do, and something that collects the data (which requires it be collected in-order).
2:05:26
jasom
the work is by far the most expensive part, and in this case generating the data in parallel makes no sense, since it would require locking an external resource.
2:16:38
jasom
the other thing that e.g. unix pipelines have that I don't need in this *specific* case, but could use in other cases is backwards propagation of early termination. (i.e. I have "enough" now, so I need to tell the generator to stop)
2:24:15
jasom
in any event, the queue of promises is at least clear and simple enough to reason about that I don't have a big complaint.
2:25:01
eschulte
Is it possible to use ASDF build-op to build multiple binaries from a single package, or do I need to write a separate .asd file for each compiled binary?
2:27:39
jasom
if you use "/" to separate the primary name from the sub-name, then asdf will know which .asd file to look in
2:51:40
eschulte
Fare: I just converted my asd to use multiple defsystems, and that seems to be working well
2:52:43
eschulte
ah, that makes sense. I think the multiple independent defsystems will work well with my current top-level Makefile driver
2:53:27
Fare
of course, ASDF can't do it in a fork by default, since fork is not portable to all systems that sbcl runs on (e.g. Windows), and fork isn't safe if you started threads already.
2:54:30
pillton
eschutle: https://github.com/markcox80/lisp-executable/blob/master/lisp-executable-example.asd#L39
2:57:13
Fare
I haven't handed off anything. There is no new maintainer to replace me. I'm just going to drop it off.
2:57:33
Fare
I mean, rpgoldman is the new maintainer, but he has even less time than I to work on it
2:58:30
Fare
he certainly has made ASDF more conservative and higher quality than if I were still breaking things around
3:00:00
eschulte
that last part sounds pretty good, given that there already appears to be a good deal of functionality
3:00:04
eschulte
I've got to run, I'm excited how easy building packages with asdf has been so far though, many thanks for the tips!
3:26:20
jasom
Fare: If I haven't said it already, I appreciate how much work you've put into not just dropping it and running away.
4:11:54
rpg
Does anyone have a Jenkins recipe for working with quicklisp? I.e., having a module that is checked out of a repository, but goes into a quicklisp/local-projects/ for jenkins?
4:12:56
Fare
rpg, my apologies for merging #89 by accident :-( https://gitlab.common-lisp.net/asdf/asdf/merge_requests/89
4:13:53
rpg
Fare: No problem -- it's just run through my Jenkins tests and it seems fine. I'll take a more in-depth look, but I think the syntax control needs more concentration right now, now that I'm back from my travels
4:15:12
Fare
And it only affects upgrade --- and whoever besides me would have been deep enough to extend bundle classes, which I think is no one (or there would have been a lot of complaints as I kept refactoring it over the years)
4:15:49
Fare
on the other hand, extending the same fix to other more basic operation classes might be harder, if anyone used them (which I bet at least someone would).
4:31:12
rpg
bah! I'm going to have a glass of wine... Once more getting my bloody tests to work right is harder than getting the code under test to work right -- for reasons totally unrelated to the code under test.
6:29:47
Zhivago
Gerbil looks nice, but unexceptional, at a glance -- what motivated the new dialect?
7:24:31
lieven
at a guess, some asian language with different pronouns for people older or younger than you :)
7:26:09
lieven
Thai seems similar. Some of my Thai acquaintances want to find out a person's age when they first meet someone.
7:27:23
beach
It is an interesting situation of negotiation. Things are a bit simpler for me because I am both older than most people I deal with, and I have a higher rank.
8:02:05
beach
ông: grandfather, old man, gentleman, you (used by grandchild to grandfather), I (used by grandfather to grandchild, you (used to men), he (of men over 30), husband, man, Mr.
8:05:16
loke`
beach: Hey! I spend my time on social media. I see no traces of such fancy languageisms there.
8:05:55
Zhivago
loke: Well, you have similar rules regarding the use of words like "mister" and "sir".
8:24:40
Ober
Error: Last argument to apply is too long:. uff. must use reduce and not apply for 6k items
8:28:20
aeth
clisp has a call-arguments-limit of 4096. Every other implementation that I've checked is *much* higher than that, at least 60k. SBCL's is practically infinite (you'll run out of memory first)
8:30:38
aeth
Someone needs to compile a list of the various actual limits and sizes because the minimums in the CLHS are much lower than any implementation, but some implementations still have surprisingly low numbers
8:32:10
aeth
jackdaniel: apply could be used in serialization because you can apply a plist, which would make it very convenient for serialization
8:35:36
aeth
very useful.. (apply #'make-array 42 '(:element-type 'single-float :initial-element 42f0))
8:35:40
jackdaniel
it might be that after nuclear disaster, 2000 years from now, people will try to recreate machines capable of running program of our age
8:36:31
aeth
jackdaniel: Someone should make a revised CLHS and only bump up the minimums for things. Or, actually, define separate 32-bit and 64-bit minimums. Iirc, a fixnum is only 16 bit as a minimum, which is tiny.
8:40:09
Ober
what is the proper way to replace if seen progn with cond? (cond ((seen ... in this case sees it as a function
8:46:17
jackdaniel
each clause cond is (test forms*), where test is arbitrary expression returning value
8:47:42
Ober
ok so under cond a single or double open paren before it should not confuse it. ok. must be error. lisp-critic cleanup
9:07:01
jasom
You can have 31 bit fixnums on a 32 bit machine; if you require all allocations be 8-bit aligned, that still gives you two tag bits for non-fixnums
13:35:19
myrkraverk
Is my assumption correct, that :below (foo) is only eval'd once? In (:loop :for bar :from 0 :below (foo) ... )