jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
random-nick has quit [Ping timeout: 246 seconds]
gzj has joined #lisp
perrier-jouet has joined #lisp
karlosz has joined #lisp
alanz has quit [Read error: Connection reset by peer]
alanz has joined #lisp
kilimanjaro has quit [Ping timeout: 260 seconds]
kilimanjaro has joined #lisp
quazimodo has joined #lisp
cosimone has quit [Ping timeout: 246 seconds]
varjag has quit [Ping timeout: 256 seconds]
kuroda has joined #lisp
torbo has quit [Remote host closed the connection]
Oladon has joined #lisp
kuroda has quit [Remote host closed the connection]
sjl has quit [Ping timeout: 240 seconds]
<jeosol> shka_:?
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
surabax has quit [Quit: Leaving]
varjag has joined #lisp
sjl has joined #lisp
wxie has joined #lisp
varjag has quit [Ping timeout: 256 seconds]
myall has joined #lisp
myall has joined #lisp
myall has quit [Quit: ZNC 1.7.5 - https://znc.in]
myall has joined #lisp
myall has joined #lisp
jibanes has joined #lisp
edgar-rft has joined #lisp
jibanes has quit [Read error: Connection reset by peer]
rgherdt has quit [Ping timeout: 272 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
jibanes has joined #lisp
drl has quit [Quit: Leaving]
rpg has joined #lisp
jibanes has quit [Ping timeout: 240 seconds]
jibanes has joined #lisp
luckless has quit [Quit: luckless]
shifty has joined #lisp
kaftejiman has quit [Remote host closed the connection]
perrier-jouet has quit [Quit: WeeChat 3.0]
gaqwas has quit [Ping timeout: 240 seconds]
ebrasca has quit [Remote host closed the connection]
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
lowryder has quit [Ping timeout: 264 seconds]
lowryder has joined #lisp
gaqwas has quit [Ping timeout: 264 seconds]
edgar-rft has quit [Quit: Leaving]
charles` has joined #lisp
v88m has quit [Ping timeout: 256 seconds]
Oladon has quit [Quit: Leaving.]
cyraxjoe has joined #lisp
Stanley00 has joined #lisp
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
Jeanne-Kamikaze has quit [Quit: Leaving]
perrier-jouet has joined #lisp
jjong has quit [Ping timeout: 264 seconds]
jjong has joined #lisp
cyraxjoe has quit [Quit: I'm out!]
cyraxjoe has joined #lisp
v88m has joined #lisp
cyraxjoe has quit [Client Quit]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
cyraxjoe has joined #lisp
akoana has quit [Quit: leaving]
Aurora_v_kosmose has quit [Remote host closed the connection]
Alfr has joined #lisp
Aurora_v_kosmose has joined #lisp
Alfr_ has quit [Ping timeout: 260 seconds]
wxie has quit [Ping timeout: 260 seconds]
pfdietz has quit [Ping timeout: 245 seconds]
__jrjsmrtn__ has joined #lisp
_jrjsmrtn has quit [Ping timeout: 260 seconds]
cantstanya has quit [Ping timeout: 240 seconds]
hendursaga has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: Lost terminal]
hendursaga has joined #lisp
rumbler31_ has quit [Ping timeout: 240 seconds]
cantstanya has joined #lisp
beach` is now known as beach
phireh has quit [Remote host closed the connection]
<beach> Good morning everyone!
orivej has joined #lisp
rumbler31_ has joined #lisp
charles` has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 260 seconds]
Krystof has quit [Ping timeout: 260 seconds]
housel has quit [Read error: Connection reset by peer]
torbo has joined #lisp
karlosz has quit [Quit: karlosz]
curiouscain has quit [Ping timeout: 256 seconds]
ex_nihilo has joined #lisp
curiouscain has joined #lisp
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
torbo has quit [Remote host closed the connection]
birdwing has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
jeosol has quit [Remote host closed the connection]
waleee-cl has quit [Quit: Connection closed for inactivity]
<v3ga> hola
<beach> Hello v3ga.
<v3ga> morning
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
skapata has quit [Remote host closed the connection]
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
jeosol has joined #lisp
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
FennecCode has quit [Ping timeout: 268 seconds]
narimiran has joined #lisp
frost-lab has joined #lisp
FennecCode has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
gxt has joined #lisp
gutter has quit [Remote host closed the connection]
shifty has joined #lisp
FennecCode has quit [Ping timeout: 260 seconds]
housel has joined #lisp
FennecCode has joined #lisp
FennecCode has quit [Ping timeout: 258 seconds]
<beach> Can someone give an example of when the STORE-VARS returned by GET-SETF-EXPANSION would contain more than one element?
<beach> I suppose it has to do with the PLACE returning more than one value.
<beach> But I can't think of an example.
<beach> Oh, wait, GETHASH maybe. Let me check..
<beach> Nope.
<beach> Ah, the place is VALUES...
<beach> Thanks.
<pyc> Is there any best practice regarding not using ~A as the format specifier for (format) all the time? I am learning CL and I usually don't bother with ~D, ~F, etc. and use ~A all the time. Is this a bad habit I am picking up or what I am doing is fine?
<beach> You can't control the precision and such with ~a.
<ck_> in other words "it depends", I wouldn't call it a bad practice in general
mankaev_ has quit [Read error: Connection reset by peer]
mankaev has joined #lisp
<phoe> pyc: ~A is good enough most of the time when you want to have debug prints and other similar fun stuff.
<phoe> but then you cannot e.g. escape strings with it, that's where ~S comes into play
<phoe> you cannot control radix of the printed numbers to get binary, octal, hex, ternary - what's where ~B, ~O, ~X, ~3R come into play
<phoe> you cannot control the way floats are printed, that's where ~F, ~E, and ~G come into play
<phoe> and you can't even control the padding/width of normal decimal numbers - you need ~D for that
<phoe> so, IMO not really a bad habit - you're using a swiss knife for getting butter on your bread, which is a good use case
<phoe> just remember that there's more to it and you'll end up finding out about it sooner or later.
<pyc> phoe: thanks. that is what I wanted to understand. so I will stick with ~A for now and use another format specifier when I really need one.
bisickcor has quit [Remote host closed the connection]
<phoe> the two most important ones are ~A and ~S
<phoe> ~A, for when you want humans to read your stuff back
<phoe> ~S, for when you want Lisp to read your stuff back
<phoe> all others are more specialized
villanella has joined #lisp
Krystof has joined #lisp
shka_ has joined #lisp
shka_ has quit [Client Quit]
shka_ has joined #lisp
luni has joined #lisp
gxt has quit [Remote host closed the connection]
liberliver has joined #lisp
gxt has joined #lisp
gioyik has quit [Quit: WeeChat 3.0]
hendursa1 has joined #lisp
FennecCode has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
dvdmuckle has quit [Quit: Bouncer Surgery]
dvdmuckle has joined #lisp
rgherdt has joined #lisp
wxie has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
mindCrime has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
gaqwas has quit [Remote host closed the connection]
pve has joined #lisp
pve_ has joined #lisp
villanella has quit [Ping timeout: 256 seconds]
pve has quit [Ping timeout: 268 seconds]
contrapunctus has joined #lisp
pve_ is now known as pve
nicktick has joined #lisp
hiroaki_ has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
edgar-rft has joined #lisp
<splittist> good morning
<beach> Hello splittist.
<phantomics> morning everyone, I was wondering if anyone had used the optima or trivia pattern matching engines much
<beach> It seems plausible that someone did.
<phantomics> Someone has, but are they around?
<beach> Now, if I were one of them, I would not manifest myself until you say what you would do if I did.
<beach> So, if I were you, and I had a question about one of those items, I would ask the question, rather than asking whether someone had used one of them.
hiroaki_ has joined #lisp
nicktick has quit [Ping timeout: 264 seconds]
<shka_> hello
[d] has joined #lisp
<phantomics> Does optima have an expedient way to match multiple items from a list in a varying quantity? For example, if I have a list (1 2 3 4 a b 1 2 3) and I want to match 1) all numbers until a non-number and 2) the first non-number, is there an expression that'll match this?
<phantomics> So for the list (1 2 3 4 a b 1 2 3), the output would be (1 2 3 4), a, and rest of the list (b 1 2 3)
liberliver has quit [Ping timeout: 272 seconds]
<phantomics> Far as I can tell the only way is to recursively pull items off the front of the list and then get the first non-number when numbers are exhausted, but this requires multiple patterns, not very elegant
<phoe> I know that trivia advertises itself to have the capability to add new patterns *and* be compatible with optima
<phoe> I don't know if that's something you are interested in though.
liberliver has joined #lisp
mindCrime has quit [Ping timeout: 260 seconds]
mindCrime has joined #lisp
<phantomics> That could work, thing is that after going over all the trivia docs, it seems there's no way to match a variable number of something in a list
wxie has quit [Ping timeout: 268 seconds]
<phantomics> All the elements of a pattern until the final rest symbol in a list* pattern or similar refer to individual elements
<phantomics> So you can't just say "bind to this variable the list of all numbers you can find until you hit the end of the list or a non-number"
gaqwas has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
amb007 has joined #lisp
gutter has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
luni has quit [Quit: Connection closed]
gutter has quit [Remote host closed the connection]
C-16 has joined #lisp
C-16 has quit [Client Quit]
mister_m` has joined #lisp
[d] has quit [Ping timeout: 240 seconds]
mister_m has quit [Ping timeout: 240 seconds]
[d] has joined #lisp
mindCrime has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
[d] has quit [Ping timeout: 260 seconds]
saganman has quit [Quit: WeeChat 1.6]
vegansbane6 has quit [Quit: The Lounge - https://thelounge.chat]
ebrasca has joined #lisp
surabax has joined #lisp
notzmv has quit [Remote host closed the connection]
toorevitimirp has joined #lisp
cosimone has joined #lisp
bilegeek has quit [Quit: Leaving]
vegansbane6 has joined #lisp
birdwing has quit [Ping timeout: 272 seconds]
dxtr has quit [Ping timeout: 258 seconds]
v88m has quit [Remote host closed the connection]
dxtr has joined #lisp
varjag has quit [Ping timeout: 240 seconds]
kaftejiman has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
orivej has joined #lisp
amb007 has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
Inline has quit [Remote host closed the connection]
Inline has joined #lisp
luni has joined #lisp
frost-lab has quit [Quit: Connection closed]
villanella has joined #lisp
imode has quit [Quit: Days with nothing. That's what it's like when you work cases. Days're like.. lost dogs. Goes on like that. You know the job. You're looking for narrative. Interrogate witnesses, partial evidence, establish a timeline, build a story, day after day.]
random-nick has joined #lisp
<shka_> slyrus_: hey, I rewrote and renamed body macro
<shka_> now it is bind-row
Stanley00 has quit []
<shka_> i think this resolves problems we were discussing yesterday
<shka_> now time to do some work i am actually paid for xD
<shka_> see you later
flazh has quit [Ping timeout: 240 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
orivej has joined #lisp
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
luni has quit [Quit: Connection closed]
skapata has joined #lisp
flazh has joined #lisp
toorevitimirp has quit [Ping timeout: 264 seconds]
birdwing has joined #lisp
gzj has quit [Remote host closed the connection]
jjong has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
jjong has joined #lisp
ex_nihilo has quit [Remote host closed the connection]
ex_nihilo has joined #lisp
aeth has quit [Ping timeout: 272 seconds]
orivej has quit [Ping timeout: 264 seconds]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
aeth has joined #lisp
<loke[m]> Someone told me that Ferada can be found here? What's their username here?
<jackdaniel> loke[m]: "ferada"
shifty has quit [Ping timeout: 268 seconds]
villanella has quit [Ping timeout: 258 seconds]
amb007 has quit [Read error: Connection reset by peer]
<ck_> (surprise :)
<ck_> I take it this matrix thing does not display a list of channel nicknames
amb007 has joined #lisp
<ferada> loke[m]: hi
<loke[m]> Hello ferada
<loke[m]> ferada: I have been working on a GTK backend for McCLIM, and given the type of project, I have run into a lot of edge-cases in cl-cffi-gtk.
<loke[m]> There are a lot of unimplemented functions that I need. I have implemented them and will post a pull request on it later.
<loke[m]> However, the biggest issue right now is locking issues in gobject. I just created a bug on it: https://github.com/Ferada/cl-cffi-gtk/issues/54
<loke[m]> But I need a discussion around it, because to be honest I don't really understand all the things that are going on.
amb007 has quit [Ping timeout: 246 seconds]
fanta1 has joined #lisp
amb007 has joined #lisp
jonatack has quit [Ping timeout: 260 seconds]
<ferada> nice, i'm happy to look at the pr. re locking, yeah, i've ran into problems with that, though i've to read your write-up to say anything ... and even then, simplifying it is probably the best direction forward
jonatack has joined #lisp
<ferada> either on that issue or pm here is probably best for discussion
<loke[m]> ferada: I'm thinking of ways to eliminate the lock in the finaliser altogether.
<loke[m]> The thing is, it's not entirely clear to me what it's actually protecting. If you look at glib::at-finalize in gobject.base.lisp, you'll see it locking foreign-gobjects-lock, but immediately after unlocking it, it sets currently-making-object-p, which as far as I can tell, is also accessed from multiple thrads.
<loke[m]> So the locks aren't consistent. Again, this is based on my understanding which may be incorrect.
Krystof has quit [Ping timeout: 240 seconds]
Inline has quit [Ping timeout: 268 seconds]
jonatack has quit [Ping timeout: 256 seconds]
Inline has joined #lisp
jonatack has joined #lisp
<ferada> loke[m]: might very well be. i bet the order in which they're acquired isn't either. btw. you could also look at cl-gtk2 for the missing history on it
pfdietz has joined #lisp
<loke[m]> I checked the order. It's actually mostly fine. The issue happens when the finaliser is called. Since it can be called at any time, this is a problem.
<loke[m]> Another workaround would be to disable GC while that lock is held.
<loke[m]> But that would involve implementation-specific code (and I'm not sure all implementations can even do so)
Inline has quit [Remote host closed the connection]
Inline has joined #lisp
liberliver has quit [Quit: liberliver]
v88m has joined #lisp
Krystof has joined #lisp
wsinatra has joined #lisp
ex_nihilo has quit [Remote host closed the connection]
ex_nihilo has joined #lisp
lowryder has quit [Ping timeout: 246 seconds]
lowryder has joined #lisp
notzmv has joined #lisp
varjag has joined #lisp
orivej has joined #lisp
waleee-cl has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
judson_ has joined #lisp
[d] has joined #lisp
Josh_2 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
ex_nihilo has quit [Ping timeout: 260 seconds]
asarch has joined #lisp
luni has joined #lisp
mister_m` is now known as mister_m
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
amb007 has quit [Ping timeout: 264 seconds]
keserwan_ has joined #lisp
asarch has quit [Remote host closed the connection]
amb007 has joined #lisp
asarch has joined #lisp
rumbler31_ has quit [Ping timeout: 256 seconds]
villanella has joined #lisp
matta has joined #lisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #lisp
sjl_ has joined #lisp
andreyorst` has quit [Quit: andreyorst`]
gutter has joined #lisp
Steeve has joined #lisp
heisig has joined #lisp
nicktick has joined #lisp
matta has quit [Ping timeout: 245 seconds]
orivej has joined #lisp
keserwan_ has quit [Ping timeout: 256 seconds]
Oladon has joined #lisp
antepod has joined #lisp
antepod has quit [Client Quit]
antepod has joined #lisp
luni has quit [Quit: Connection closed]
orivej has quit [Ping timeout: 240 seconds]
liberliver has joined #lisp
liberliver has quit [Client Quit]
orivej has joined #lisp
<antepod> test
<Xach> failed, sorry
antepod has quit [Quit: WeeChat 3.0]
remby has joined #lisp
imode has joined #lisp
<_death> a tester succeeds when his tests fail
KREYREEN has quit [Remote host closed the connection]
KREYREEN has joined #lisp
cantstanya has quit [Ping timeout: 240 seconds]
gxt has quit [Ping timeout: 240 seconds]
hendursaga has quit [Ping timeout: 240 seconds]
andreyorst has joined #lisp
Aurora_v_kosmose has quit [Ping timeout: 240 seconds]
gxt has joined #lisp
hendursaga has joined #lisp
cantstanya has joined #lisp
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #lisp
Aurora_v_kosmose has joined #lisp
Inline has quit [Remote host closed the connection]
oleo__ has joined #lisp
<mseddon> _death: ironically, true.
flazh has quit [Ping timeout: 272 seconds]
flazh has joined #lisp
Jeanne-Kamikaze has joined #lisp
<_death> there's an old book called The Art of Software Testing that explains this well
Jesin has quit [Quit: Leaving]
<_death> apparently you can buy it on amazon for $324.90 to $1008.0
flazh has quit [Ping timeout: 256 seconds]
flazh has joined #lisp
nicktick has quit [Ping timeout: 265 seconds]
cyraxjoe has quit [Ping timeout: 265 seconds]
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
<sjl_> or a used copy of Software Reliability: Principles and Practices for $6 which also says something similar
<sjl_> > Testing is the process of executing a program with the intention of finding errors.
cyraxjoe has joined #lisp
<sjl_> > The goal of the tester is to make the program fail. If his test case makes the program or system fail, then he is successful; if his test case does not make the program fail, then he is unsuccessful.
Jesin has joined #lisp
<sjl_> Oh it's by the same guy. That explains it.
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
attila_lendvai has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
<Josh_2> Hello
amb007 has joined #lisp
<phoe> heyyy
<Josh_2> _death: that book looks very boring
<phoe> software testing is rarely an exciting task in general
<phoe> an engaging one, sure, but not exciting
Aurora_v_kosmose has quit [Remote host closed the connection]
<phoe> maybe a bit more in Lisp, due to its interactive nature and ability to smoke-REPL-test everything as it's being written
Aurora_v_kosmose has joined #lisp
ex_nihilo has joined #lisp
<Josh_2> writing tests to break things could be fun
<phoe> well, that's where software testing kinda turns into penetration testing at times :D
heisig has quit [Quit: Leaving]
rogersm has joined #lisp
Oladon has quit [Quit: Leaving.]
kaftejiman has quit [Remote host closed the connection]
oleo__ has quit [Quit: Leaving]
<slyrus_> shka_: I'm getting The function PLOTLY-FORMAT-NO-NULLS is called with three arguments, but wants exactly two. and
<slyrus_> hmm... I guess that's it. the rest are warnings.
Oladon has joined #lisp
<pfdietz> A lot of the old testing literature seems so silly these days. It was all about using cheap human labor to save expensive computer resources.
<minion> pfdietz, memo from flip214: yeah, I can't rule out that the difference is due to "cache effects". OTOH, I'm loading an ASDF in a fresh image every time, so alignment _could_ be identical...
<minion> pfdietz, memo from flip214: just "cache effects" sounds like so much phlogiston or aether to me ;/
Inline has joined #lisp
<pfdietz> "writing tests to break things could be fun" It is. Oh yes it is.
jonathan| has quit [Quit: fBNC - https://bnc4free.com]
birdwing has quit [Ping timeout: 272 seconds]
<lotuseater> phantomics: i read today (skimming the wiki article) that Richard Stallman wrote a text editor in his very young years in APL
<jackdaniel> APL Silicon hue hue
<pfdietz> My dad worked at APL when I was a kid (the JHU Applied Physics Lab). Fun place.
<phoe> jackdaniel: "hue" is oddly specific, given the amount of colors that phantomics works on in his light boxen thing
* jackdaniel associates "hue" only with not-very-clever jokes
<pfdietz> "In general, the least effective methodology of all is random-inputtesting—the process of testing a program by selecting, at random, somesubset of all possible input values. n general, the least effective methodology of all is random-inputtesting—the process of testing a program by selecting, at random, somesubset of all possible input values.
<pfdietz> " -- The Art of Software Testing, 3rd,. ed. 2012
* phoe ducks
<pfdietz> Hmm.
<pfdietz> Anyway. It's amazing he could say that in 2012.
bitmapper has quit [Quit: Connection closed for inactivity]
Lord_of_Life has quit [Read error: Connection reset by peer]
Lord_of_Life has joined #lisp
<lotuseater> pfdietz: so property testing and generating tests automatically is not good? i doubt it
attila_lendvai has quit [Ping timeout: 268 seconds]
<phoe> lotuseater: context: pfdietz is sorta famous for his random test generator that broke SBCL like hundreds of times by now in various interesting ways by generating tons of semirandomized Lisp forms that are valid Common Lisp code and should therefore compile cleanly - and sometimes don't
attila_lendvai has joined #lisp
<jackdaniel> lotuseater: I think that pfdietz claims otherwise - that random input testing is quite effective
<jackdaniel> I'm not sure when fuzz testing gained traction though (before or after 2012)
<pfdietz> And that trying to carry over testing ideas from a time when computing power was millions of times more expensive is a bold move, to say the least.
<pfdietz> Random compiler testing? McKeeman in 1998. My ansi-test random tester in 2005 (or so); jsfunfuzz in 2007. Csmith in 2011. Not sure when AFL came out.
Lord_of_Life_ has joined #lisp
v0|d has joined #lisp
<jackdaniel> I know that it was used before 2012 -- by "traction" I mean popularity
<pfdietz> I sometimes think the reason we've seen a proliferation of new languages in the last decade or so (or so it appears to me) is increasing testability.
<pfdietz> Used to be it took forever to firm up a new language implementation.
<lotuseater> that sounds great pfdietz :)
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<lotuseater> i read once about quickcheck offered hundreds of serious bugs in Erlang BEAM
jjong has quit [Ping timeout: 260 seconds]
<lotuseater> or same with JVM
luni has joined #lisp
<pfdietz> Yes
<lotuseater> and looking at projects like xmonad it stands out in being tested like that
<lotuseater> so how are random lisp forms generated? those which make sense
remby has quit [Quit: remby]
<lotuseater> hm macros will be very helpful indeed with that too
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jonathan| has joined #lisp
akoana has joined #lisp
<Josh_2> I was thinking about creating a REST API test generator based off of the templates I use for parsing the json
<Josh_2> But I have been very lazy this Christmas season and have just played ESO ¯\_(ツ)_/¯
<jackdaniel> a fun fact is that people seem to accept, that if you swing a radio onto the wall, it may stop working; otoh when they busy-loop an innocent application and it has race conditions they scream "a bug, a bug!"
<Josh_2> interesting fact
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Error from remote client"]
contrapunctus has joined #lisp
ebrasca has quit [Remote host closed the connection]
ex_nihilo has quit [Quit: Leaving]
Oladon has quit [Quit: Leaving.]
remby has joined #lisp
rpg has joined #lisp
kaftejiman has joined #lisp
dbotton has joined #lisp
remby has left #lisp ["Good Bye"]
hnOsmium0001 has joined #lisp
Grauwolf has quit [Quit: WeeChat 2.9]
Grauwolf has joined #lisp
rumbler31_ has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
rogersm has quit [Quit: Leaving...]
ark has joined #lisp
<pyc> Is there a function to read an entire file in one shot?
<phoe> alexandria:read-file-into-{string,byte-vector}
v88m has quit [Ping timeout: 264 seconds]
andreyorst has quit [Ping timeout: 240 seconds]
rumbler31_ has quit [Ping timeout: 240 seconds]
<edgar-rft> there's CL:READ-LINE and CL:READ-SEQUENCE, the latter can read an entire file at once into a string or a vector
lucasb has joined #lisp
<edgar-rft> ...must of course be wrapped into a WITH-OPEN-FILE, what is the difference to the alexandria stuff
frgo has joined #lisp
andreyorst has joined #lisp
sxmx has joined #lisp
mindCrime has joined #lisp
Aurora_v_kosmose has quit [Remote host closed the connection]
jw4 has quit [Read error: Connection reset by peer]
Aurora_v_kosmose has joined #lisp
jw4 has joined #lisp
luckless has joined #lisp
fanta1 has quit [Quit: fanta1]
Jeanne-Kamikaze has quit [Quit: Leaving]
dbotton has quit [Quit: This computer has gone to sleep]
v88m has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mindCrime has quit [Ping timeout: 268 seconds]
rpg has joined #lisp
narimiran has quit [Ping timeout: 256 seconds]
dbotton has joined #lisp
dbotton has quit [Quit: Leaving]
Aurora_v_kosmose has quit [Remote host closed the connection]
villanella has quit [Ping timeout: 260 seconds]
Aurora_v_kosmose has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<shka_> slyrus_: hey
Younder has joined #lisp
<slyrus_> hey shka_
<shka_> so it is almost 23:00 here and i am going to bed
<shka_> you may not notice, but i deleted EMPTY-TABLE
<Younder> My first car was a cdr but it was just like all the rest
<slyrus_> OK. I see I missed your most recent change before I pushed my latest.
<shka_> this function was duplicating functionality of make-table
<shka_> mostly because every new table is empty
<slyrus_> Right. You OK if I merge #9?
<slyrus_> Oh, wait, you have to do that :)
<phoe> :D
<shka_> yeah, i am the owner
<shka_> code looks 99% fine for me
<shka_> but i would rather name that package vellum.utils
<shka_> this is the current convention anyway
<slyrus_> two minutes...
<shka_> btw, i noticed that you contributed to the cl-dbi
<shka_> i am starting to consider scrapping postmodern in favor of it
<shka_> it happens that i seem to use PG almost exclusively
<slyrus_> They both have their uses. For simpler stuff cl-dbi is nice.
<slyrus_> But, yeah, postmodern is fine. I'd prefer to be all PG :)
<shka_> right
<shka_> as for that dependencies splitting
<shka_> i think that i should create repos and link them into one project
galex-713 has quit [Ping timeout: 268 seconds]
mindCrime has joined #lisp
<shka_> vellum-plotly, vellum-postmodern, vellum-mcclim and so one
rpg has joined #lisp
shifty has joined #lisp
<slyrus_> Ok, new PR rebased and using vellum.utils is ready for your approval.
<shka_> i would be fine with commit
<shka_> anyway, love
<shka_> it
<slyrus_> awesome. Now to see why we've got some undefined variables. Could be package fallout.
<slyrus_> And to adjust my work from yesterday to use the new name stuff.
<shka_> undefined variables? oh no
<shka_> i didn't notice anything
<shka_> damn quickload and it's warning muffling
<slyrus_> defmethod setf row-at
<slyrus_> index and source are undefined
matta has joined #lisp
shifty has quit [Ping timeout: 246 seconds]
<slyrus_> copy-paste error from above presumably
galex-713 has joined #lisp
hiroaki_ has quit [Ping timeout: 264 seconds]
<shka_> slyrus_: fixed
<shka_> as you may notice, i am not a tidy programmer
<slyrus_> Looks like that one was in there for a while :)
<slyrus_> thanks!
<shka_> yeah, it seems so
<slyrus_> 6 months :)
<shka_> side effect of never actually setting value manually
<shka_> i only use transform for that
<slyrus_> What do you think about having (vellum:make-table :columns '(first-column (:name second-column :type fixnum))) work so that the :name is implicit if the column spec is an atom?
<shka_> but yeah, there is a lot of stuff like that in that codebase
Younder has quit [Quit: Leaving]
<shka_> hmmm, i honestly don't like it
<shka_> i would rather keep as much as possible explicit
<slyrus_> Hmm... I think the :name stuff gets repetitive. If we can think of a reason not to use the symbol (if it's an atom), I'm OK with that, but the default should just be the name, IMO. I'd like terse syntax (to appeal to the dplyr-using crowd :) ).
<shka_> i need to think about it
<shka_> i see your point
<shka_> anyway, what if you want to create 2 unnamed columns and then one named?
<shka_> '(nil nil this-one-has-a-name)?
<slyrus_> Yup
<slyrus_> How do we feel about identically named columns?
<slyrus_> prohibited. good.
<Xach> what about ironically named columns?
<slyrus_> with a special exception for unnamed columns. Which get a name?
<slyrus_> hey xach, happy birthday!
<shka_> Xach: good day
<slyrus_> xach: I'm trying to help shka_ get vellum quicklisp ready :)
<shka_> Xach: ironically named columns are supported, but not encouraged ;-)
<phoe> I'll name my columns '(ionic doric corinthian)
<phoe> will this signal an IRONIC-WARNING on vellum?
<slyrus_> '(first fifth)
<phoe> ...okay, that's warningworthy
<slyrus_> '(advice gossip)
<shka_> ACTIONABLE OFFENSIVE COLUMN NAMING DETECTED
<phoe> (define-condition questionable-column-name (warning) (...))
hiroaki_ has joined #lisp
<shka_> anyway, on the serious note
wsinatra has quit [Quit: WeeChat 3.0]
flazh has quit [Ping timeout: 240 seconds]
<shka_> slyrus_: i lean toward allowing just-a-name for a column
<slyrus_> I think it's a trivial change to make-header
<shka_> it is quite simple, yes
<slyrus_> works here
<shka_> hmmm, ok, let's go for it
<shka_> i had other people annoyed by the need for the explicit column naming
flazh has joined #lisp
<slyrus_> How do you feel about a print-object method for fundamental-table?
<shka_> i also just added dual mode bind-row, so now you can either funcall bind-row directly OR grab the optimized closure out of it
<shka_> so it can be both safe and fast
v0|d has quit [Remote host closed the connection]
<shka_> what would that print-object do?
<slyrus_> call show
<slyrus_> It would not print readably (yet, although that would be a nice goal).
<shka_> not sure about the multiline print-object
<slyrus_> I view this as a must have for interactive development with slime. I can obviously add my own, but I think it's a very nice feature.
<slyrus_> I pushed the PR for bare column names.
<shka_> i actually had other idea
<shka_> yes, looking at it
<slyrus_> Ok.
<shka_> yup, that request is no brainer, merging
<shka_> slyrus_: as for the interactive work
<shka_> i would want to eventually build something with mcclim
<shka_> essentially REPL with a table inspector build right in
<shka_> i am not very good at McCLIM but i seen stuff like this
<shka_> as for the print-object, i think i would accept this under condition that READ works
<shka_> which would require a little bit of changes in printing as well
<shka_> because for now, type information is not presented by show
<slyrus_> it would be nice to have jackdaniel take a look at vellum and see how he thinks it compares to his polyclot stuff
<shka_> i know polyclot
<shka_> scope of the project is different
<shka_> polyclot is focusing on simply being interface for the plotting library
<slyrus_> yeah, but he had some dataframe-ish stuff in there as well, along with the mcclim support. not the same but some overlap.
<shka_> yes
<shka_> a little bit of overlap
<shka_> slyrus_: anyway, beach sometimes talks about the second climacs
<slyrus_> I don't hold my breath, but, yeah, would be nice.
<shka_> i would imagine that building data IDE on top of it would be the holy grail
<shka_> i will think about print-object, but i have mix feelings about to say the least
<slyrus_> OK, being able to C-c C-p a form that makes a table and have it show up in a slime-description window is pretty nice :)
<shka_> i can acknowledge that
contrapunctus has left #lisp ["Disconnected: closed"]
<slyrus_> Also, I'd like to modify the end (and maybe start) arg to show to default to the value of a special variable so users can set a default with how many rows they want to see (or all of them).
<slyrus_> I suppose I could just do that from my print-object method :)
contrapunctus has joined #lisp
<shka_> ok, so print-object idea is ok, but perhaps don't call show in it
<shka_> slyrus_: so, i would say that print-object should display the whole of the table
orivej has quit [Ping timeout: 256 seconds]
<shka_> as it is the case for vectors, lists and so one
<shka_> my problem is that nothing in CL really prints in more then one line
<phoe> what do you mean, in more than one line?
<slyrus_> In the spirit of the lisp *print-length*, we should have user-settable special variables that can control these sorts of things.
<phoe> because this sounds like pretty printing
<shka_> phoe: right
<shka_> slyrus_: ok, makes sense
<shka_> slyrus_: phoe is right
<slyrus_> The lisp pretty printer has great potential but is hard to get right.
elflng has quit [Quit: leaving]
luckless has quit [Quit: luckless]
<shka_> so I officially ok the print-object idea
<slyrus_> I wish there were more examples of pretty printing well (that I knew of).
<shka_> but respect *print-pretty*
luckless has joined #lisp
<slyrus_> lichtblau's XML pretty printing stuff is a step in the right direction
<shka_> and call show only if *print-pretty* is t
<shka_> does that sound reasonable?
<slyrus_> Yes, I guess I'm just used to it always being t.
<shka_> heh
luckless has quit [Client Quit]
luckless has joined #lisp
<slyrus_> so yeah, we should probably do better than we currently do on three fronts
<slyrus_> 1. what do we print if *print-pretty* is nil? just the object as we currently do?
sjl_ has quit [Ping timeout: 260 seconds]
<slyrus_> 2. if *print-pretty* is t we should have some sort of nice table with some user-settable default limits
<phantomics> lotuseater: yes, I heard about that. There's a surprising amount of shared history between Lisp and APL, the reason the arctanh function was broken in some early CL versions was that the it was improperly transcribed from APL.
<slyrus_> 3. we should consider how to print our tables readably (pretty or ugly both).
<shka_> 1. yup, maybe add number of rows, columns?
<shka_> 2. yup
<shka_> 3. eventually, yes
<shka_> but not super important
<shka_> i suspect that calling READ to read in data-frame would not be super important
<shka_> *popular
<phantomics> Given that Symbolics wrote LispM compilers for many other langauges to Lisp, I'm surprised they didn't write an implementation of APL, the Space Cadet keyboard even includes the APL characters (albeit in a non-standard layout)
<slyrus_> read is not popular because it isn't well supported. It _could_ be, which would make it more popular, IMO. But, I can see how others might feel differently.
<shka_> yes, but even in the Rlang land nobody does this anymore
<shka_> on the other hand, i did some TCL programming and i can believe in a textual representations
<shka_> slyrus_: anyway, it is really late here, i will go to sleep now
<phantomics> shka_ and slyrus_ is vellum the project you're discussing?
<slyrus_> ok, thanks shka_
<shka_> phantomics: yes
jasom has joined #lisp
<phantomics> Just looked at it, interested to see how it develops
<shka_> ... it already has 2 years
<phantomics> I created a web-based spreadsheet interface for Lisp systems a while back and this could be useful for its next edition
<shka_> if you can believe that
<shka_> and 50% of the development time went into debugging internal trees
<shka_> slyrus_: wanna see something scary?
<slyrus_> sure
<phantomics> Makes sense, I'm still working on perfecting the parser in my APL compiler
<phantomics> Have you seen this? https://github.com/kat-co/cl-apache-arrow Could be an interesting integration
<shka_> VELLUM:DROP-ROW was the most PITA to implement in the whole project
<shka_> phantomics: wow, thans
<shka_> *thanks
<shka_> stared it
<phantomics> There was a recent paper by a group of financial industry consultants who found that NumPy combined with Arrow could give faster performance than the super-expensive, proprietary kdb+
<slyrus_> shka_: you're not gonna like this but I think the whole selection thing should default to an atom that names the column we want but if it's a list it can be '(:v 1) e.g.
<shka_> slyrus_: heh
<shka_> no, this actually sound reasonable
<slyrus_> (vellum:select *table* :columns '(:v subject :v conc :v time)) vs (vellum:select *table* :columns '(subject conc time))
<shka_> i think that select stuff should be redesigned
<slyrus_> There, I just did it :)
<shka_> not like that
<slyrus_> hah!
<shka_> something like that
orivej has joined #lisp
<shka_> ((:v subject)(:v conc)(:v time))
<slyrus_> is there a dplyr::filter equivalent or do I code my own with transform/bind-row/drop-row?
<shka_> let me check what filter does
<shka_> yes, just use transform
<shka_> transform does EVERYTHING
<shka_> it is perhaps a little bit to low level though
<shka_> slyrus_: anyway, select is kinda fancy because you can write stuff like
<shka_> (:take-from 0 :skip-from 3 :skip-to 8 :take-to 12)
<shka_> but it is not quite practical
asarch has quit [Quit: Leaving]
<shka_> i think that if atom is encountered, it should be treated as literal row/column ID, otherwise, it gets FANCY
<shka_> but fanciness should be described using trees
<slyrus_> this is nice: (filter *table* (time conc) (and (<= time 1.0) (> conc 2.0)))
<shka_> let me check API package actually
pve_ has joined #lisp
<shka_> yeah, nothing like that
attila_lendvai has quit [Ping timeout: 260 seconds]
<slyrus_> how do I get all the column names of a table?
mrcom has quit [Ping timeout: 265 seconds]
<shka_> slyrus_: get header using vellum.table:header, then you can either column-specs or iterate over the header calling index-to-name
<shka_> the following two functions are in the vellum.header
pve has quit [Ping timeout: 272 seconds]
pve_ has quit [Quit: leaving]
<shka_> column-count on the header returns number of columns
phireh has joined #lisp
<shka_> same for the table
<shka_> but symbol is actually from the different package
<slyrus_> yes, I can get column count and iterate over columns calling column-name.
<slyrus_> might be a more efficient approach but that will work for now.
<slyrus_> We should add and export that.
<shka_> i would rather not
<slyrus_> oh?
<shka_> it is low level stuff
<slyrus_> column names aren't, IMO.
<shka_> ah, right
<shka_> you are talking about vellum.table:column-name
<shka_> yes, this should be exported 100%
<shka_> if it is not already
<shka_> good night
<slyrus_> it was the utility function for getting all of the column names at once
<slyrus_> good night!
Misha_B has joined #lisp
shka_ has quit [Ping timeout: 264 seconds]
elflng has joined #lisp
andreyorst has quit [Quit: WeeChat 3.0]
andreyorst has joined #lisp
shifty has joined #lisp
Steeve has quit [Quit: end]
luni has quit [Quit: Connection closed]
rumbler31 has joined #lisp
v88m has quit [Ping timeout: 256 seconds]
frgo has quit [Remote host closed the connection]
v88m has joined #lisp
frgo has joined #lisp
dbotton has joined #lisp