<kakuhen>
Most CL implementations signal an error when a TEST and TEST-NOT key is supplied to FIND. I am unable to find where this behavior is documented in the specification (or cleanup issues like TEST-NOT-IF-NOT).
<kakuhen>
Is there any source for this? Or is this beahvior just a convention that implementations decided to adopt?
<selwynning>
are the author notifications going to be sent out soon?
<beach>
I thought you already know that your paper was accepted. No?
lagash has joined #commonlisp
<hayley>
I've also yet to receive a notification.
<beach>
So how do you know that the paper is accepted?
<beach>
I see now that the notification was due yesterday. It may take a day or two more sometimes. There are situations where the program committee has a short debate.
<hayley>
I don't. Did selwynning suggest otherwise before?
frgo has quit [Remote host closed the connection]
<beach>
That was just the impression I got. I must have gotten the wrong one.
frgo has joined #commonlisp
<beach>
"<selwynning> so it would be nice to know roughly when the invitations will be sent out"
<beach>
I took that to mean that selwynning had an accepted paper, but did not know whether an invitation to present it was going to be made.
<beach>
But I must have been wrong.
<hayley>
I think he meant to ask when the notifications would be sent out.
<beach>
That's on the ELS site.
<beach>
... which is why I didn't interpret it that way.
<beach>
It was yesterday.
<beach>
The number of slots for paper presentations is limited. So if there is a large number of submissions, there could be tough decisions about which papers to reject, even if they are fairly good.
<selwynning>
i don't know if i have been accepted or not
<beach>
Then you will know very soon.
<selwynning>
ok, thanks
<beach>
Again, the date for author notification was yesterday, but it may take another few days.
<beach>
There could also be a debate among members of the program committee if there is a strong disagreement between different referees of some paper.
<beach>
And, of course, there are frequently referees that hand in their reports late.
<beach>
So then, they delay the entire process.
OlCe has joined #commonlisp
<beach>
Occasionally, a referee flakes out entirely. And then the program chair must decide whether two referees will be enough on some papers, or whether someone else can replace that person with very short notice.
tyson2 has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 240 seconds]
random-nick has joined #commonlisp
pdietz has quit [Quit: Client closed]
pvb has quit [Ping timeout: 246 seconds]
<NotThatRPG_>
yitzi: ?
ec has joined #commonlisp
<yitzi>
Huh?
<jackdaniel>
NotThatRPG_: json libraries are almost as common as testing frameworks so it is a reason for celebration
<NotThatRPG_>
@jackdaniel: Yes, at the announcement of a new JSON library I will go into mourning for a two week period.
<fiddlerwoaroof>
Every new lisper has to write a JSON library and a unit testing framework
<fiddlerwoaroof>
Sorry, I don't make the rules
<yitzi>
Oh, yeah. Sorry, I was shouting into the wind and forget already.
<yitzi>
NotThatRPG_: ^
<jackdaniel>
fiddlerwoaroof: and a common lisp implementation ;)
<NotThatRPG_>
fiddlerwoaroof: I feel that should be added to the channel description string that we all see when we log in!
<fiddlerwoaroof>
The issue I have with a lot of these parsing libraries is that they couple the output datastructure to the parser
NotThatRPG_ is now known as NotThatRPG_away
<yitzi>
Being guilty of writing JSON lib myself....I shouldn't criticize. Then nobody had attempted the JSON test suite before mine along with actual deficiencies with the others.
<fiddlerwoaroof>
When I've written parsers (for EDN and the iCal format so far), I've tried to write them against a protocol for constructing a result.
<NotThatRPG_away>
Glad you like it. OK now I'm off
pranavats has joined #commonlisp
<yitzi>
Don't forget "iteration" libraries. Everybody has to write one of those too. Considering I am working on two of them simultaneously with a third already in quicklisp, I think I deserve extra credit....or demerits if you wish.
<fiddlerwoaroof>
I've gotten one in Quicklisp too
<fiddlerwoaroof>
That's secretly two
NotThatRPG_away has quit [Ping timeout: 276 seconds]
<yitzi>
You have secretly two? I have two and a secret third. :)
<fiddlerwoaroof>
No, it's a single library that's really two different iteration constructs
pjb has quit [Read error: Connection reset by peer]
<yitzi>
Ah
<yitzi>
Which one is it?
<fiddlerwoaroof>
data-lens
<fiddlerwoaroof>
The main part is a bunch of point-free constructs that include a bunch of iteration utilities
<fiddlerwoaroof>
Then there's a beta section with an implementation of what Clojure calls transducers
<yitzi>
Cool
jmdaemon has joined #commonlisp
rtoy has quit [Quit: rtoy]
alanz has quit []
skin has quit [Remote host closed the connection]
skin has joined #commonlisp
alanz[m] is now known as alanz
skin has quit [Ping timeout: 255 seconds]
bjorkintosh has quit [Remote host closed the connection]
pjb has joined #commonlisp
dino_tutter has quit [Quit: Leaving]
skin has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
pjb has quit [Remote host closed the connection]
tibfulv has quit [Remote host closed the connection]
pjb has joined #commonlisp
tibfulv has joined #commonlisp
dino_tutter has joined #commonlisp
NotThatRPG has joined #commonlisp
dino_tutter has quit [Remote host closed the connection]
<jcowan>
There's more than one way to write a JSON library, depending on whether you get a sequence, a fold, a tuneable object, or a fixed object.
<jcowan>
Another dimension is strict JSON vs lax JSON
<edwlan[m]>
I’ve never really minded this phenomenon
skin has quit [Quit: Leaving.]
aartaka has quit [Ping timeout: 276 seconds]
aartaka has joined #commonlisp
morganw has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<NotThatRPG>
edwlan[m]: The profusion of libraries for the same task? I'm not a fan because the libraries typically do 80% of what they claim to do, and you never know when you will run into the other 20%. Also, these one-person/one-library libraries often become abandonware.
Cymew has joined #commonlisp
<edwlan[m]>
Abandoned libraries are the best
<edwlan[m]>
You know exactly how they will behave because they never change on you
<edwlan[m]>
I’d rather fix an abandoned library than depend on a maintained one
bitspook has quit [Ping timeout: 246 seconds]
skin has joined #commonlisp
<jcowan>
Up to a point, Minister. You don't want to depend on an abandoned cryptographic library, for example.
<jcowan>
I think 80% is generous: see the Lisp Curse article.
bitspook has joined #commonlisp
skin has quit [Remote host closed the connection]
bitspook has quit [Ping timeout: 248 seconds]
skin has joined #commonlisp
<NotThatRPG>
edwlan[m]: I use lisp libraries in my work, and I don't have the time to fix all of the abandoned and broken ones. Also, it's generally not obvious when and where a library is broken. A dismaying number of them give you GIGO instead of raising an error for something that is unfinished.
dino_tutter has joined #commonlisp
lagash has joined #commonlisp
<aeth>
especially if libraries use lists
<aeth>
really easy to get random NILs
<aeth>
or other data of the wrong type, which will fail only when it meets a function that can't use it, not when it is first added.
morganw has quit [Remote host closed the connection]
rgherdt has quit [Remote host closed the connection]
<prxq>
you really notice the different in finish quality between our libs and, say, python libs. There are some very good lisp libraries but the density of buggy ones is definitively higher with CL than with Python.
<aeth>
on the other hand, Python has exactly the same issue that I just described because duck typing is Pythonic
pve has quit [Quit: leaving]
<aeth>
idk why everyone's afraid to CHECK-TYPE at the point where it would be most useful.
skin has quit [Quit: Leaving.]
<prxq>
aeth: because it kills generality
bitspook has joined #commonlisp
bitspook has quit [Ping timeout: 248 seconds]
n1to has quit [Quit: Leaving]
aartaka has quit [Ping timeout: 255 seconds]
<fiddlerwoaroof>
I dunno, I tend to find Lisp libraries higher quality than the typical library in other languages
<fiddlerwoaroof>
It's just that there are so many more libraries in other languages
<aeth>
prxq: yes, and no... NOT types exist
<aeth>
you could e.g. (defun foo (x) (check-type x (not null)) x)
<prxq>
been beating around mito as of late. It's buggy :-)
<fiddlerwoaroof>
The concept of an ORM is buggy
<fiddlerwoaroof>
I ignore any such libraries
<prxq>
aeth: you could as well let the debugger chime in when something is wrong.
<aeth>
But everyone seems to make the decision of no CHECK-TYPEs for you. Few packages export their custom type/class names.
<prxq>
fiddlerwoaroof: no way. sqlalchemy is a pleasure to use.
<fiddlerwoaroof>
If I want types in my lisp, I'll use Coalton
<fiddlerwoaroof>
I don't like any ORMs, but I haven't used sqlalchemy in years
<fiddlerwoaroof>
I'd rather just write SQL and transform the results myself
<aeth>
but you can just write SQL using the library like postmodern or w/e
<aeth>
as s-expressions
<fiddlerwoaroof>
Yeah, that's basically what I do
<fiddlerwoaroof>
As strings, though
<aeth>
but any string can just become a reader macro instead if you want to really annoy people and break all tools
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<_death>
it makes sense to have such a function, but the let binding seems off..
bitspook has joined #commonlisp
<cpli>
_death i plan to use it specifically to `(when-let (key (remove-wrap "+key_" "+" sym)) ;...`
<_death>
sure
bitspook has quit [Ping timeout: 265 seconds]
lagash has joined #commonlisp
srolls has quit [Remote host closed the connection]
<cpli>
_death this is actually to `do-symbols` and generate a `case` to convert between (c enum) constants in a package and keywords
<cpli>
basically the `#:libevdev` package contains many `+key_<name>+` and i want a very long case statement which converts by `(case evdev-key-code (libevdev:+key_a+ :a) (libevdev:+key_b+ :b) #|...|# (libevdev:+key_<name>+ :<name>) ;...`
<_death>
sounds like a hash-table could do, or even (get symbol 'my-keyword-alias)
bitspook has joined #commonlisp
srolls has joined #commonlisp
bitspook has quit [Ping timeout: 250 seconds]
<_death>
you could also have some procedural code that checks if it's a symbol belonging to the libevdev package and its name having the right form and if so translate it on the fly
<_death>
generating a big case form may be ok, depending on value of "big"