tyson2 has quit [Read error: Connection reset by peer]
azimut_ has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
bird_ has quit [Ping timeout: 246 seconds]
bird_ has joined #commonlisp
Brucio-61 has quit [Ping timeout: 246 seconds]
Brucio-61 has joined #commonlisp
jonatack has quit [Ping timeout: 246 seconds]
bilegeek has quit [Quit: Leaving]
rainthree has joined #commonlisp
msavoritias has joined #commonlisp
jonatack has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
bjorkint0sh has quit [Ping timeout: 246 seconds]
notzmv has quit [Ping timeout: 260 seconds]
mariari has quit [Ping timeout: 246 seconds]
mariari has joined #commonlisp
son0p has joined #commonlisp
prokhor has joined #commonlisp
son0p has quit [Ping timeout: 246 seconds]
shka has joined #commonlisp
rgherdt has joined #commonlisp
mm007emko has joined #commonlisp
igemnace has joined #commonlisp
bendersteed has joined #commonlisp
LW has joined #commonlisp
rainthree has quit [Ping timeout: 245 seconds]
<stylewarning>
Anyone implement a double-ended priority queue in Lisp?
LW has quit [Quit: WeeChat 3.8]
mgl has joined #commonlisp
ronald has quit [Ping timeout: 245 seconds]
Krystof has joined #commonlisp
thollief has joined #commonlisp
bendersteed has quit [Ping timeout: 245 seconds]
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
habamax has quit [Remote host closed the connection]
bendersteed has joined #commonlisp
occ has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
edgar-rft has joined #commonlisp
Brucio-61 has quit [Ping timeout: 246 seconds]
<beach>
Interesting problem.
Brucio-61 has joined #commonlisp
<beach>
I suppose any balanced tree will work.
Brucio-61 has quit [Ping timeout: 245 seconds]
Brucio-61 has joined #commonlisp
habamax has joined #commonlisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
bjorkintosh has joined #commonlisp
attila_lendvai has joined #commonlisp
son0p has joined #commonlisp
rtypo has joined #commonlisp
<beach>
It might be possible to use a vector that is a heap either using the first element as the smallest, or the last element as the largest. Then, use heap sort in one or the other direction.
<beach>
This representation would avoid lots of memory allocation.
rainthree has joined #commonlisp
dino_tutter has joined #commonlisp
<beach>
Or, rather, the first part of heap sort to get the smallest or the largest element.
pve has joined #commonlisp
bjorkintosh has quit [Remote host closed the connection]
<beach>
Oh, but that might take too long.
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
jmdaemon has joined #commonlisp
rainthree has quit [Ping timeout: 245 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 245 seconds]
Lord_of_Life_ is now known as Lord_of_Life
azimut_ has quit [Ping timeout: 240 seconds]
attila_lendvai has quit [Ping timeout: 246 seconds]
mariari has quit [Quit: WeeChat 3.8]
karlosz has joined #commonlisp
bjorkintosh has quit [Ping timeout: 246 seconds]
jmdaemon has quit [Ping timeout: 260 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
bird_ has quit [Ping timeout: 246 seconds]
waleee has joined #commonlisp
Gleefre has joined #commonlisp
bird_ has joined #commonlisp
rgherdt has quit [Ping timeout: 240 seconds]
rgherdt has joined #commonlisp
jello_pudding has quit [Ping timeout: 260 seconds]
jello_pudding has joined #commonlisp
morganw has joined #commonlisp
karlosz has quit [Quit: karlosz]
acma69 has joined #commonlisp
acma69 has quit [Client Quit]
acma91 has joined #commonlisp
random-nick has joined #commonlisp
acma91 has quit [Client Quit]
rgherdt_ has joined #commonlisp
rgherdt_ has quit [Remote host closed the connection]
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 246 seconds]
scymtym has joined #commonlisp
rgherdt_ has quit [Ping timeout: 246 seconds]
dcb has joined #commonlisp
tyson2 has joined #commonlisp
rgherdt has joined #commonlisp
karlosz has joined #commonlisp
notzmv has joined #commonlisp
tyson2` has joined #commonlisp
pkal has quit [Remote host closed the connection]
pkal has joined #commonlisp
tyson2` has quit [Read error: Connection reset by peer]
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
jello_pudding has quit [Ping timeout: 264 seconds]
morganw has quit [Remote host closed the connection]
waleee has joined #commonlisp
dino_tutter has quit [Ping timeout: 246 seconds]
<NotThatRPG>
Does anyone know off-hand how to handle incorrect expressions in a pretty-print dispatch table entry? Should one signal an error, and if so, is there a particular kind of error?
Gleefre has quit [Remote host closed the connection]
bilegeek has joined #commonlisp
occ has quit [Ping timeout: 246 seconds]
rgherdt has quit [Remote host closed the connection]
occ has joined #commonlisp
<bike>
NotThatRPG: incorrect like what, you have a pretty print method for (let ...) expressions but the list being printed isn't a syntactically valid LET form?
<NotThatRPG>
Yes, that's right, so the pretty-print code for let-expression might not be able to function correctly because it has a let-expression that is syntactically ill-formed. Should I just throw a type-error, or will this bollix up the REPL somehow?
<bike>
i don't know about you, but if i tried to print a random lit and got an error about let syntax i'd be kind of annoyed. i'd say you should revert to unpretty printing (like print-object)
<bike>
random list*
<bike>
the presence of such a list isn't an error, e.g. you might have '(let let* block return-from ...) in a compiler somewhere
zaymington has joined #commonlisp
<yitzi>
NotThatRPG: You should probably punt to pprint-fiil
<NotThatRPG>
bike: But then you shouldn't be using this pprint table, right?
<yitzi>
Most of the typespecs in the dispatch tables are just (cons (member let)). They aren't intended to check syntax.
<bike>
NotThatRPG: why not? maybe i want (let ((special-operators '(let ...))) ...) to print neatly.
<NotThatRPG>
Right, but if I have a DSL with a pretty rigid syntax, I would like to bail if I am trying to print something that is going to confuse the pretty-printer
<bike>
i'm just saying you should bail silently
<yitzi>
And to be fair, bailing out with pprint-pop is usually what happend
<NotThatRPG>
bike: In this case I am trying to pretty-print expressions in a DSL and if that DSL is ill-formed, I would like to know.
<NotThatRPG>
What I'm doing is checking the structure before I do the pprint. I guess I could just throw a warning and bail to printing normally, like using PRINC or something?
<bike>
i don't think the printer is an appropriate place for a syntax check. you could have a separate syntax checker that you can call during a verification step regardless of whether you're printing anything.
zaymington has quit [Ping timeout: 245 seconds]
<NotThatRPG>
bike: I'm worried that if there's ill-formed content, then the pprint code, assuming good content, could do something bonkers
ixelp has quit [Ping timeout: 260 seconds]
<NotThatRPG>
(this is a DSL with an s-expression format, and there isn't an obvious bottleneck in manipulations where I can invoke a well-formedness check
<NotThatRPG>
If I checked for an ill-formed s-expression in a pprint-dispatch method, maybe I should just warn, and bail to (format str "~S" obj) ?
<bike>
if you can't print the ill formed object you should bail to print-object or something, yeah
ixelp has joined #commonlisp
<bike>
i would not warn at all, though. this is like the inverse case of separating parsing from validation. checking for printability is one thing, but if you want to have a check that the data is well-formed that's its own concern
<bike>
also prone to weird errors, e.g. if you do include a warning do not include the ill-formed object, since it may be pretty printed by the debugger, resulting in another warning
attila_lendvai has quit [Ping timeout: 240 seconds]
<yitzi>
NotThatRPG: signalling errors in the pretty printer is usually a disaster. Most implementations just blow the stack. CCL won't as I recall.
akoana has joined #commonlisp
phantomics has joined #commonlisp
<bike>
yeah i'm going off extensive experience with screaming as the debugger signals an error, here