freenode/#lisp - IRC Chatlog
Search
4:13:22
drmeister
beach: I'm using the call-history for dispatching as clasp boots up - it works pretty well. It's faster than the cache and mutex that I stole from ECL.
4:14:40
drmeister
I didn't think an alist would be fast enough - but it was. So an alist updated with CAS is faster than a fancy cache with a mutex.
10:51:13
loke[m]
I see. But if there's no deadline it'll take a very long time to prepare a presentation :-)
10:52:39
phoe
and I'll need the abstract for sending via mail at least a week before the meeting, and the video at least 24h before streaming
10:59:01
phoe
that's the way that the ELS worked this year, and I've copied this way to the online meetings
10:59:25
phoe
because I've noticed that it works pretty well and eliminates many possibilities of technical issues
11:03:36
jackdaniel
ACTION shuffles through the deck of notecards labelled "You can't do that because" ;)
11:03:46
adlai
the latest pain point with scalpl has been the state of websocket client libraries. Eitaro's library works, although it appears to be the only one.
11:04:39
no-defun-allowed
lonjil and I have both wanted to create another websocket client, I guess with the three of us complaining it should be done.
11:05:55
adlai
there's also a partial client implementation that 3b published, although I don't think he made any claims about its usability; just, "here's how far I got, maybe someone else will find the leftovers useful"
11:06:05
no-defun-allowed
I used to also have a prototype of that. I'll check tomorrow morning if it's still there, but it wouldn't be so useful.
11:07:33
adlai
the actual problem, for which a websocket client is necessary, is synchronization of exchange order books; I'm unaware of any datastructure library that offers structures specifically for storing such data, although perhaps there's a gaping hole in my so-called education.
11:08:44
adlai
ACTION has been using a regular cl hash table, keyed on prices, which is good enough for sleepy markets; will almost certainly be a bottleneck for the busier markets.
11:09:29
no-defun-allowed
But, to be fair, I can't think of any changes I would make to the design of websocket-driver.
11:10:39
no-defun-allowed
adlai: My own concurrent-hash-tables could push back the limits somewhat, but I don't know your usecase well enough to say if it would be a bottleneck.
11:11:11
no-defun-allowed
Well, if you want a faster hash table, but perhaps there's another data structure that fits your queries better.
11:11:56
no-defun-allowed
And if you need concurrent access. I saw "synchronisation" and got excited - perhaps you don't need it at all.
11:13:24
adlai
concurrent access is almost a hard requirement, in the long term, because market participants should be considering the arbitrage opportunities between multiple trading locations; in the short term, I have specifically limited myself to first operating only within one centralized market at a time, so it is not a requirement yet.
11:14:30
adlai
ACTION is terribly ambitious; the hoped time for scalpl to return to ql:quickload levels of usability is a decade, and the expected - probably closer to three.
11:30:18
adlai
it seems that the nicest way to heat the universe with flailful searches through #lisp's history is by locally combing through a copy of whitequark's db.
13:51:36
flip214
has someone cl-yaml working in windows? for me the self-tests crash already (with sbcl 2.0.11)
14:19:17
flip214
phoe: when loading a 1200 byte file it says "invalid octet at 420000000" or something to that effect
14:28:43
phoe
jmercouris: the original LISP had a thing called LABEL that was basically a named local function
14:29:25
phoe
labels were able to refer to one another; flet is just let except in the function namespace
14:32:13
pfdietz
I want to expand sets of patterns to methods, but I can't do that in a flet-like way.
14:32:16
jackdaniel
every person who looks at your code will wonder what is fletrec and why it was introduced
14:32:42
jackdaniel
and the explanation "I don't like the standard operator name" isn't a very convincing argument
14:34:52
Nilby
I think most these decisions were argued to death in the 10 or so years of the CL committee, balancing for compatibility and aesthetics. I think one can still read the the old mailing list and the committee notes.
14:44:11
jackdaniel
no, I'm just making a joke regarding "impact" of the discussion whether you like caddddr or not (n.b, using such operations is discouraged in norvig's style guide, and in numerous other places)
14:51:10
jackdaniel
however it doesn't buy you much because you need to traverse the list (instead of modifying the last cons)
14:51:50
jackdaniel
with the cmu's collect macro you have the collecting decoupled from loop, so you may collect "anywhere", but that's another story
14:53:08
jackdaniel
(there are multiple derivatives and copycats of this macro in quicklisp, i.e in the cl-collectors library - I think that this was its name)
14:53:55
jackdaniel
either something with scoping or with multiple collections not working as expected, so I'd rather discourage from using it
14:58:10
Nilby
I don't know what optimizations loop does, but isn't it better just to push and nreverse at some point?
15:00:14
pfdietz
The rplacd approach uses a dummy head cons cell, but that can be stack allocated w. dynamic-extent.
15:02:57
splittist
phoe: thanks. How do I use that to look for, e.g., command line processing libraries?
15:04:55
Bike
pfdietz: the thing with generic-flet is that defining and undefining methods later is less relevant, and that's a lot of the appeal of clos. if your set of methods is static, can't you just use typecase?
15:05:59
phoe
splittist: I have no idea, actually. how would you do that with quickdocs? AFAIK it only gave you autogenerated documentation
15:09:29
splittist
phoe: thanks. (I have you in my headphones talking about control flow, too. Strange feeling.)
15:21:53
Nilby
splittist: I got results of (apply-argv cl-cli cli-parser net.didierverna.clon.core command-line-arguments configuration.options-source-commandline hu.dwim.util/command-line com.google.flag ufo unix-options unix-opts utility-arguments) from an older quicklisp dist.