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
<no-defun-allowed> Right.
Bike has quit [Quit: Lost terminal]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lacroixboy_ has joined #lisp
Bike has joined #lisp
orivej has joined #lisp
lacroixboy has quit [Ping timeout: 240 seconds]
Kundry_W_ has quit [Ping timeout: 256 seconds]
milanj has joined #lisp
Oladon has joined #lisp
lonjil has joined #lisp
dev has joined #lisp
slyrus__ has joined #lisp
slyrus_ has quit [Ping timeout: 246 seconds]
holycow has quit [Quit: leaving]
orivej has quit [Ping timeout: 256 seconds]
oxum has joined #lisp
Kundry_Wag has joined #lisp
dyelar has quit [Quit: Leaving.]
davepdotorg has joined #lisp
orivej has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
rgherdt has joined #lisp
ArthurStrong has joined #lisp
loli has quit [Ping timeout: 246 seconds]
dddddd has quit [Remote host closed the connection]
renzhi_ has joined #lisp
patlv has quit [Quit: patlv]
buffergn0me has joined #lisp
rgherdt has quit [Ping timeout: 272 seconds]
loli has joined #lisp
terpri has joined #lisp
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.3)]
crazybigdan has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
Kaisyu7 has joined #lisp
bitmapper has quit [Ping timeout: 260 seconds]
davsebamse has quit [Ping timeout: 272 seconds]
<White_Flame> are whitespace, constituents, traits etc first class in any measurable way?
zaquest has quit [Quit: Leaving]
rand_t has quit [Quit: rand_t]
davsebamse has joined #lisp
zaquest has joined #lisp
<Bike> you can set the syntax type of a character from another, but otherwise no
<crazybigdan> Hi, when using slime, if I have some file and in it a define some package "foo" and export some function inside that package, I can compile and run it and all is well
<crazybigdan> When I change the export list in the defpackage and recompile, I get an error along the lines of: "FOO also exports the following symbols: (foo:fun-i-removed-from-export)
<crazybigdan> How do I get around this and recompile the modified defpackage?
gigetoo has quit [Ping timeout: 260 seconds]
<White_Flame> an error, or just a warning?
gigetoo has joined #lisp
oxum has quit [Remote host closed the connection]
<Bike> delete the package inbetween?
<crazybigdan> it says it is a warning but slime will fail to load the fasl
<crazybigdan> I can direct it to anyways
<Bike> it's not a slime specific problem. doing a modified defpackage is undefined behavior according to the standard
<crazybigdan> a workaround I found was to change into that offending package (via in-package) and then (unintern) the symbol
<crazybigdan> that would allow me to recompile without warnings
<Bike> yeah, the problem is when the defpackage doesn't match the state of the package
<crazybigdan> but I was wondering if there was a more efficient way to doing it
<crazybigdan> okay
<Bike> if you unintern the symbol, it's not exported any more, so there's no problem
<crazybigdan> i thought i could unintern from outside the package, but that did not appear to work
<Bike> you can do (unintern 'foo::sym "FOO")
<Bike> regardless of what package you're in
hu6ub has quit [Ping timeout: 260 seconds]
<Bike> can probably also just use unexport
<White_Flame> crazybigdan: My coding style is to have exports by the DEFUNs, which seems to be in the minority. With defpackage loading first in a separate package.lisp, it's not an issue since that is rarely re-loaded. When it is an issue, I simply restart the lisp image to flush things out
oxum has joined #lisp
<White_Flame> it is a very good idea to restart during code modifications (renames, deletions, API changes, initializers, etc) to clean out any lingering prior code and to make sure your code is purely reflected in the running image
<crazybigdan> do you have an example on github or elsewhere?
<White_Flame> I just have a simple (defmacro defun-export (name params &body) `(progn (export ',name) (defun ,name ,params ,@body))) and use that instead of defun where appropriate
<White_Flame> obviously that won't remove the export if you rename to plain DEFUN, and DEFPACKAGE isn't happy having an empty export list if reloaded, etc
<White_Flame> but my main point is to say that restarting the image is something good to do when structural changes happen to your code
<White_Flame> then it doesn't matter what the old package definition is
<crazybigdan> Bike, that usage of unintern worked for me, I was calling it like (unintern 'sym "FOO")
<crazybigdan> so thank you
<Bike> yeah, if you just write 'sym it'll be the sym in the current package, but with foo:: it's expliit
<crazybigdan> so while i have you all here, what is the difference between 'sym and :sym?
<White_Flame> current package vs keyword package
<Bike> :sym is short for keyword:sym
<White_Flame> and keywords always evaluate to their own symbol as a data value, so no need to quote it
<White_Flame> so :sym is equivalent to ':sym
<crazybigdan> is there only one keyword package?
<White_Flame> yes
<White_Flame> it's intended to be used as a global space for symbols as data tags
<crazybigdan> and if the reader is looking up a sym, so there some order it will look between the current package and the keyword package?
<White_Flame> so there's no local bindings on them
<White_Flame> (well in a few cases there are, but whatever)
Oladon has quit [Quit: Leaving.]
<White_Flame> the keyword package probably should never be USEd, nor symbols exported from there
<White_Flame> keywords again are for symbols-as-data-elements, where other languages might used enums (ignoring the backing numbers)
<White_Flame> and a keyword will read the same no matter what package you're in, and 2 keywords of the same name will always be EQ
<crazybigdan> i have seen loop take two forms, one with symbols and one with keyword symbols: (loop :for i :in thing) vs (loop for i in thing)
<Bike> loop only uses the symbol names, so those are equivalent
<White_Flame> yep, that is loop-specific behavior. Loop is a weird little sublanguage
<White_Flame> which was integrated from past utilities
<crazybigdan> is there a "more correct" way to call loop?
<White_Flame> LOOP is a very general tool, and an easy go-to for many usages
turona has quit [Ping timeout: 265 seconds]
<White_Flame> there's an ITERATE library which is a more unified style re-take on the same sort of thing
<White_Flame> then there is DOLIST and generic DO and their related looping forms
<crazybigdan> sure, I mean, using symbols vs using keyword-symbols
<White_Flame> oh, you mean which of those is considered "more correct"
<crazybigdan> yeah
<White_Flame> I've seen plain symbols more than keyworded ones, but I don't think there's broad consensus
<crazybigdan> i would've guessed
<White_Flame> keywords will highlight better in emacs, and creates fewer arbitrary symbols at read-time (but that's pretty minor)
turona has joined #lisp
<crazybigdan> haha syntactical highlight is anything but minor :-)
<White_Flame> I mean the symbol creation is a very minor static overhead
<crazybigdan> by symbol creation you mean 'intern'ing?
<White_Flame> yes
<White_Flame> reading the input stream of characters "(loop for foo in bar " and generating the local-package symbols named FOR, FOO, IN and BAR
<crazybigdan> okay
<White_Flame> although really just FOR and IN would be superfluous; the other ones are genuine local variables
<White_Flame> LOOP of course would be imported from COMMON-LISP:LOOP
<crazybigdan> so after you call loop (like: (loop for i in foobar)) you could theoretically unintern the 'for and the 'in to clean up the package?
<White_Flame> right, to save probably some dozens of bytes in your at least dozens of MB footprint
<White_Flame> however, those might also exist in use elswhere in your code, so definitely not recommended
arpunk has joined #lisp
<aeth> I like using CL keywords for LOOP keywords because they stand out more, with or without syntax highlighting.
<aeth> The only downside is the rare case (just for hash-tables?) where LOOP strings together several words in a row
<aeth> that part just looks ugly
<aeth> Even though it looks cleaner to me, it is the minority style. Maybe because the big references like PCL don't use this style.
<White_Flame> it's a newer style, at the very least
oxum has quit [Remote host closed the connection]
<aeth> It probably became a thing when syntax highlighting became a thing. GNU Emacs (not sure about XEmacs) got syntax highlighting by default fairly late. Early 2010s iirc.
<aeth> It really shines in two cases: (1) with syntax highlighting and (2) when writing a LOOP in one line for something like IRC when it would normally be on more than one line
<White_Flame> (loop :for irc :in examples :when (keywords-used) ...)
oxum has joined #lisp
wxie has quit [Ping timeout: 240 seconds]
<crazybigdan> thanks btw everyone for the responses
Oladon has joined #lisp
abhixec has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
abhixec has quit [Client Quit]
toorevitimirp has joined #lisp
rpg has joined #lisp
renzhi_ has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
pjb has quit [Ping timeout: 240 seconds]
milanj has quit [Quit: This computer has gone to sleep]
akoana has left #lisp ["Leaving"]
davepdotorg has quit [Ping timeout: 265 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
SGASAU has quit [Remote host closed the connection]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 256 seconds]
X-Scale` is now known as X-Scale
SGASAU has joined #lisp
Bike has quit [Quit: leaving]
<beach> Good morning everyone!
sstc has quit [Quit: WeeChat 2.8]
<ArthurStrong> beach: indeed
shangul has joined #lisp
X-Scale has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Now with extra fish!]
oxum has quit [Remote host closed the connection]
ahungry has joined #lisp
pjb has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
<ArthurStrong> beach: you like a stranger you meet each time in subway in morning. what TZ you're in?
<beach> UTC+2
CrazyEddy has joined #lisp
<ArthurStrong> beach: me too
<beach> If you made a habit of going to ELS, I wouldn't be a stranger to you.
<beach> Though, who knows, maybe the idea of a bunch of people traveling in order to be at the same place at the same time to discuss a common topic is over.
<ArthurStrong> what is ELS?
<ArthurStrong> OIC, thanks
oxum has joined #lisp
Oladon has quit [Quit: Leaving.]
Kundry_Wag has joined #lisp
oxum has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
narimiran has joined #lisp
oxum has joined #lisp
karlosz has quit [Quit: karlosz]
gigetoo has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
karlosz has joined #lisp
gigetoo has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
davsebamse has quit [Ping timeout: 264 seconds]
ntqz has quit [Ping timeout: 260 seconds]
ntqz has joined #lisp
davsebamse has joined #lisp
buffergn0me has quit [Ping timeout: 240 seconds]
sdumi has quit [Ping timeout: 258 seconds]
sauvin has joined #lisp
gravicappa has joined #lisp
sdumi has joined #lisp
abhixec has joined #lisp
davepdotorg has joined #lisp
JohnMS_WORK has joined #lisp
lavaflow has quit [Ping timeout: 258 seconds]
davepdotorg has quit [Ping timeout: 246 seconds]
ahungry has quit [Remote host closed the connection]
dale has quit [Quit: My computer has gone to sleep]
lavaflow has joined #lisp
beach has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
shka_ has joined #lisp
beach has joined #lisp
sdumi has quit [Ping timeout: 246 seconds]
sdumi has joined #lisp
slyrus_ has joined #lisp
slyrus__ has quit [Ping timeout: 246 seconds]
Cymew has joined #lisp
varjag has joined #lisp
ramHero has quit [Ping timeout: 265 seconds]
sdumi has quit [Ping timeout: 240 seconds]
SGASAU has quit [Ping timeout: 256 seconds]
<phoe> hellooo
random-nick has joined #lisp
davepdotorg has joined #lisp
<no-defun-allowed> Hello phoe.
gigetoo has quit [Ping timeout: 246 seconds]
gigetoo has joined #lisp
ayuce has joined #lisp
pjb has quit [Ping timeout: 272 seconds]
gigetoo has quit [Ping timeout: 260 seconds]
yankM has quit [Ping timeout: 264 seconds]
gigetoo has joined #lisp
<beach> Hello phoe.
<phoe> good morning
rogersm has joined #lisp
gigetoo has quit [Ping timeout: 260 seconds]
gigetoo has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
liberliver has joined #lisp
karlosz has quit [Quit: karlosz]
milanj has joined #lisp
asarch has joined #lisp
<asarch> One stupid question: in Perl when you are debugging some module, you can add a return; at the middle of that module in order to prevent the interpreter reads the entire file. Is there any similar for Common Lisp?
<no-defun-allowed> You could put #| before the first line you don't want to read, and |# after the last line.
<aeth> what comes to mind is just inserting #| ... |# but there might be another way. perhaps a reader macro that essentially does nothing
<ralt> like #+nil
<no-defun-allowed> ralt: #+(or) would only work for one form though
<aeth> well, I was more thinking about a reader macro that reads until EOF
pve has joined #lisp
<p_l> beach: while I am generally pro-teleconference, I would prefer if events like ELS continued to be in-person
<p_l> much harder to do hallway track otherwise
<beach> p_l: I prefer that too, but the combination of pandemics and energy crises may force us to rethink.
amerlyq has joined #lisp
jprajzne has joined #lisp
toorevitimirp has quit [Ping timeout: 272 seconds]
<aeth> maybe when VR/AR is common
<shka_> eh, i just hope that future ELS events, even when returning to on-side formula will still be streamed
gigetoo has quit [Ping timeout: 256 seconds]
gigetoo has joined #lisp
davepdotorg has quit [Ping timeout: 244 seconds]
ArthurStrong has quit [Quit: leaving]
rgherdt has joined #lisp
Kundry_Wag has joined #lisp
SGASAU has joined #lisp
Kundry_Wag has quit [Ping timeout: 258 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
gigetoo has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
gigetoo has joined #lisp
dalz has joined #lisp
<Shinmera> I'd like that too but I fear it might impact funds negatively.
<Shinmera> It would also put a big additional burden on organisers.
<Shinmera> Lord knows a stream like that is difficult enough with pre-recorded stuff. Doing it live requires a ton of effort and knowledge that most people don't even realise.
heisig has joined #lisp
ljavorsk has joined #lisp
<White_Flame> do it all in 144p
<Shinmera> Unfortunately effort does not scale with the resolution
<asarch> Thank you guys!
<asarch> Thank you very much! :-)
asarch has quit [Quit: Leaving]
Zakkor has joined #lisp
femi has quit [Ping timeout: 272 seconds]
_heisig has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej_ has joined #lisp
heisig has quit [Read error: Connection reset by peer]
SGASAU` has joined #lisp
Krystof has quit [Ping timeout: 256 seconds]
SGASAU has quit [Ping timeout: 256 seconds]
jeosol has joined #lisp
Krystof has joined #lisp
liberliver has quit [Quit: liberliver]
liberliver has joined #lisp
rwcom34174916 has joined #lisp
_heisig is now known as heisig
<p_l> Shinmera: have you done it? Cause I feel lulled into pseudo safety by OBS and YT
rwcom3417491 has quit [Ping timeout: 256 seconds]
<phoe> p_l: OBS and YT have few moving parts
<phoe> no mics, no cameras, the ability to postprocess audio/video, the ability to have take twos/threes/fours
<p_l> phoe: OBS supports those, afaik
<phoe> it's not about support
<p_l> well, except multiple takes
<p_l> but you don't do multiple takes with *live* streaming
davepdotorg has joined #lisp
<phoe> it's about all the need to adjust their parameters at live time to make the streamed contents bearable
<phoe> one needs a camera operator, an audio mixer operator, and someone watching over the stream; that's already three people
<p_l> phoe: that's true, though I'll admit to cheating on that last time I tried ;P
rwcom34174916 has quit [Ping timeout: 272 seconds]
<phoe> p_l: cheating at such matters is amazing as long as you don't get caught
<phoe> and "getting caught" in this case means "you are streaming content that is unusable"
<phoe> and that is a direct issue when it comes to watching livestreamed content
<Shinmera> phoe: Done what? I did this year's stream. And I know a bit about how live events like ESA and GDQ operate. There's a ton of specialists on scene.
<Shinmera> *p_l
<p_l> Shinmera: I think there's a bit of scale between small end and ESA/GDQ
<Shinmera> Of course
<p_l> phoe: one simplification with ELS is that I don't recall there being more than one track
<Shinmera> But even given such large events have technical issues every time with large funding and large teams on scene.
<p_l> Shinmera: they have also significantly higher difficulty from the start
<p_l> sometimes the fixes are hilarious though
<no-defun-allowed> "Oh, but my ELS talk is about using artificial intelligence to automatically manage cameras and audio mixing..."
<phoe> p_l: also the stream, once it reaches Twitch, doesn't care about how people watch it; that's the part that doesn't care about the scale
<p_l> there's a mandatory manekineko in every CCC video, iirc
<p_l> this fixed a big issue they used to have in handling streaming
<Shinmera> p_l: Anyway, it's a fact that it would add a lot of additional requirements onto the local organisers. Every local chair I've talked to so far was completely exhausted after ELS even without having to worry about cameras, streaming, and moderating an online event at the same time.
<p_l> Shinmera: Yes, I think that's the biggest issue, not technical
<Shinmera> Well organising the cameras, video capture, and streaming /are/ technical issues that are a lot more trouble than 'just use obs lol'
<p_l> Personally been thinking of maybe volunteering regarding handling that at any future /local/ ELS, but it didn't work out
<phoe> ;;; and mics
<phoe> ;;; and the mixer
<p_l> Shinmera: I was thinking more of "individual technical bits can be handled this way, but you need time and people to arrange everything"
<ioa> p_l it was difficult to separate the ELS talks in tracks, given the time restrictions of some speakers (US timezones)
ntqz has quit [Ping timeout: 256 seconds]
sdumi has joined #lisp
ntqz has joined #lisp
shka_ has quit [Ping timeout: 264 seconds]
<White_Flame> Are the ELS talks available in a video-per-talk form yet? (and yeah, more work etc)
pjb has joined #lisp
<Shinmera> Not that I know.
<Shinmera> I've been too stressed since ELS to even handle the hand-off of the stream account to Didier.
<White_Flame> yeah, I bet
sdumi has quit [Ping timeout: 240 seconds]
<Shinmera> Twitch also has the capability to add 'chapters' but in the hurry of ELS I forgot about it.
dddddd has joined #lisp
<Shinmera> I don't think I can add those after the fact.
<srandon111> guys does lisp have Tail Call Optimization?
<Shinmera> It might.
<srandon111> ???
<Shinmera> It's up to the implementation.
<jackdaniel> it is not mandated by the standard
<srandon111> okok
<srandon111> i mean sbcl
<srandon111> common lisp
<jackdaniel> you mean sbcl or common lisp?
<Shinmera> SBCL will do it in some cases with some flag configurations.
<Shinmera> Check the manual.
femi has joined #lisp
<srandon111> Shinmera, isn't sbcl a common lisp?
<White_Flame> but in general, yeah. Just use tail calls. If it blows the stack, check the implementation docs to see if you need to do anything special
<jackdaniel> yes, but common lisp is not sbcl
<jackdaniel> you know, "A contains B" et cetera
<White_Flame> from a clean restart, (disassemble (lambda () (foo))) shows a tail call
<White_Flame> (in <1 month old sbcl , to be specific)
<White_Flame> (on x64)
<no-defun-allowed> It isn't advisable to write tail-recursive functions in Common Lisp.
<White_Flame> I think that's relatively outdated advice
<jackdaniel> code compiled with tco may be harder to debug
<phoe> #+sbcl (sb-ext:restrict-compiler-policy 'debug 3 3)
<phoe> look ma, no tail calls
<no-defun-allowed> In the sense that a conforming implementation could not support tail call elimination?
<White_Flame> the things that foil a tail call nowadays are generally things that will foil TCO in any TCO-supporting language
<phoe> White_Flame: TCO in Lisp can be foiled by global optimize settings
<White_Flame> sure
<phoe> that won't foil TCO in many TCO-supporting languages, such as Erlang, Scheme et al
<White_Flame> and if you have an infinite tail call recursive main loop or something, you can declare it happen there
<White_Flame> but still, it works until you do something to break it, and TCO is a powerful programming tool supporting in any modern CL implementation. Use it.
gigetoo has quit [Ping timeout: 272 seconds]
<White_Flame> *supported
<phoe> sb-ext:restrict-compiler-policy may cause the compiler to ignore local optimize declarations; that's a problem
<White_Flame> sure, "until you do something to break it", and in that example you know already what you're doing
<jackdaniel> sb-ext:lift-compiler-policy
<jackdaniel> ;)
<beach> srandon111: Often, algorithms that can be expressed with tail recursion are better expressed with iteration.
<phoe> jackdaniel: you scared me for a second
<jackdaniel> common lisp provides a wonderful iterative operator which syntactically resembles a tail-recursive function, it is called DO
<jackdaniel> (DO ((arg initial-value call-step)*) (exit-test return-value) function-body)
<phoe> jackdaniel: I haven't made that connection earlier! nice
<SAL9000> I guess you'd want TCO for CPS, although I'm not sure if any CLs can optimize that
<White_Flame> I've never considered that a reasonable resemblance ;)
<White_Flame> SAL9000: I use it all the time. My compiler target is currently CPS CL lambdas
<jackdaniel> White_Flame: well, it is striking to me :)
<SAL9000> :-)
<phoe> annnnnd strrrrike you're out
<jackdaniel> but do is for recursive function, not for general tco where functions "pass the baton"
<jackdaniel> s/do is/only for/
<Odin-> It's for where some languages use recursion to implement iteration. :p
<White_Flame> I often turn to LABELS where loops get hairy, and the disassembler tends to just turn into a bunch of JMPs
<White_Flame> *diassembled form
<White_Flame> mutually recursive or self recursive
<White_Flame> don't shortchange SBCL's compiler
<Odin-> White_Flame: We're talking about Common Lisp, not SBCL.
<White_Flame> the original question was about SBCL specifically
<Odin-> Well, no, it wasn't. But it turned out that was all the asker cared about.
<phoe> well if you want a SBCL-only solution then you can enable TCO in your programs, just follow the optimization guidelines
<White_Flame> "enable"?
<White_Flame> it's on by default
sdumi has joined #lisp
<phoe> even better!
Lord_of_Life_ has joined #lisp
gigetoo has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
liberliver has quit [Ping timeout: 240 seconds]
liberliver has joined #lisp
oxum has quit [Remote host closed the connection]
davepdotorg has quit [Remote host closed the connection]
pjb has quit [Ping timeout: 260 seconds]
jprajzne has quit [Quit: jprajzne]
liberliver has quit [Ping timeout: 256 seconds]
liberliver has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
orivej has joined #lisp
orivej_ has quit [Ping timeout: 272 seconds]
femi has quit [Ping timeout: 256 seconds]
liberliver has quit [Ping timeout: 256 seconds]
liberliver has joined #lisp
davepdotorg has joined #lisp
Kundry_Wag has joined #lisp
femi has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
liberliver has quit [Ping timeout: 240 seconds]
liberliver has joined #lisp
davepdot_ has joined #lisp
jprajzne has joined #lisp
davepdotorg has quit [Ping timeout: 264 seconds]
SGASAU` has quit [Remote host closed the connection]
SGASAU` has joined #lisp
mangul has joined #lisp
liberliver has quit [Ping timeout: 260 seconds]
liberliver has joined #lisp
shangul has quit [Ping timeout: 260 seconds]
pjb has joined #lisp
SGASAU` has quit [Remote host closed the connection]
dalz has quit [Remote host closed the connection]
SGASAU` has joined #lisp
ravndal has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
oxum has joined #lisp
Lycurgus has joined #lisp
liberliver has quit [Ping timeout: 260 seconds]
liberliver has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
lavaflow has quit [Ping timeout: 272 seconds]
sdumi has quit [Read error: Connection reset by peer]
sdumi has joined #lisp
liberliver has quit [Ping timeout: 256 seconds]
liberliver has joined #lisp
lavaflow has joined #lisp
SGASAU` has quit [Quit: ERC (IRC client for Emacs 26.3)]
SGASAU has joined #lisp
vaporatorius has quit [Read error: No route to host]
mangul has quit [Ping timeout: 256 seconds]
monokrom has joined #lisp
liberliver1 has joined #lisp
liberliver has quit [Read error: Connection reset by peer]
liberliver1 is now known as liberliver
Lycurgus has quit [Quit: https://ai-integration.biz - Exit Client]
Bike has joined #lisp
liberliver has quit [Ping timeout: 240 seconds]
sbodin has quit [Read error: Connection reset by peer]
sbodin_ has joined #lisp
igemnace has joined #lisp
Zakkor has quit [Quit: Connection closed for inactivity]
scymtym_ has joined #lisp
Ekho has quit [Quit: An alternate universe was just created where I didn't leave. But here, I left you. I'm sorry.]
scymtym has quit [Ping timeout: 260 seconds]
davepdot_ has quit [Remote host closed the connection]
davepdotorg has joined #lisp
scymtym__ has joined #lisp
scymtym_ has quit [Ping timeout: 272 seconds]
rand_t has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
pjb has quit [Ping timeout: 265 seconds]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
Bourne has quit [Ping timeout: 264 seconds]
Ekho has joined #lisp
srandon111 has quit [Remote host closed the connection]
igemnace has quit [Quit: WeeChat 2.8]
sdumi has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
Necktwi_ has joined #lisp
Necktwi has quit [Ping timeout: 246 seconds]
scymtym__ has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
scymtym has joined #lisp
ljavorsk has quit [Ping timeout: 258 seconds]
X-Scale has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 240 seconds]
Jesin has quit [Ping timeout: 260 seconds]
vaporatorius has quit [Ping timeout: 258 seconds]
mangul has joined #lisp
davepdotorg has joined #lisp
milanj has joined #lisp
davepdotorg has quit [Remote host closed the connection]
pjb has joined #lisp
davepdotorg has joined #lisp
oxum has quit [Remote host closed the connection]
hiroaki_ has joined #lisp
vibs29 has joined #lisp
<lukego> Hey how do you actually write (SETF (CDR (ASSOC KEY ALIST)) FOO) ?
<pjb> you start by typing the key with the "(" label. Then the key with the "S" label, and so on.
<pjb> lukego: careful, there's a trick with the key for " ": it has no label!
<pjb> lukego: it's a large key at the bottom of the keyboard.
<Bike> alexandria has an assoc-value place you can use
<jackdaniel> (let (a) (setf (alexandria:assoc-value a :key) 42) a)
<jackdaniel> what Bike said
<lukego> pjb: yeah thanks dickhead :)
<Bike> the code is kind of involved since you have to sometimes add a new cons and sometimes change an existing one
<jackdaniel> it also accepts a test parameter
<pjb> lukego: You're welcome!
<lukego> thanks for the assoc-value tip!
<Bike> https://github.com/keithj/alexandria/blob/master/lists.lisp#L29-L71 i mean it's messy in large part because it's a macro expanding to define-setf-expander, but still
<White_Flame> if you were using plists instead of alists, you could use the standard (setf (getf plist key) value) and that would construct a new entry if not found
<jackdaniel> but then you limit yourself to eq test
<lukego> I'm using symbol property lists at the moment i.e. GET but it seems a bit scattered. maybe plist is better, or hashtable evne.
vibs29 has left #lisp ["Leaving"]
<lukego> Just had a feeling there was a simple way to do it with alists in CL even without alexandria but must be mistaken
wsinatra has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
wsinatra has quit [Client Quit]
wsinatra has joined #lisp
orivej has joined #lisp
wsinatra has quit [Client Quit]
wsinatra has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
jw4 has joined #lisp
<Xach> lukego: (push (cons key value) alist) is another way
oxum has joined #lisp
<lukego> Xach: right. but will grow with repeated definitions, right? I thought PUSHNEW would do the trick but doesn't seem to replace existing items, only suppress the new one
<lukego> maybe I'll just stick with symbol properties
<jackdaniel> do you have a constraint which doesn't let you use alexandria?
<Xach> lukego: who's afraid of a little consing?
<jackdaniel> (just curious, if plists are OK then fine)
<Josh_2> plists are great
<Josh_2> so are alists
<jackdaniel> Xach: pushnew will retain the old value
<jackdaniel> ah, nvm, you were referring to plain push
<lukego> jackdaniel: no grudge against alexandria, already using it, was just surprised there wasn't a pure way
Necktwi has joined #lisp
<Bike> it's because the setf expansion sometimes has to alter a cons and sometimes has to alter a variable, so you can't just define a (setf assoc-value) function
<Xach> i reach for alists mostly when the automatic undoing as you call/return is handy
davepdot_ has joined #lisp
<jackdaniel> I find alists much easier to parse visually (i.e defpackage vs defsystem)
<lukego> Xach: I'm just maintaining my little (deffoo bar ...) registry. now it's (setf (get 'foo 'bar) ...). pretty fine. (all-foo) then uses do-all-symbols to collect the 'bar property when present, which is the kind of stupid inefficient code I like :)
<Josh_2> Xach: What do you mean?
<lukego> er, I have 'foo and 'bar switched there
<lukego> Xach: if I'd use push I'd have duplicates and then have to remove when making an (all-foo) list I guess
oxum has quit [Ping timeout: 260 seconds]
Necktwi_ has quit [Ping timeout: 258 seconds]
<Xach> Josh_2: like how you can call things that take an alist with new entries prepended, and it doesn't alter the alist in the caller, and it's simple tod o.
<Josh_2> oh right
<Josh_2> yeh
davepdotorg has quit [Ping timeout: 264 seconds]
<jackdaniel> n.b ecl's compiler environment is maintained with this technique
oxum has joined #lisp
<Xach> sometimes it's hidden behind an abstraction but using straight alists is simple enough.
gko has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
davepdot_ has quit [Remote host closed the connection]
Josh_2` has joined #lisp
davepdotorg has joined #lisp
srazzaque has joined #lisp
Josh_2 has quit [Ping timeout: 256 seconds]
<jdz> FWIW I'm using quite a few alists like this, and until I think of an abstraction I just look up a cell using assoc, and if the cell is found just (setf cdr), if not found then setq the variable with acons.
liberliver has joined #lisp
<Xach> pve: thanks for putting system-watcher on github!
<Bike> well that's what the setf assoc-value does
<jdz> Right, now I know there's assoc-value.
srazzaque has quit [Quit: ERC (IRC client for Emacs 26.3)]
srazzaque has joined #lisp
sbodin_ has left #lisp [#lisp]
patlv has joined #lisp
EvW1 has joined #lisp
stoneglass has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
EvW1 has quit [Ping timeout: 240 seconds]
renzhi_ has joined #lisp
gxt_ is now known as gxt
renzhi_ has quit [Read error: Connection reset by peer]
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
shifty has quit [Ping timeout: 264 seconds]
ahungry has joined #lisp
<lukego> Quite a pleasure to write Lisp code :). Lot of ways to do the same thing to choose from, but quite satisfying to write a few functions and see which one fits the nicest.
jfrancis_ has joined #lisp
jfrancis has quit [Read error: Connection reset by peer]
m1m0 has joined #lisp
<splittist> Or you could something hacky like https://github.com/splittist/docxdjula/blob/f18ce0a4135bc2774d90b37ac83e9aaf7181e179/ginjish-compiler.lisp#L44 etc, which almost, but not quite, allows you to use alists, plists. object slots and hash-tables interchangeably.
<splittist> s.could.could use.
cosimone has joined #lisp
<Bike> you could specify (map sequence) for that last one
<Bike> and then skip the list integer method
<lukego> Just now I have (defun add-foo (id &rest init) (setf *foo-db* (cons (apply #'make-foo :id id init) (remove id *foo-db* :key #'foo-id) and skipping the whole deffoo macro
<Shinmera> Use list* instead of cons!
davepdot_ has joined #lisp
<splittist> Bike: thanks. It just kind of growed...
davepdotorg has quit [Ping timeout: 260 seconds]
<lukego> splittist: that's some advance code :-) reminds me that I really need to get my black belt in LOOP one day
* phoe catches and returns it
sdumi has joined #lisp
saravia has joined #lisp
<splittist> augmented
<Xach> luis: i think you might have released a cffi that breaks the world
<Xach> ok, maybe not the world. but some stuff anyway.
<Shinmera> Oh no
<Xach> hmm...i am completely mistaken, i think.
* phoe plays the dramatic drums
<Xach> some rigetti libraries broke, but other stuff that broke today was for unrelated reasons
<Xach> > Derived type of #:PTR42 is (COMMON-LISP:VALUES (COMMON-LISP:COMPLEX COMMON-LISP:SINGLE-FLOAT) COMMON-LISP:&OPTIONAL), conflicting with its asserted type SB-SYS:SYSTEM-AREA-POINTER.
<phoe> that's a type error
<phoe> sounds like a bug in their code
<Xach> phoe: sure. but cffi recently changed also.
<phoe> yes, correct
<phoe> I'm reading the CFFI changes now
<Shinmera> That... does not look like my defcenum change
<Xach> is the cffi breaking change accidental or intentional?
* Shinmera relaxes slightly
lavaflow has quit [Ping timeout: 258 seconds]
Cymew has quit [Ping timeout: 258 seconds]
<phoe> should have been dotimes
<Shinmera> Xach: me being stupid and writing dolist instead of dotimes late at night
<Shinmera> then being unable to fix it for days
<phoe> Xach: the CFFI changes seem minor and mostly backwards compatible
<phoe> all four of them
<Xach> ok
<Xach> maybe magicl was recently released with this bug
<Shinmera> Xach: fix pushed.
<Xach> hmm, nope, magicl hasn't changed in a few months.
lavaflow has joined #lisp
<Xach> hmm, jackdaniel wrote the file that broke!
yankM has joined #lisp
<Xach> jackdaniel: can you shed any light on what might be going on?
<phoe> these bindings seem autogenerated
<phoe> so if there is a type error in there, it might mean a bug in the generating code
<luis> Xach: it could be the change that made defcstructs translatable.
dyelar has joined #lisp
<luis> That complex-single-float type is indeed one such defctype.
<luis> (nice touch linking to the source code from the error report!)
<Xach> thanks
<phoe> quicklisp quality of life™
<Xach> it doesn't always work
<Xach> but it's better than nothing most of the time!
<Xach> luis: should it be fixed on the cffi side or the magicl side? (or is there some other option?)
ebrasca has joined #lisp
<luis> The previous behaviour was definitely a bug. But old bugs can become features. Solving it on magicl's side would be nicer
spainisnotequal has joined #lisp
<Xach> stylewarning: the gauntlet is thrown
* phoe dramatic drums intensify
<Xach> luis: in the quicklisp world, this only affects one project (and its dependencies)
sdumi has quit [Ping timeout: 256 seconds]
<thonkpod> Oh boy. I guess I can poke through those magicl bindings and see what I can do
<Xach> why you, mysterious stranger?
<luis> open-source fairy, is that you? :D
<thonkpod> I wrote the high level magicl stuff
<luis> thonkpod: let me know if you need help.
* stylewarning plays Michael Jackson’s “Heal the World”
<stylewarning> Xach, thonkpod, I guess it’s the same error that I reported here https://github.com/rigetti/magicl/issues/106
<phoe> seems similar
<thonkpod> Ah, the issue I've been avoiding
<jackdaniel> what what?
<jackdaniel> I broke something?
* jackdaniel parses the backlog
<Xach> now it affects normal CPUs too
* phoe keeps on playing the dramatic bongos, the situation seems to warrant it
<phoe> I gotta write a #lisp musical someday
v88m has joined #lisp
<phoe> surprise breakages, mysterious open-source fairies, investigations and unusual CPU architectures
<phoe> gonna be a hit
<jackdaniel> OK, backlog parsed
<jackdaniel> all I did was splitting the generated bindings into few files
<jackdaniel> because resulting file was too big for gcc to take at one go (ecl transpiles to c)
v88m has quit [Read error: Connection reset by peer]
<jackdaniel> I don't think I've introduced a change which would cause /that/
<stylewarning> What if SBCL got better at type deriving
<Xach> jackdaniel: off the hook, then. for now.
<jackdaniel> uff
<Xach> it's deriving me crazy sometimes.
<stylewarning> Haha
<pve> Xach: you're welcome! unfortunately it's sbcl only currently..
<Xach> pve: what about the supporting library?
v88m has joined #lisp
<pve> also sbcl only, but supporting more implementations should not be hard, if I could find the time
<pve> phoe: here you go, as promised: https://github.com/pve1/system-watcher
<luis> thonkpod: does cladiv_ return a pointer or struct-by-value?
<thonkpod> Deferring to stylewarning
<phoe> pve: thanks!
<stylewarning> It should return a complex single float
<stylewarning> Which I guess means struct by val
<luis> stylewarning: the arguments are also "complex" but the defcfun definition says :pointer
spainisnotequal has quit [Remote host closed the connection]
<thonkpod> I remember there being issues about that. To my sleep deprived mind this looks possibly similar https://github.com/rigetti/magicl/issues/84
<stylewarning> luis: FORTRAN is pass by reference
<luis> thonkpod, stylewarning: your %CLADIV definition seems to be working around the bug that CFFI 0.22.0 fixes! it's performing the type translations that CFFI should be doing on its own.
<stylewarning> Probably true
<stylewarning> Would love help and suggestions to simplify the code and make it as efficient as possible
<luis> stylewarning: ok, then your complex-single-float dectype should map to :pointer (or (:pointer (:struct whatever)))
davepdot_ has quit [Remote host closed the connection]
davepdotorg has joined #lisp
ebrasca has quit [Remote host closed the connection]
<luis> actually, changing the defctype to :pointer will skip the type translations anyway, I think, so that should be the complete fix.
<luis> My ability to eval CFFI definitions in my head has vanished sadly. :(
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
<phoe> Small announcement: Online Lisp Meeting #1 starting in 52 minutes from now at https://www.twitch.tv/twitchplayscommonlisp/
srandon111 has joined #lisp
ljavorsk has joined #lisp
<srandon111> guys does "the land of lisp" also implements graphical games?
<srandon111> also does lisp have an image library similar to this one of racket ? https://docs.racket-lang.org/teachpack/2htdpimage-guide.html
<luis> stylewarning: oh, is it pass by reference and return by value?
rippa has joined #lisp
<stylewarning> luis: IIRC yes
oxum has quit [Remote host closed the connection]
kpoeck has joined #lisp
mmkarakaya has joined #lisp
* Xach tries to figure out which project defines the WIRE-FORMAT package, wishes he had saved metadata for such things
<luis> stylewarning: oh ok, ignore my comment then.
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
<splittist> srandon111: not really. It eventually uses a browser to present the state of a game graphically. CL does not have a canonical graphical thingy like racket.
<_death> Xach: protobuf?
<Xach> aha, and that was changed quite recently
<Xach> fun!
<xristos> srandon111: doing graphics in CL is a messy situation (compared to Racket), and involves a lot of trial and error and/or be willing to write a lot of plumbing code
<xristos> there are libraries that are easy to get going with (like ltk) but they don't compare to what Racket has
<_death> luis: if you have the time, I'd appreciate if you checked some of my cffi/slime changes.. maybe some of them are worth turning into pull requests
edgar-rft has quit [Quit: Leaving]
ahungry has quit [Ping timeout: 256 seconds]
<PuercoPope> phoe: how long will the meeting last?
<phoe> PuercoPope: the recording is 54 minutes long, so I'd expect that an hour + the duration of webcam chat on Jitsi
ahungry has joined #lisp
<PuercoPope> phoe: thanks. I think I can make it for the second half then
<PuercoPope> best of luck with the initiative
rpg has joined #lisp
<phoe> PuercoPope: the recording will also be on Twitch + YouTube as backup
<phoe> thanks!
<luis> _death: which changes are those?
<beach> phoe: Remind me what the title is and who is doing the presenting?
<phoe> beach: "Integrating independent condition systems" by Michał "phoe" Herda
<beach> Great! Thanks.
<beach> I might be able to watch it for a while.
<papachan> When it will start?
<phoe> papachan: 23 minutes from now
<phoe> at full hour
<papachan> ok ! thanks
<PuercoPope> phoe: do all presentations have to last a full hours? Are there ~10-15 minute slots?
<phoe> PuercoPope: no time limit whatsoever
bitmapper has joined #lisp
<phoe> both up and down
<phoe> someone suggested that we should do a series of lightning talks someday, and I think it would be a good idea
<phoe> just, like, a series of five-minute presentations from various people who work on various things
<phoe> ;; also, I hoped that my presentation would be shorter, but it ended up being 54 minutes long
<_death> luis: the ones in repos at https://github.com/death
rogersm has quit [Quit: Leaving...]
<phoe> PuercoPope: if you're up for recording anything, I'll gladly accept it for future online meets, no matter how short it is
<MichaelRaskin> phoe: I guess you would ask that stuff scheduled to run at 18:00 finishes by midnight or so
<phoe> MichaelRaskin: does that mean six hours of material or what
<phoe> or one hour of material and five hours of Jitsi talk
<phoe> I'm up for the latter
<MichaelRaskin> Well, with the latter you never know how it goes
<MichaelRaskin> So obviously
<MichaelRaskin> The former would probably declared an overkill
<phoe> I prefer to split such into two parts
<phoe> the official one - as long as the talks are
ayuce has quit [Remote host closed the connection]
<phoe> the unofficial one - 'til no one is sober
<phoe> and then even longer than that!
<MichaelRaskin> I would say that at 6h _three_ parts sound like a plan
<phoe> what is the third part
<PuercoPope> phoe: I was thinking of showing how I'm using the MOP to extend to the object model to support XCB requests/requests.
<stylewarning> luis: I’m not sure how a type error could come out of a DEFCFUN no matter what you write
<travv0> reminiscing about the first two parts
<MichaelRaskin> I mean three recordings of 2h each
<phoe> PuercoPope: please do
<phoe> MichaelRaskin: oh! that could happen, but 2h recordings are somewhat long on themselves
<phoe> that's already a mini-workshop
<phoe> and also I'd need 6h of material to stream, and that means someone'd need to record it
<phoe> PuercoPope: I can dig that, please record that and I'll schedule it for the next meet
<MichaelRaskin> phoe: I have in my life given what was effectively a 6 to 8 hour talk (but on theoretical stuff), but it was indeed in weekly instsallments
<luis> stylewarning: defcfun expands into code with forms coming from cffi:expand-from-foreign and the like
<phoe> MichaelRaskin: welp
<luis> right.
oxum has joined #lisp
* splittist prepares to be twitched
* phoe twitches
<MichaelRaskin> phoe: proofs in theory are work!
oxum has quit [Ping timeout: 246 seconds]
mmkarakaya has quit [Ping timeout: 260 seconds]
<stylewarning> Xach: the variables that cause the type error disappear in SBCL 2.0.4
<stylewarning> Not guaranteeing the type error also disappears
dddddd has quit [Read error: Connection reset by peer]
scymtym_ has joined #lisp
scymtym_ has quit [Client Quit]
scymtym_ has joined #lisp
scymtym_ has quit [Remote host closed the connection]
saravia has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 246 seconds]
scymtym has quit [Ping timeout: 272 seconds]
scymtym_ has joined #lisp
Bourne has joined #lisp
<stylewarning> Welp I tried to rebuild SBCL on PPC and it seg faulted
dale_ has joined #lisp
dale_ is now known as dale
v88m has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
dalz has joined #lisp
ntqz has quit [Remote host closed the connection]
gko has quit [Ping timeout: 240 seconds]
sdumi has joined #lisp
v88m has joined #lisp
oxum has joined #lisp
karlosz has joined #lisp
liberliver has quit [Ping timeout: 260 seconds]
scymtym_ has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
scymtym has joined #lisp
davepdotorg has quit [Remote host closed the connection]
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
davepdotorg has joined #lisp
sstc has joined #lisp
kpoeck has quit [Ping timeout: 245 seconds]
davepdot_ has joined #lisp
davepdot_ has quit [Remote host closed the connection]
davepdot_ has joined #lisp
davepdotorg has quit [Ping timeout: 246 seconds]
sdumi has quit [Ping timeout: 264 seconds]
rand_t has quit [Quit: rand_t]
davepdot_ has quit [Ping timeout: 260 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<bitmapper> AAAAAAA
<bitmapper> "My name is Yan and I am the business manager here at Franz. Sorry that
<bitmapper> ACL v6.2 is more than 15 years old and we no longer proivde it to users."
rpg has joined #lisp
sdumi has joined #lisp
<papachan> Thank you phoe
orivej has quit [Read error: Connection reset by peer]
orivej has joined #lisp
<phoe> papachan: <3
sdumi has quit [Ping timeout: 272 seconds]
ayuce has joined #lisp
sdumi has joined #lisp
buffergn0me has joined #lisp
ayuce has left #lisp ["ERC (IRC client for Emacs 28.0.50)"]
ebrasca has joined #lisp
ayuce has joined #lisp
davepdotorg has joined #lisp
_whitelogger has joined #lisp
cosimone has quit [Quit: Quit.]
Kundry_Wag has quit [Remote host closed the connection]
cosimone has joined #lisp
Kundry_Wag has joined #lisp
davepdotorg has quit [Ping timeout: 246 seconds]
cosimone has quit [Client Quit]
oxum has quit [Remote host closed the connection]
<stylewarning> luis: it looks like updating CFFI allows me to repro the bug
<stylewarning> luis: older CFFI didn't have this issue
oxum has joined #lisp
SGASAU` has joined #lisp
<luis> stylewarning: that's true. I believe the previous behaviour was a bug and a bugfix was contributed by Madhu. https://github.com/cffi/cffi/commit/c5d140fed60b8bbe29a6fd5c5491ac25044aedb0
<stylewarning> luis: this is the old macroexpansion of a simple defcfun: https://pastebin.com/tjeyKh39
<stylewarning> note the lines labeled ; ********...
rgherdt has quit [Remote host closed the connection]
SGASAU has quit [Ping timeout: 246 seconds]
<luis> Hmm. The translator is kicking in properly. 🤔
<stylewarning> luis: this is the new macroexpansion: https://pastebin.com/X6eGV4ga
<stylewarning> Note the lines labeled ; **** #x
<luis> That doesn't look right, does it?
oxum has quit [Ping timeout: 256 seconds]
<stylewarning> you can see the type error easily: the "inner" pointer is bound to a (COMPLEX a b); and the outer pointer is trying to deref the inner ptr
<stylewarning> #4 is trying to deref the complex made by #3
<luis> Indeed.
<stylewarning> So I guess the question is: Who is in the wrong? Am I instructing CFFI wrong (and it somehow worked before)? Or did this CFFI change do some wacky stuff?
<stylewarning> here is the minimal test case: https://pastebin.com/7pLMVcFA
<stylewarning> you just need to quickload :cffi-libffi and load this file
<luis> I don't see anything obviously wrong with magicl/src/cffi-types.lisp so I'll revert the alleged bugfix and analyse it later.
<stylewarning> (I will admit that is somewhat unsatisfying)
<stylewarning> we were at the climax of this play!
efm has joined #lisp
abhixec has quit [Ping timeout: 258 seconds]
SGASAU` has quit [Remote host closed the connection]
SGASAU` has joined #lisp
mathrick has quit [Remote host closed the connection]
<luis> Xach: released 0.22.1 which should fix things for magicl
mathrick has joined #lisp
kpoeck has joined #lisp
orivej has quit [Quit: No Ping reply in 210 seconds.]
orivej has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
Bike has quit [Ping timeout: 256 seconds]
oxum has joined #lisp
choegusung has joined #lisp
mangul has quit [Ping timeout: 272 seconds]
m1m0 has quit [Quit: Leaving]
oxum has quit [Ping timeout: 264 seconds]
rgherdt has joined #lisp
Jesin has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
asarch has joined #lisp
lavaflow has quit [Ping timeout: 240 seconds]
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
<asarch> How is better? (let (...) (defun foo (...) ...) ... (foo bar baz)) or (flet ((foo (...) ...)) (let (...) (foo bar baz))?
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
lavaflow has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
milanj has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
kingragworm has joined #lisp
kingragworm has quit [Remote host closed the connection]
<buffergn0me> asarch: The latter? Unless you really need a global function that is a closure
<asarch> Thank you!
jprajzne has quit [Quit: Leaving.]
<asarch> That is for GTK+ with cl-cffi-gtk's (within-main-loop (flet ... (let ...)))
Bike has joined #lisp
mathrick has quit [Remote host closed the connection]
mathrick has joined #lisp
mathrick_ has joined #lisp
mathrick has quit [Client Quit]
mathrick_ is now known as mathrick
rpg has joined #lisp
_heisig has joined #lisp
heisig has quit [Ping timeout: 272 seconds]
_heisig has quit [Quit: Leaving]
<phoe> The first online Lisp meeting is over now and the recording is posted at https://www.youtube.com/watch?v=5xprY8GCxFQ - thanks to everyone who participated, and I'm looking for material and videos for future editions!
slyrus_ has quit [Quit: Leaving]
<pve> heh
<phoe> interesting stuff
davepdotorg has joined #lisp
ljavorsk has quit [Ping timeout: 246 seconds]
davepdotorg has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 256 seconds]
wsinatra has quit [Quit: WeeChat 2.8]
orivej has joined #lisp
ebrasca has quit [Remote host closed the connection]
dddddd has joined #lisp
abhixec has joined #lisp
lucasb has joined #lisp
efm has quit [Write error: Connection reset by peer]
efm has joined #lisp
jeosol has quit [Remote host closed the connection]
efm has quit [Excess Flood]
efm has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
SGASAU` has quit [Remote host closed the connection]
SGASAU` has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
kpoeck has quit [Remote host closed the connection]
stoneglass has quit [Quit: stoneglass]
bars0 has joined #lisp
kpoeck has joined #lisp
SGASAU` has quit [Quit: ERC (IRC client for Emacs 26.3)]
SGASAU has joined #lisp
orivej has joined #lisp
lavaflow has quit [Ping timeout: 240 seconds]
fluxwave has quit [Quit: leaving]
lavaflow has joined #lisp
lottaquestions has joined #lisp
izh_ has joined #lisp
narimiran has quit [Quit: leaving]
sstc has quit [Quit: WeeChat 2.8]
cosimone has joined #lisp
elflng has quit [Ping timeout: 260 seconds]
pve has quit [Quit: leaving]
orivej has quit [Ping timeout: 256 seconds]
elflng has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
izh_ has quit [Quit: Leaving]
bars0 has quit [Ping timeout: 260 seconds]
karayan has quit [Remote host closed the connection]
ahungry has quit [Remote host closed the connection]
karayan has joined #lisp
orivej has joined #lisp
ayuce has quit [Read error: Connection reset by peer]
rpg_ has joined #lisp
rpg_ has quit [Client Quit]
rpg has quit [Ping timeout: 264 seconds]
kpoeck has quit [Remote host closed the connection]
rozenglass1 has quit [Ping timeout: 272 seconds]
davepdotorg has joined #lisp
ljavorsk has joined #lisp
oxum has joined #lisp
davepdotorg has quit [Ping timeout: 265 seconds]
SGASAU has quit [Remote host closed the connection]
oxum has quit [Ping timeout: 256 seconds]
SGASAU has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
hiroaki_ has quit [Ping timeout: 246 seconds]
gxt has quit [Ping timeout: 240 seconds]
dalz has quit [Remote host closed the connection]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
gxt has joined #lisp
efm has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 256 seconds]
gravicappa has quit [Ping timeout: 258 seconds]
davsebamse has quit [Ping timeout: 240 seconds]
davsebamse has joined #lisp
cosimone has quit [Quit: Quit.]
jprajzne has joined #lisp
<jfrancis_> I have a need to draw some very very very basic graphics on a Linux console in a window. Doesn't even need to be color (ie, white lines on a black background is sufficient). Some basic primitives like, "draw a line from a,b to c,d" or "draw a circle with radius r at a,b" would be nice, but not critical. What's the easiest thing in quicklisp to do those basic tasks?
<jfrancis_> ...and when I say "Linux console", what I mean specifically is a standard X desktop.
<phoe> sounds like a use case for McCLIM I guess
<jfrancis_> I'm not opposed to that, but there isn't something more lightweight?
orivej has joined #lisp
<phoe> that doesn't render to X, but you can fire up a PNG viewer
<jfrancis_> Vecto is cool, but I need to be able to do live (animated) images to an X window.
<jfrancis_> lispbuilder-sdl looked like a reasonable choice, but didn't know if there was something even lighter
<PuercoPope> jfrancis_: sketch may be what you are looking for
igemnace has joined #lisp
zulu-inuoe_ has quit [Quit: Leaving]
mathrick has quit [Remote host closed the connection]
mathrick has joined #lisp
whiteline_ has quit [Remote host closed the connection]
whiteline_ has joined #lisp
<_death> with lispbuilder-sdl, I sometimes use https://gist.github.com/death/89156262b6b3e25abc3b52da18c2ba24
jprajzne has quit [Quit: jprajzne]
Kundry_Wag has quit [Ping timeout: 260 seconds]
jprajzne has joined #lisp
gigetoo has quit [Ping timeout: 256 seconds]
gigetoo has joined #lisp
jprajzne has quit [Client Quit]
mathrick has quit [Remote host closed the connection]
mathrick has joined #lisp
jprajzne has joined #lisp
rpg has joined #lisp
ljavorsk has quit [Ping timeout: 256 seconds]
monokrom has quit [Quit: Leaving]
efm has joined #lisp
terpri has quit [Remote host closed the connection]
jprajzne has quit [Quit: jprajzne]
terpri has joined #lisp
jprajzne has joined #lisp
terpri_ has joined #lisp
terpri_ has quit [Remote host closed the connection]
terpri has quit [Ping timeout: 244 seconds]
thijso has quit [Ping timeout: 264 seconds]
thijso has joined #lisp
terpri has joined #lisp
shifty has joined #lisp
random-nick has quit [Ping timeout: 256 seconds]
Kundry_Wag has joined #lisp
jprajzne has quit [Quit: jprajzne]
jprajzne has joined #lisp
wxie has joined #lisp
devon has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
davepdotorg has joined #lisp
karstensrage has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
Oladon has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
jprajzne has quit [Quit: jprajzne]
lacroixboy_ has quit [Remote host closed the connection]
lacroixboy_ has joined #lisp
jprajzne has joined #lisp
_whitelogger has joined #lisp
jprajzne has quit [Quit: jprajzne]
<no-defun-allowed> (babel:string-to-octets string) and (babel:octets-to-string unsigned-byte-vector)
<no-defun-allowed> Character encoding problems are likely to bite you in the backside if you try to just CHAR-CODE and CODE-CHAR random bytes.
<markasoftware> that's the sort of crap i was worried about. I've heard of babel briefly before, I'll look into it. Thanks!
davepdotorg has joined #lisp