p_l 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/> | ASDF 3.3.4
cosimone has quit [Ping timeout: 240 seconds]
ebzzry has joined #lisp
smazga has quit [Quit: leaving]
kajo has quit [Ping timeout: 252 seconds]
terpri_ has quit [Remote host closed the connection]
LiamH has quit [Quit: Leaving.]
Fare has quit [Ping timeout: 265 seconds]
terpri has joined #lisp
kajo has joined #lisp
terpri has quit [Quit: Leaving]
<LdBeth> traditionally Lisp discourages using functions as first class objects
<LdBeth> However Common Lisp absorbs the closure concept from Scheme, while it strives to remain compatible with older Lisps
Inline has quit [Quit: Leaving]
<LdBeth> aeth: have you planned what kind of abstract machine model you're going to use when compile scheme to CL
Bourne has quit [Ping timeout: 272 seconds]
<LdBeth> such as how would you represent Scheme closure in CL/would you perform optimizations before generating CL code
<aeth> LdBeth: The machine is a trampoline that consists of a DO loop executing a returned thunk to get proper tail calls in all situations
<aeth> A Scheme lambda is a CL lambda that undergoes continuation passing style transformations
kajo has quit [Remote host closed the connection]
kajo has joined #lisp
<jcowan> LdBeth: In short, exactly how Guy Steele's Rabbit compiler translated Scheme to Maclisp.
kslt1``` has joined #lisp
sz0 has quit [Quit: Connection closed for inactivity]
<LdBeth> I thought it would be Appel's COMPILING WITH CONTINUATIONS
<LdBeth> although I'm not very clear if LCF ML uses the similar approch
buffergn0me has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
Codaraxis_ has joined #lisp
Codaraxis has quit [Ping timeout: 240 seconds]
Fare has joined #lisp
man213_ has joined #lisp
<Fare> reepca: patches welcome!
<Fare> and apologies for the bug
Bourne has joined #lisp
gko_ has joined #lisp
kslt1``` has quit [Remote host closed the connection]
rwcom1 has joined #lisp
rwcom has quit [Ping timeout: 260 seconds]
rwcom1 is now known as rwcom
KahMue has joined #lisp
<KahMue> Hi there! Does anybody know how, in qtools, to connect a slot to a signal that provides Qt-type like QPoint. I need to connect a slot to a QWidget::customContextMenuRequested - signal, that provides a 'const QPoint & pos'.
<KahMue> How do I specify a QPoint - parameter in a 'define-slot' - expression?
Codaraxis_ has quit [Read error: Connection reset by peer]
z147_ has quit [Quit: z147_]
KahMue has quit [Ping timeout: 252 seconds]
bitmapper has quit [Ping timeout: 240 seconds]
buffergn0me has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
orivej has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
shifty has joined #lisp
Fare has quit [Ping timeout: 255 seconds]
shifty has quit [Ping timeout: 265 seconds]
Fare has joined #lisp
Josh_2 has quit [Ping timeout: 258 seconds]
ebzzry has joined #lisp
oxum has quit [Remote host closed the connection]
efm has quit [Remote host closed the connection]
efm has joined #lisp
lavaflow has quit [Ping timeout: 272 seconds]
dreamcompiler has quit [Quit: dreamcompiler]
lavaflow has joined #lisp
torbo has joined #lisp
prince1 has quit [Ping timeout: 265 seconds]
kayu has joined #lisp
hsaziz has joined #lisp
Codaraxis has joined #lisp
hsaziz has quit [Ping timeout: 258 seconds]
_zain_ has joined #lisp
<beach> Good morning everyone!
hsaziz has joined #lisp
Codaraxis has quit [Ping timeout: 258 seconds]
lemoinem has quit [Killed (orwell.freenode.net (Nickname regained by services))]
lemoinem has joined #lisp
_zain_ is now known as lambda_
lambda_ is now known as Guest22115
Guest22115 is now known as lazylambda
lazylambda has left #lisp [#lisp]
patrixl has quit [Quit: Leaving.]
patrixl has joined #lisp
kayu has quit [Read error: Connection reset by peer]
prince1 has joined #lisp
oldcrow has quit [Ping timeout: 265 seconds]
xkapastel has joined #lisp
ebrasca has quit [Remote host closed the connection]
_zain_ has joined #lisp
_zain_ has left #lisp [#lisp]
zainz has joined #lisp
zainz has quit [Client Quit]
zainz has joined #lisp
zainz has left #lisp [#lisp]
oldcrow has joined #lisp
vlatkoB has joined #lisp
Necktwi has joined #lisp
h113 has joined #lisp
h11 has quit [Ping timeout: 240 seconds]
h113 is now known as h11
gko_ has quit [Ping timeout: 258 seconds]
emacsomancer has quit [Remote host closed the connection]
man213_ has quit [Quit: Going offline, see ya! (www.adiirc.com)]
emacsomancer has joined #lisp
brutalist has joined #lisp
Bike has quit [Quit: Lost terminal]
Khisanth has quit [Ping timeout: 255 seconds]
ssake has quit [Ping timeout: 268 seconds]
Khisanth has joined #lisp
gravicappa has joined #lisp
torbo has quit [Remote host closed the connection]
pfdietz has quit [Remote host closed the connection]
ajith_ has joined #lisp
FreeBirdLjj has joined #lisp
rwcom7 has joined #lisp
rwcom has quit [Ping timeout: 272 seconds]
rwcom7 is now known as rwcom
FreeBirdLjj has quit [Ping timeout: 240 seconds]
kajo has quit [Ping timeout: 272 seconds]
shka_ has quit [Ping timeout: 255 seconds]
shka_ has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
kajo has joined #lisp
shka_ has quit [Ping timeout: 258 seconds]
narimiran has joined #lisp
ngqrl has joined #lisp
Codaraxis has joined #lisp
madrik has joined #lisp
v0|d has quit [Ping timeout: 265 seconds]
dddddd has quit [Ping timeout: 272 seconds]
jgkamat has quit [Ping timeout: 245 seconds]
brutalist has quit [Quit: Textual IRC Client: www.textualapp.com]
ArthurStrong has joined #lisp
Codaraxis has quit [Ping timeout: 258 seconds]
scymtym has quit [Ping timeout: 255 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 272 seconds]
flamebeard has joined #lisp
cha18 has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
nadare has joined #lisp
rwcom1 has joined #lisp
rwcom has quit [Ping timeout: 255 seconds]
rwcom1 is now known as rwcom
sunwukong has joined #lisp
cha18 has left #lisp [#lisp]
ajith_ has quit []
karlosz has joined #lisp
flamebeard has quit [Remote host closed the connection]
flamebeard has joined #lisp
Cymew has joined #lisp
<splittist> no-defun-allowed: isn't it usually Kaplan? (How about ML Scheme - or is that too Maoist?)
<no-defun-allowed> Yes, Kaplan. I'm not good with names.
rwcom7 has joined #lisp
<no-defun-allowed> And no, Kaplan doesn't brutally optimise.
ajithmk has joined #lisp
rwcom has quit [Ping timeout: 260 seconds]
rwcom7 is now known as rwcom
<splittist> no-defun-allowed: it's the old calculation problem...
<no-defun-allowed> splittist: I would have picked someone like Makhno, who was on the receiving end of all that, as a namesake, but the almost-assassination felt more relevant.
dreamcompiler has joined #lisp
<phoe> minion: memo for KahMue: (declare (connected my-widget (custom-context-menu-requested)))
<minion> Remembered. I'll tell KahMue when he/she/it next speaks.
ArthurStrong has quit [Quit: leaving]
kajo has quit [Ping timeout: 252 seconds]
kajo has joined #lisp
vert2 has quit [Ping timeout: 268 seconds]
Tordek has quit [Remote host closed the connection]
vert2 has joined #lisp
scymtym has joined #lisp
Tordek has joined #lisp
hhdave has joined #lisp
flamebeard has quit [Remote host closed the connection]
flamebeard has joined #lisp
luni has joined #lisp
jgkamat has joined #lisp
flamebeard has quit [Ping timeout: 272 seconds]
flamebeard has joined #lisp
karlosz has quit [Quit: karlosz]
hhdave has quit [Ping timeout: 260 seconds]
hhdave has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
Ampws has joined #lisp
gko_ has joined #lisp
<Ampws> I wonder if I could use Mathematica in a Lisp program.
flazh has quit [Ping timeout: 258 seconds]
luni has left #lisp [#lisp]
<Ampws> I learned that MMA is just like a dialect of Lisp, and uses M-expressions
davepdotorg has joined #lisp
<no-defun-allowed> I think the semantics of Mathematica are quite different to Lisp, and even to many languages. Something to do with pattern rewriting maybe.
<no-defun-allowed> (And, maybe you can use it, but paying $344 for a programming language makes it hard for me to test.)
montaropdf has joined #lisp
m00natic has joined #lisp
<Ampws> Err...I've already owned that:)
flazh has joined #lisp
<Ampws> I think combining them would be very useful
sarna has joined #lisp
<sarna> hi, can I somehow get a warning with this code? `(make-array 3 :element-type 'invalid)`
<sarna> I'm using SBCL
<Posterdati> warning?
<scymtym> sarna: in SBCL 2.0.1, i get a warning "undefined type: INVALID" when compiling that code
<no-defun-allowed> It might be possible to write (some of) the evaluation rules in Common Lisp. https://reference.wolfram.com/language/tutorial/Evaluation.html describes it quite accurately.
<sarna> scymtym: oh, I have to compile it? I didn't get a warning in the REPL. thanks!
<Ampws> no-defun, Thanks a lot!
<no-defun-allowed> The description of HoldAll reminds me of...were they fexprs?
<Shinmera> Ampws: could also use Maxima instead.
<Ampws> Shinmera wow,I didn't noticed that. Thank you
Cymew has quit [Ping timeout: 255 seconds]
<Ampws> no-defun fexprs...
Cymew has joined #lisp
longshi has joined #lisp
mingus has joined #lisp
<no-defun-allowed> Yes, fexprs. They're not really macros as they don't generate new code, but they get all their arguments unevaluated and choose which ones they evaluate. That seems similar.
pjb has quit [Ping timeout: 272 seconds]
longshi has quit [Quit: WeeChat 2.7]
<Ampws> I see...
<beach> Speaking of Mathematica, my thesis advisor offered our high-performance rewrite engine to Stephen Wolfram, for use in Mathematica, but Wolfram turned down the offer.
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
<beach> Some day, I should try to implement our engine as a Common Lisp program. The compiler for it was written in Franz Lisp at the time, and it generated VAX assembly code. I am not sure whether it would be fast enough if Common Lisp code were to be generated.
<no-defun-allowed> Oops.
<Ampws> It must be a powerful program...and Common Lisp is the most powerful language
jprajzne has joined #lisp
xkapastel has joined #lisp
_whitelogger has joined #lisp
v_m_v has joined #lisp
<jackdaniel> powerful in what? tug-a-war?
<beach> The rewrite engine? No, not particularly powerful. Just very simple and with very simple semantics based on rewriting, so it uses outermost evaluation. With this evaluation strategy, it is possible to define things like IF as functions, which is not possible with call-by-value languages.
<beach> Also, very fast compared to other rewrite engines.
<beach> if[true; x; y] => x and if[false; x; y] => y
Cymew has quit [Ping timeout: 258 seconds]
<beach> I shouldn't have said "a function". I should have used "rewrite rules".
sz0 has joined #lisp
<beach> But all that is off topic, so I'll quit now.
pjb has joined #lisp
v88m has quit [Ping timeout: 272 seconds]
<no-defun-allowed> In a parallel universe where I asked follow up questions (such as "What constitutes a database in the programs you want us to write?"), I would have written an algebra system for my computing project last year instead of an accounting system. That could have been useful.
<beach> Also much harder.
Cymew has joined #lisp
<Ampws> I found that maybe matlab could be run on lisp
<no-defun-allowed> Sure, but it would require less fluffing up than the need for compressing an "inefficient" text database and writing a compression algorithm.
<beach> no-defun-allowed: By the way, did they tell you your result?
<no-defun-allowed> I haven't heard very many nice things about Matlab; why would you want to run it?
<Ampws> nope I prefer Mathematica :)
<Ampws> but I like lisp most
<no-defun-allowed> beach: For Clomptroller? I only got a result for the whole unit (which also had my case study of a computer network) which was a B.
<Ampws> err..(sorry for bad grammar)
<beach> no-defun-allowed: That sucks, i.e. that you don't know the results for individual parts.
<beach> But I think we discussed that problem in the past.
<no-defun-allowed> Maybe I can email my teacher and see if he filled out the rubric. I think he was supposed to.
<beach> I would be interested.
<no-defun-allowed> However, if that is representative of what I achieved with Clomptroller, I would say that I blame myself for a. picking a domain I had little prior knowledge in, b. not taking enough time to learn said domain prior to planning a program that uses it. I think that forcing the students to use the waterfall model was also detrimental to the programs produced, and I found some of the steps redundant (like writing
<no-defun-allowed> pseudocode for the compressor when I had already written Common Lisp code for it).
<no-defun-allowed> no-defun-allowed: Maybe you should wait until you have more than two things to say before numbering them. Nice try though.
<no-defun-allowed> Then there were some other "impedance mismatches" where we had to write out test tables and some other laborious methods of testing, whereas I was more comfortable writing test suites; and we were supposed to interpret the "design" stage as interface design instead of protocol design, drawing mockups instead of writing mock interfaces, and so on. In conclusion, I was quite disappointed with my performance in that
<no-defun-allowed> project and a large amount of that was my own fault.
Ampws has quit [Quit: Lost terminal]
Ampws has joined #lisp
Ampws has left #lisp [#lisp]
madrik has quit [Remote host closed the connection]
<no-defun-allowed> beach: So, I can guess that I had performed notably worse in those parts.
Ampws has joined #lisp
prince1 has quit [Ping timeout: 265 seconds]
jeosol has quit [Remote host closed the connection]
fanta1 has joined #lisp
kslt1 has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
<beach> Hmm, OK.
v_m_v has quit [Remote host closed the connection]
<no-defun-allowed> I should not be lamenting over below average results while half asleep (nor is it exactly on topic), so I'll head off for the night. See you later.
iAmDecim has joined #lisp
man213 has quit [Remote host closed the connection]
ebzzry has joined #lisp
v_m_v has joined #lisp
ljavorsk has joined #lisp
iAmDecim has quit [Ping timeout: 260 seconds]
heisig has joined #lisp
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
rumbler3_ has quit [Remote host closed the connection]
zaquest has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 272 seconds]
amerlyq has joined #lisp
prince1 has joined #lisp
zaquest has joined #lisp
bitmapper has joined #lisp
prince1 has quit [Ping timeout: 260 seconds]
man213 has joined #lisp
shifty has joined #lisp
fanta1 has quit [Quit: fanta1]
fanta1 has joined #lisp
jmercouris has joined #lisp
EvW has joined #lisp
<jmercouris> pjb: do I have to close the file?
<jmercouris> pjb: I notice that both files are empty?
<jmercouris> and yet, there is content in my slime REPL
<jmercouris> maybe I need to launch outside of slime?
<pjb> jmercouris: at least, you have to flush the buffers!
<pjb> a log function would call finish-output or force-output…
Inline has joined #lisp
madrik has joined #lisp
<jmercouris> OK
<jmercouris> still nothing even after force-output...
<jmercouris> I think that slime may be messing with things here
<jmercouris> strangely though, *standard-output* -> #<SB-SYS:FD-STREAM for "file /Users/jmercouris/.local/share/next/standard-out.txt" {100936F393}>
<jmercouris> so it does seem to be correct...
<jmercouris> let me try literally printing lol
<jmercouris> hm, it does work
<jmercouris> it seems that I need to add an appender to log4cl to also append to *standard-output* or so
<jmercouris> thanks :-)
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
v_m_v has quit [Remote host closed the connection]
v_m_v has joined #lisp
ebrasca has joined #lisp
flamebeard has quit []
oni-on-ion has quit [Ping timeout: 240 seconds]
jmercouris has quit [Ping timeout: 272 seconds]
jonatack has joined #lisp
hsaziz has quit [Quit: hsaziz]
hsaziz has joined #lisp
hsaziz has quit [Ping timeout: 260 seconds]
cosimone has joined #lisp
cosimone has quit [Remote host closed the connection]
montaropdf has quit [Quit: ERC (IRC client for Emacs 26.3)]
montaropdf has joined #lisp
cosimone has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
Ampws has quit [Quit: Leaving]
__vlgvrs has joined #lisp
_paul0 has quit [Ping timeout: 252 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
wxie has joined #lisp
pfdietz has joined #lisp
rumbler31 has joined #lisp
random-nick has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
dddddd has joined #lisp
hhdave has quit [Ping timeout: 260 seconds]
hhdave_ has joined #lisp
heisig has quit [Quit: Leaving]
prince1 has joined #lisp
prince1 has quit [Ping timeout: 265 seconds]
oxum has joined #lisp
Bike has joined #lisp
wxie has quit [Ping timeout: 245 seconds]
Bike has quit [Ping timeout: 260 seconds]
Bike has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
whiteline has joined #lisp
whiteline_ has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 265 seconds]
sjl_ has joined #lisp
rumbler31 has joined #lisp
LiamH has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
libertyprime has joined #lisp
cosimone has quit [Ping timeout: 265 seconds]
ebzzry has quit [Ping timeout: 252 seconds]
EvW has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 258 seconds]
EvW has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
smazga has joined #lisp
ljavorsk has quit [Ping timeout: 258 seconds]
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
joels has joined #lisp
ljavorsk has joined #lisp
libertyprime has quit [Ping timeout: 240 seconds]
_whitelogger has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
prince1 has joined #lisp
prince1 has quit [Ping timeout: 255 seconds]
v_m_v has quit [Remote host closed the connection]
reepca has quit [Ping timeout: 255 seconds]
montaropdf has quit [Quit: see you later]
brutalist has joined #lisp
jprajzne has quit [Quit: Leaving.]
EvW has quit [Ping timeout: 248 seconds]
gko_ has quit [Ping timeout: 260 seconds]
leo_song has quit [Ping timeout: 260 seconds]
v_m_v has joined #lisp
leo_song has joined #lisp
Fare has joined #lisp
shifty has joined #lisp
Bike has quit [Remote host closed the connection]
shka_ has joined #lisp
CrazyEddy has quit [Ping timeout: 272 seconds]
flamebeard has joined #lisp
brutalist has quit [Quit: Textual IRC Client: www.textualapp.com]
brutalist has joined #lisp
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
m00natic has quit [Remote host closed the connection]
kslt1 has quit [Remote host closed the connection]
X-Scale` has joined #lisp
v88m has joined #lisp
slyrus_ has joined #lisp
Bike has joined #lisp
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale` is now known as X-Scale
slyrus__ has quit [Ping timeout: 260 seconds]
rumbler31 has joined #lisp
v_m_v has quit [Remote host closed the connection]
efm_ has joined #lisp
rumbler31 has quit [Ping timeout: 255 seconds]
Fare has quit [Ping timeout: 258 seconds]
efm has quit [Ping timeout: 260 seconds]
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale` is now known as X-Scale
davepdotorg has quit [Ping timeout: 240 seconds]
hhdave_ has quit [Ping timeout: 240 seconds]
ljavorsk has quit [Ping timeout: 258 seconds]
Fare has joined #lisp
fanta1 has quit [Quit: fanta1]
efm_ has quit [Quit: Konversation terminated!]
efm has joined #lisp
pfdietz has quit [Remote host closed the connection]
pfdietz has joined #lisp
ljavorsk has joined #lisp
ljavorsk has quit [Ping timeout: 265 seconds]
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
prince1 has joined #lisp
joels has quit [Quit: Leaving]
prince1 has quit [Ping timeout: 255 seconds]
flamebeard has quit []
Codaraxis has joined #lisp
rippa has joined #lisp
man213_ has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
ljavorsk has joined #lisp
Fare has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
hiroaki_ has joined #lisp
iAmDecim has joined #lisp
rumbler31 has joined #lisp
man213_ has quit [Remote host closed the connection]
iAmDecim has quit [Ping timeout: 272 seconds]
rumbler31 has quit [Ping timeout: 255 seconds]
nowhere_man has joined #lisp
sauvin has quit [Ping timeout: 272 seconds]
pfdietz has quit [Remote host closed the connection]
varjag has joined #lisp
kajo has quit [Ping timeout: 272 seconds]
kajo has joined #lisp
Lord_of_Life_ has joined #lisp
pfdietz has joined #lisp
Fare has quit [Ping timeout: 258 seconds]
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life_ is now known as Lord_of_Life
shangul has joined #lisp
gareppa has joined #lisp
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
random-nick has joined #lisp
frgo has joined #lisp
terpri has joined #lisp
shangul has quit [Ping timeout: 255 seconds]
shka_ has quit [Ping timeout: 255 seconds]
varjag has quit [Ping timeout: 240 seconds]
rumbler31 has joined #lisp
lucasb has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
wsinatra has quit [Quit: WeeChat 2.7]
rumbler31 has quit [Ping timeout: 258 seconds]
efm has quit [Quit: Konversation terminated!]
prince1 has joined #lisp
random-nick has quit [Remote host closed the connection]
v_m_v has joined #lisp
prince1 has quit [Ping timeout: 240 seconds]
random-nick has joined #lisp
v_m_v has quit [Ping timeout: 258 seconds]
cosimone has joined #lisp
Fare has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
oldcrow has quit [Ping timeout: 272 seconds]
EvW has joined #lisp
__vlgvrs is now known as paul0
orivej has joined #lisp
slyrus has joined #lisp
Codaraxis_ has joined #lisp
narimiran has quit [Ping timeout: 260 seconds]
slyrus_ has quit [Ping timeout: 255 seconds]
Codaraxis has quit [Ping timeout: 240 seconds]
gravicappa has quit [Ping timeout: 265 seconds]
amnesia` has joined #lisp
<amnesia`> hello all
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
<jackdaniel> hey
Jesin has quit [Quit: Leaving]
pjb has quit [Read error: Connection reset by peer]
Jesin has joined #lisp
<ebrasca> Hi
scymtym has joined #lisp
<travv0> howdy
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
luni has joined #lisp
ljavorsk has quit [Ping timeout: 265 seconds]
pfdietz has left #lisp [#lisp]
nowhere_man has quit [Ping timeout: 258 seconds]
madage has quit [Ping timeout: 240 seconds]
<cgay> Is anyone here aware of anyone using https://gitlab.common-lisp.net/qitab/cl-protobufs ?
gareppa has quit [Quit: Leaving]
madage has joined #lisp
Theseus has joined #lisp
dmiles has quit [Ping timeout: 255 seconds]
Bike86 has joined #lisp
z147 has joined #lisp
Bike has quit [Ping timeout: 260 seconds]
<jcowan> What is the current orthodoxy about the merits of using vs importing?
<mrSpec> cgay: What is your question? I've tried brown/protobuf as it looked better
<Shinmera> jcowan: don't use or import, use local nicknames instead.
random-nick has quit [Ping timeout: 260 seconds]
<no-defun-allowed> jcowan: Many people avoid USE-ing packages, because they may cause symbol conflicts or their package may overwrite the used packages' state in some weird way, should they change.
<jcowan> Shinmera: Not very portable, though
<Shinmera> pretty damn portable now.
<cgay> mrSpec: I'm trying to gather anecdata on whether breaking compatibility in that package would affect anyone.
<Shinmera> The only impl without support (or announced support in next version) is Clisp
<jcowan> So I see. Thanks.
<jcowan> cgay: If you are worried, fork it with a new name.
rumbler31 has joined #lisp
thecoffemaker has quit [Ping timeout: 265 seconds]
rumbler31 has quit [Ping timeout: 260 seconds]
<Bike86> using is probably more common in existing code, though
jmercouris has joined #lisp
<Bike86> than importation, i mean, no idea about local nicknames
<Shinmera> More and more of my libraries are making use of PLNs, so there's at least some of that out there now.
<jcowan> Okay, that's encouraging. It's a nice convergence with Scheme, where all (pseudo-)package names are local.
prince1 has joined #lisp
<cgay> Shinmera: how are local nicknames achieved in practice? (Apologies, I'm only familiar with the way we do it at $work via a special defpackage* macro.) Pointer?
<cgay> I see the SBCL-specific :local-nicknames option...
<Shinmera> you just put (:local-nicknames (#:my-name #:full-name)) in your defpackage.
<Shinmera> if the implementation supports plns it'll do the right thing. if not, it'll error.
<cgay> ok, so that has pretty broad support?
<jcowan> there is a runtime API too
<Shinmera> yes
<cgay> cool
thecoffemaker has joined #lisp
<Shinmera> for the runtime API you need to use the trivial-package-local-nicknames library.
<jmercouris> what is with this "trivial" prefix
<jmercouris> it seems superflous
prince1 has quit [Ping timeout: 265 seconds]
<jmercouris> isn't *every* library trying to make a task easier than it already is?
<Bike86> it means the library itself is trivial, not its use
hsaziz has joined #lisp
<jmercouris> it steel seems superflous
<Bike86> it's like one file, that just conditionalizes on different implementations
<Bike86> it is maybe overused, yeah
<Bike86> but we don't always hold our meetings in Bordeaux, tragically enough
<jmercouris> still* superfluous*
<jmercouris> man what is going on with my spelling :-D
<jmercouris> lol, soon enough
luni has left #lisp [#lisp]
amerlyq has quit [Quit: amerlyq]
Bike86 has quit [Quit: Bike86]
dmiles has joined #lisp
<_death> cgay: thanks for that protobufs reference.. I did not know about this library.. the brown one uses code generation, which is silly, and s-protobuf looked cool but was buggy and out-of-date.. this one's likely out-of-date as well, but maybe less buggy
clothespin has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
hsaziz1 has joined #lisp
hsaziz1 has quit [Client Quit]
hsaziz has quit [Ping timeout: 258 seconds]
pjb has joined #lisp
cosimone has quit [Quit: Terminated!]
v_m_v has joined #lisp
<cgay> _death: why do you think code generation (via protoc) is silly?
v_m_v has quit [Ping timeout: 260 seconds]
Fare has quit [Ping timeout: 255 seconds]
prince1 has joined #lisp
<_death> cgay: CL is a dynamic, interactive language.. it's better to have a Lisp function that can read a schema and make it ready for use than to use a C++ tool to generate Lisp code every time
<jmercouris> I'm having a fun time with some CFFI
<cgay> A .proto file is the canonical definition of a protocol buffer. If you want to interface with other languages, you want your code to be compatible with the canonical definition.
<jmercouris> Unknown GBoxed type 'WebKitNavigationAction'
<jmercouris> YET!
<_death> cgay: I believe the protoc approach came about because in C++ (and other statically typed language) such code generation is more tolerable
<no-defun-allowed> You can generate the required classes and/or methods at runtime.
<jmercouris> (defctype webkit-navigation-action :pointer) ; XXX: GBoxed
<jmercouris> ideas?
<_death> cgay: what you say is true, but I don't see how it conflicts with what I said?
<jmercouris> he is saying that the standard IS the implementation
<jmercouris> so if you want to implement the standard, use the standard implementation
<jmercouris> much in the same way that if I write a new python interpreter and add some features and/or different behavior than the standard one, I can expect my python will not work with other people's code so nicely
<no-defun-allowed> That really sucks then.
<jmercouris> you know what really really sucks? cryptic code with many layers of indirection to the point where it is fully undebuggable
<cgay> _death: let's assume there were no .proto file to syncronize between languages. What do you envision is keeping them in sync? good will? :) It's the Interface Definition Language, to harken back to CORBA.
<_death> cgay: I am not talking about proto:define-schema, which is nice to have, but something that can load a .proto file at run-time.. in C++ etc. they may assume it would have to be interpreted at runtime or something, but in Lisp you can just generate efficient code (say via COMPILE or EVAL)
<cgay> oh. sure, that's fine.
<_death> cgay: so then you have a load-proto-file and it's the lispy, dynamic, interactive way.. similar to LOAD
rumbler31 has joined #lisp
<cgay> just don't use define-schema directly. (unless you want to live in an only-lisp world.)
<_death> cgay: instead of using protoc to generate a lisp file to load
<jmercouris> here's the tough part, SHOULD THE STANDARD CHANGE, your Lisp code that generates the functions will have to change too
<jmercouris> and so that is a moving maintenance target that I would rather not be responsible for
<cgay> I mean, jmercouris is right, protoc is the standard.
<_death> cgay: protoc is just a tool.. Google has a spec for the protobuf write format and interface description language
<_death> *wire format
<jmercouris> spec != implementation
<jmercouris> the specification is most likely incomplete
<jmercouris> the only true specification is the actual source code
<_death> jmercouris: a spec is much better.. it is complete, because tons of google data is encoded using protobuf format
<jmercouris> there are imprecisions in the spec that cannot be escaped, assumptions
<jmercouris> unless the protocol is very simple
<_death> and there are many tools to work with that, and they have a huge interest in maintaining backwards compatibility (that's a main reason for protobufs, after all)
<jmercouris> but why is it called "protobuf"?
<jmercouris> are you required to use a buffer?
<_death> ?
<jmercouris> I mean I get the "protocol" part of the name
<jmercouris> but why "buf"?
LiamH has quit [Quit: Leaving.]
<cgay> Protocol buffer... because it's a buffer for a gRPC message and is re-used over and over (usually).
<_death> because you can serialize stuff to a buffer :)
<jmercouris> you could serialize stuff to disk as well
<jmercouris> why not call it protodisk
<jmercouris> you can serialize to any data structure
<jmercouris> in any case, it is a google product
<cgay> protostrings
<jmercouris> and that is reason enough to not use it
<_death> jmercouris: you may have to ask the original authors
<_death> indeed it's a google product, but one they've become very dependent on, so there are parts of it they cannot change
<jmercouris> that doesn't matter, I don't wish to tie myself to their stupidity train
cosimone has joined #lisp
<cgay> works pretty well though. :)
amnesia` has quit [Ping timeout: 258 seconds]
<_death> jmercouris: there are other formats, but there aren't many high quality lisp libraries for them
sjl_ has quit [Ping timeout: 240 seconds]
<_death> and cl-protobufs looks very good.. written by Scott McKay and friends, after all :)
<jmercouris> be the change you want to see in this world
<jmercouris> if you are OK with that, then no problem :-)
Fare has joined #lisp
Bike has joined #lisp
z147 has quit [Remote host closed the connection]
z147 has joined #lisp
<_death> there are also many projects that use protobufs already, e.g. openstreetmaps.. so it makes it easier to play with them
<cgay> what are the competing technologies (I mean if we're going to ignore protobuf because of politics)?
<cgay> I guess there's Thrift. What's the story for that in CL? checking...
<_death> thrift also had some Lisp pull request methinks
<_death> there's also capnproto/flatbuffers/msgpack/etc
<cgay> ah, right. thanks. (haven't looked at msgpack)
<_death> oh, that avro thing..
pjb has quit [Read error: Connection reset by peer]
pjb has joined #lisp
jmercouris has quit [Remote host closed the connection]
_whitelogger has joined #lisp
<_death> ah, but cl-protobufs also has at least one bug ;).. and it's a FORMAT mess
<_death> ":~packed" in the format control string...
ebrasca has quit [Remote host closed the connection]
<_death> it's the same mistake as protoc, generating code by piecing together strings :/