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
satousan has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
orivej_ has joined #lisp
shifty has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej_ has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
PuercoPop has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
ahungry has joined #lisp
jgodbou has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
dominic34 has quit [Ping timeout: 256 seconds]
karlosz has joined #lisp
Kaisyu72 has quit [Quit: ERC (IRC client for Emacs 26.3)]
wxie has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
minerjoe has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
Domino has joined #lisp
MadestMadness has joined #lisp
tristero has quit [Ping timeout: 260 seconds]
wxie has quit [Ping timeout: 265 seconds]
torbo has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
<seok> Is :test #'equal or #'string= available for case clause?
<seok> I don't see it in the manual
zigpaw has quit [Ping timeout: 260 seconds]
satousan has quit [Quit: WeeChat 2.3]
zigpaw has joined #lisp
<seok> Hm, can't get it to work
<seok> I guess there's cond
borei has joined #lisp
<tychoish> yeah, I think it uses eq
<borei> hi all !
<borei> i have question about recursive function inlining (SBCL)
<borei> im getting warning - "note: *INLINE-EXPANSION-LIMIT* (50) was exceeded while inlining"
<borei> increasing that variable didn't help of cause.
<borei> and how does compiler knows that there were 50 expansions ?
<tychoish> seok: it uses eql
<seok> yeah
edgar-rft has quit [Quit: Leaving]
<borei> compiler doesn't has information about recursion depth.
<tychoish> it probably tracks them during macro expansion
<tychoish> seok: it looks like there's a switch macro in alexadria
<tychoish> that lets you do the thing you want
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
Domino has quit [Quit: Leaving]
MadestMadness has quit [Ping timeout: 260 seconds]
space_otter has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
vornth has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
minerjoe has joined #lisp
akoana has left #lisp ["Leaving"]
shifty has quit [Ping timeout: 265 seconds]
vutral has joined #lisp
aindilis has quit [Ping timeout: 260 seconds]
bjorkintosh has quit [Quit: Leaving]
<PuercoPop> seok: check (ql:quickload "string-case")
orivej has quit [Read error: Connection reset by peer]
orivej has joined #lisp
mindCrime has quit [Ping timeout: 260 seconds]
bsd4me has quit [Quit: gotta go]
minerjoe has quit [Ping timeout: 240 seconds]
ebrasca has quit [Remote host closed the connection]
cjb` has joined #lisp
cjb has quit [Ping timeout: 245 seconds]
bsd4me has joined #lisp
PuercoPop has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
cjb` has quit [Quit: ERC (IRC client for Emacs 26.3)]
cjb has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
mindCrime has joined #lisp
<beach> Good morning everyone!
<jgodbou> morn
mindCrime has quit [Ping timeout: 244 seconds]
<beach> jgodbou: Are you new here? I don't recognize your nick.
v88m has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
satousan has joined #lisp
<jgodbou> Not at all
<beach> Oh, OK. Sorry.
<jgodbou> I once asked you what time it really was where you were and you commented on timelessness of the chatroom
<jgodbou> But I do not talk much so it's okay
<beach> I see. Maybe you changed your nick, or maybe it was some time ago. Sorry either way.
zaquest has quit [Quit: Leaving]
retropikzel has joined #lisp
<jgodbou> Always so lively here :)
<loke> beach: do you recall some old Lisp implementation havign some kind of optimised storage of lists that used arrays behind the scenes?
<beach> Yes, Lisp Machine Lisp.
<loke> I sem to recall it being a failed experiment, but I can't remember the retails nor the name of the system.
<beach> it is called CDR coding.
<loke> Ah yes, CDR coding.
<beach> They could get away with it because it had hardware support.
philweb has quit [Remote host closed the connection]
philweb has joined #lisp
zaquest has joined #lisp
<loke> beach: This is the discussion I'm stuck in. I found myself in a rabbithole, and in posting this, I'm not expecting you to contribute nor even actually read it. :-)
Fare has quit [Ping timeout: 240 seconds]
minerjoe has joined #lisp
Oladon has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<beach> Reading now.
<beach> You should link to closos.pdf in the future. It is more recent.
Blukunfando has joined #lisp
Fare has joined #lisp
<beach> loke: Good luck! :)
narimiran has joined #lisp
retropikzel has quit [Quit: retropikzel]
orivej has quit [Ping timeout: 246 seconds]
mrcom has quit [Read error: Connection reset by peer]
<loke> beach: In the fost recent replies from Nate Cull, he explains his view on computation and data, and how he feels that abstract concept such as "objects" have failed.
<loke> I tend to both agree and disagree with what he's saying. I really need to think about this some more, because I'm not sure I have a consistent opinion on this yet.
<loke> I feel that Lisp Sexps as defined by Common Lisp is a really nice middle-ground between "raw arrays of bytes or other arrays" and some Java-like object-concepts.
vutral has quit [Quit: Connection closed for inactivity]
adyatlov has quit [Ping timeout: 245 seconds]
bsd4me has quit [Quit: Leaving]
v88m has joined #lisp
MadestMadness has joined #lisp
minerjoe has quit [Ping timeout: 240 seconds]
MadestMadness has quit [Client Quit]
<beach> loke: Yes, I see what you mean.
<beach> It is good that you keep the discussion polite.
mrcom has joined #lisp
<loke> beach: As I grow older, I have taken a different approach to online debates: Before assuming that the person with whom I'm talking is wrong, think about how what I am saying could be seen as wrong.
<loke> If the other person is still wrong, I prefer not participating at all.
gravicappa has joined #lisp
<beach> That's very wise. In the long run, that attitude will pay off.
icov0x29a has joined #lisp
ldb has joined #lisp
<ldb> good afternoon
<beach> Hello ldb.
<ldb> loke: to add up something could be relevant, in the programming language Russell types are viewed as a collection of interperations to the bits in memory
<ldb> which leads to very fine grained control of memory representation, while remain the advantages of polymorphism
<ldb> hello beach.
<Fare> good night, guys
Necktwi has quit [Ping timeout: 256 seconds]
<borei> hi all !
farooqkz__ has joined #lisp
<borei> "note: *INLINE-EXPANSION-LIMIT* (50) was exceeded while inlining" - getting it trying to inline recursive function. How does compiler count number of expansions not knowing recursion depth ?
mankaev has quit [Ping timeout: 272 seconds]
mankaev has joined #lisp
MadestMadness has joined #lisp
<borei> and one more question - note: doing float to pointer coercion (cost 13) to "<return value>" . Why ?
<ldb> borei: keeping a counter is enough to know the num of expansions
cosimone_ has joined #lisp
<borei> not clear
cosimone has quit [Read error: Connection reset by peer]
Necktwi has joined #lisp
<ldb> borei: first of all, recursive function cannot be inlined indefinitly in SBCL
zigpaw has quit [Ping timeout: 256 seconds]
<borei> is the an option to tell that recursion is not indefinite. My maximum depth will 8.
devon has quit [Ping timeout: 265 seconds]
zigpaw has joined #lisp
<ldb> borei: should setting *INLINE-EXPANSION-LIMIT* work
MindForeverVoyag has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 260 seconds]
<borei> i was trying to go up to 200 - no luck.
Aurora_v_kosmose has quit [Quit: later]
<beach> borei: In general, the compiler can not determine that the recursion depth is bounded.
<beach> borei: If there is a recursive call somewhere, then that call will be inlined.
jonatack has quit [Ping timeout: 272 seconds]
<beach> The only thing to stop the inlining is to set a limit to the number of times the compiler is allowed to inline.
<beach> That is what *INLINE-EXPANSION-LIMIT* does.
cosimone_ has quit [Quit: Quit.]
<fe[nl]ix> I see that optima was has been deprecated and the Github project was archived
<fe[nl]ix> what's the alternative ?
_whitelogger has joined #lisp
<loke> fenlix: there is another one that is compatible
<loke> I can't remember its name.
gioyik has quit [Quit: WeeChat 2.9]
Archenoth has joined #lisp
<fe[nl]ix> loke: trivia ?
<fe[nl]ix> I sent pull requests to replace Eos with Fiveam for all deps in Quicklisp, except for Optima
<fe[nl]ix> and since Optima is deprecated as well, it should be replaced
<fe[nl]ix> but it has 33 depending systems in Quicklisp
karlosz has quit [Quit: karlosz]
<loke> fenlix: Ah yes. Trivia.
<loke> What is depending on optima? also, why is it deprecated?)
satousan has quit [Quit: WeeChat 2.3]
<fe[nl]ix> its author abandoned it
<fe[nl]ix> loke: see (ql:who-depends-on "optima")
<loke> Who was the author?
<loke> Everything is archived, and his website is blank.
montxero has joined #lisp
jonatack has joined #lisp
_whitelogger has joined #lisp
aurelius has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
ldb has joined #lisp
ldb has quit [Ping timeout: 246 seconds]
mangul has joined #lisp
farooqkz__ has quit [Ping timeout: 240 seconds]
notzmv has quit [Ping timeout: 264 seconds]
Oladon has quit [Quit: Leaving.]
ahungry has quit [Remote host closed the connection]
ldb has joined #lisp
mankaev has quit [Ping timeout: 256 seconds]
mankaev has joined #lisp
froggey has quit [Ping timeout: 265 seconds]
froggey has joined #lisp
seok has quit [Ping timeout: 245 seconds]
jonatack has quit [Ping timeout: 256 seconds]
cjb has quit [Quit: ERC (IRC client for Emacs 26.3)]
gaqwas has quit [Remote host closed the connection]
pve has joined #lisp
shifty has joined #lisp
vaporatorius__ has joined #lisp
vaporatorius has quit [Ping timeout: 256 seconds]
ldb has quit [Ping timeout: 240 seconds]
ljavorsk has joined #lisp
ralt has joined #lisp
ldb has joined #lisp
jonatack has joined #lisp
ldb has quit [Ping timeout: 246 seconds]
contrapunctus has joined #lisp
ldb has joined #lisp
ldb has quit [Ping timeout: 265 seconds]
gravicappa has quit [Ping timeout: 265 seconds]
gravicappa has joined #lisp
aurelius has quit []
aurelius has joined #lisp
ldb has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
ldb has joined #lisp
ldb has quit [Ping timeout: 265 seconds]
gravicappa has quit [Remote host closed the connection]
iissaacc has joined #lisp
q3d has joined #lisp
<iissaacc> anyone know if common lisp has an equivalent of dir() in python to see the available methods etc of an object from the REPL? google not helping
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
<beach> iissaacc: What do you mean by "available methods of an object"?
montxero has quit [Remote host closed the connection]
<iissaacc> e.g:
<iissaacc> >>> dir(3)
<iissaacc> ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__',
<iissaacc> '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes',
<iissaacc> 'imag', 'numerator', 'real', 'to_bytes']
<iissaacc> >>>
<beach> Don't do that again, please.
<beach> Use a pastebin service for anything beyond a line.
<beach> I also don't know what I am looking at. Could you describe what you want?
<jackdaniel> he assumes, that methods "belong" to objects
<beach> Do you consider CONS to be an "available method" for every object?
<jackdaniel> probably equivalent would be "all generic functions which have an applicable method
<iissaacc> ^^
<flip214> anyone for PURI and IPv6? https://gitlab.common-lisp.net/clpm/puri/-/issues/1, and there's a merge request
<jackdaniel> iissaacc: no, methods in Common Lisp "belong" to generic functions, not objects
<iissaacc> right
<beach> Also, it is impossible to determine whether an ordinary function is "available".
<beach> ... for a particular object.
<beach> I mean, there is no particular reason to restrict yourself to generic functions.
mankaev has quit [Read error: Connection reset by peer]
<beach> Every predicate in the system that is a total function is always "available" to any object.
<beach> So every such predicate in every system or library loaded into the system is "available".
<iissaacc> ok yeah i see my misunderstanding. been using generic functions but didnt make the connection
ldb has joined #lisp
markong has joined #lisp
vaporatorius__ has quit [Quit: Leaving]
<jackdaniel> technically a generic function is an object too, you may even subclass it, but you know what I've meant
mankaev has joined #lisp
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
<beach> iissaacc: So can you be more specific about what you want?
<loke> There is a function in SWANK that can be used to find all methods that specialise on a given type.
<jackdaniel> I think that he understands now that his question doesn't make sense in Common Lisp (unlike in Python or C++, where "methods" are part of the class)
<beach> OK.
<loke> (SWANK-BACKEND:WHO-SPECIALIZES (FIND-CLASS 'some-class))
<iissaacc> beach i was just looking for a way of quickly seeing what methods i could use on an object from a library without looking at the source, but i see that it doesnt make sense in the lisp contexr now
<beach> Got it.
<loke> iissaacc: The best way to do that is simply to use SLIME and show all exported symbols in the library's package.
<ralt> I typically do LIB-PACKAGE:<tab>
<ralt> right, what loke said
<loke> Exactly ;-)
ldb has quit [Ping timeout: 256 seconds]
<iissaacc> thanks loke, this is cool
gxt has joined #lisp
philweb has quit [Ping timeout: 245 seconds]
<iissaacc> pretty much what i was after! even shows u where the definition is in the source file
<phoe> flip214: nope
bhartrihari has left #lisp ["Disconnected: closed"]
ggole has joined #lisp
<flip214> so moving over is still an idea, but the short-term solutions is to switch repository...
ldb has joined #lisp
icov0x29a_ has joined #lisp
icov0x29a has quit [Ping timeout: 256 seconds]
ldb has quit [Ping timeout: 240 seconds]
<loke> iissaacc: Note that this just shows the functions that are specialised on the type. There can be more functions that works with the type (anything defined with DEFUN won't show up for example)
markong has quit [Ping timeout: 265 seconds]
markong has joined #lisp
<jackdaniel> I have an idea how to make the input context apply to all frames (so it is possible to select a presentation from a different frame if it matches the context)
<jackdaniel> um, not here
jello_pudding has quit [Ping timeout: 256 seconds]
jello_pudding has joined #lisp
bhartrihari has joined #lisp
mangul has quit [Remote host closed the connection]
shangul has joined #lisp
minerjoe has joined #lisp
iissaacc has quit [Ping timeout: 240 seconds]
iissaacc has joined #lisp
Lord_of_Life_ has joined #lisp
Necktwi has quit [Ping timeout: 256 seconds]
space_otter has quit [Remote host closed the connection]
jprajzne has quit [Quit: jprajzne]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
jprajzne has joined #lisp
random-nick has joined #lisp
orivej has joined #lisp
ebrasca has joined #lisp
ljavorsk has quit [Ping timeout: 240 seconds]
q3d has quit [Ping timeout: 245 seconds]
cosimone has joined #lisp
terpri has quit [Remote host closed the connection]
cosimone has quit [Quit: Quit.]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
minerjoe has left #lisp ["ERC (IRC client for Emacs 28.0.52)"]
minerjoe has joined #lisp
terpri has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
vornth has joined #lisp
aaaaaa has joined #lisp
shangul has quit [Ping timeout: 256 seconds]
Necktwi has joined #lisp
gravicappa has joined #lisp
ldb has joined #lisp
Harag has quit [Remote host closed the connection]
<ldb> guys, do you have suggested reading on how common lisp loads a fasl file that contains native code?
xkapastel has joined #lisp
<jackdaniel> it is implementation dependent. only the part specified with eval-when is guaranteed
<jackdaniel> for instance ECL dlopen's the fasl file (which is in fact a shared library) and calls the initialization functions
<jackdaniel> and by "part specified with eval-when" I mean, that if you put some block as (eval-when (:execute) …), then this block will be evaluated when the fasl is loaded
<ldb> how can data objects with reference, such as symbols with a fdefinition, been restored?
Fare has joined #lisp
<phoe> first you grab the function object, then you setf the fdefinition of a symbol to that object
<jackdaniel> exactly
<ldb> ok so I see there's limitation on what kind of data been stored in fasl files
<jackdaniel> there /may/ be a limitation - it is implementation dependent
<ldb> actually I'm seeking guides on assembly code generation, but there's not much info on it besides calling LLVM
<phoe> that's not a FASL thing, they store already generated code
<phoe> you might be thinking of compiler design
wsinatra has joined #lisp
aurelius has quit [Remote host closed the connection]
zigpaw has quit [Ping timeout: 265 seconds]
<jackdaniel> afair beach plans for fasl in sicl to store a machine-independent compiled code which will be translated to a machine-dependent native code during load
<phoe> a FASL file might even contain just S-expressions that have undergone minimal compilation and have proper load-time side effects
<phoe> like, literally be a text file
<ldb> yes, I seen beach presented some example of minial compiled ast stored as sexps
<ldb> for load time code gen, I guess it is hard to design a general enough pseudo machine language to be portable
enrio has joined #lisp
ljavorsk has joined #lisp
enrio has quit [Remote host closed the connection]
enrio has joined #lisp
ldb has quit [Quit: leaving]
vidak` has quit [Remote host closed the connection]
ldb has joined #lisp
zigpaw has joined #lisp
rogersm has joined #lisp
ayuce has joined #lisp
__jrjsmrtn__ has joined #lisp
_jrjsmrtn has quit [Ping timeout: 240 seconds]
paul0 has joined #lisp
paul0 has quit [Client Quit]
cosimone has joined #lisp
FreeBirdLjj has joined #lisp
jgodbou has quit [Remote host closed the connection]
ldb has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
ldb has joined #lisp
ldb has quit [Ping timeout: 246 seconds]
ldb has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
ljavorsk has quit [Ping timeout: 256 seconds]
rumbler31 has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
ldb has quit [Ping timeout: 256 seconds]
jw4 has joined #lisp
<pve> Hi, do you guys think this function will let me reach the end of a list without actually READing? Assuming the standard readtable..
<pve> It seems to work, but I can't help but think that there's something I'm missing
<beach> pve: "this function"?
<pve> forgot the link
<pve> it doesn't have to be valid CL, I just need to balance the parens
<beach> What do you have against READ?
refpga has joined #lisp
iissaacc has quit [Ping timeout: 246 seconds]
<beach> But yeah, it looks plausible to me, given some constraints on the input.
<pve> nothing, but the code may refer to packages that don't exist
<beach> That's what Eclector is for.
<pve> (I know about eclector, it's on the roadmap)
<pve> ok
<beach> You can tell Eclector to interpret tokens in whatever way you like.
<jackdaniel> for arbitrary grammars there is also esrap
refpga has quit [Client Quit]
refpga has joined #lisp
<pve> is Eclector under heavy development? Or more or less stable?
<beach> More features are occasionally added, but what is there is stable.
<beach> I am using it as the only reader for SICL.
<beach> Clasp is using it as well.
<beach> But they may be using a specific reader during bootstrapping.
<beach> It is also well tested and well documented.
<pve> ok, that's good
rwcom3417491 has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
sjl_ has joined #lisp
orivej has joined #lisp
Aurora_v_kosmose has joined #lisp
enrioog has joined #lisp
enrio has quit [Ping timeout: 240 seconds]
refpga has quit [Read error: Connection reset by peer]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
refpga has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
refpga has quit [Read error: Connection reset by peer]
bhartrihari has joined #lisp
rogersm has quit [Quit: Leaving...]
refpga has joined #lisp
dominic34 has joined #lisp
bsd4me has joined #lisp
Alfr has joined #lisp
Bourne has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
icov0x29a__ has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
icov0x29a_ has quit [Ping timeout: 264 seconds]
rippa has joined #lisp
<Josh_2> Afternoon folks
<beach> Hello Josh_2.
orivej has quit [Ping timeout: 246 seconds]
Yardanico is now known as yardanico[ok]
orivej has joined #lisp
yardanico[ok] is now known as Yardanico
shifty has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
<Josh_2> Hey beach, hows your projects coming along?
<beach> Josh_2: Slow but steady progress, thank you. Working on the condition system at the moment. It is simple in theory, but the devil is in the detail as usual.
<beach> How about yours?
ahungry has joined #lisp
<Josh_2> Mine aren't going so great, been procrastinating really hard the last week. I was playing with McCLIM as a front end for an app I made, not made all that much progress.
<beach> I see.
refpga has quit [Ping timeout: 265 seconds]
<ebrasca> Hi
<beach> Hello ebrasca.
refpga has joined #lisp
<Josh_2> Hi
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
jgodbou has joined #lisp
<jgodbou> Trying to set up a github action for testing with ccl. They have the address specified to get the latest version of CCL here: https://ccl.clozure.com/download.html https://github.com/Clozure/ccl/releases/download/v1.11.5/ccl-1.11.5-linuxx86.tar.gz but that's version specificIs there an address I can run curl on to get the latest so I don't have to
<jgodbou> update my script when new releases are made?
<mfiano> Use roswell
<mfiano> See the github actions script for pngload
<jgodbou> ty
<phoe> someone needs to update ccl.clozure.com
<phoe> 1.11.5 has not been the latest stable 1.11 for a long time
holycow has joined #lisp
lad has joined #lisp
lad has quit [Remote host closed the connection]
lad has joined #lisp
lad has quit [Remote host closed the connection]
lad has joined #lisp
rogersm has joined #lisp
aindilis has joined #lisp
retropikzel has joined #lisp
tristero has joined #lisp
lad has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
lad has joined #lisp
lad has quit [Remote host closed the connection]
lad has joined #lisp
bitmapper has quit [Read error: Connection reset by peer]
bitmapper has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
rogersm has quit [Quit: Leaving...]
choegusung has joined #lisp
luckless_ has joined #lisp
luckless has quit [Ping timeout: 240 seconds]
enrio has joined #lisp
icov0x29a__ has quit [Ping timeout: 260 seconds]
enrioog has quit [Ping timeout: 240 seconds]
orivej_ has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
orivej_ has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
MadestMadness has quit [Quit: IRCNow and Forever!]
FennecCode has joined #lisp
philweb has joined #lisp
Lycurgus has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
leo_song has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
[ is now known as ^
leo_song has joined #lisp
asarch has joined #lisp
orivej has joined #lisp
orivej_ has quit [Ping timeout: 265 seconds]
<asarch> One stupid question: how would split this veeeryyy long expression?
refpga has quit [Ping timeout: 260 seconds]
<asarch> (gtk-tree-view-append-column (widget (tree-view *agenda*)) (gtk-tree-view-column-new-with-attributes "Tipo de nota" (make-instance 'gtk-cell-renderer-text) "text" 4))
refpga has joined #lisp
<shka_> asarch: use local variables to hold intermediate arguments
<shka_> sometimes it is also better to define smaller functions
Bourne has joined #lisp
<shka_> so i guess the usual way :-)
edgar-rft has joined #lisp
<aeth> asarch: use LET*
icov0x29a__ has joined #lisp
<asarch> Wouldn't that overload the process?
<phoe> overload?
<phoe> what do you mean
<phoe> if I understand the code correctly, then https://plaster.tymoon.eu/view/1970#1970
<mfiano> On SBCL, those locals will probably not even be stack-allocated, depending on SBCL's register allocator.
dominic34 has quit [Ping timeout: 246 seconds]
akoana has joined #lisp
<asarch> Overload in the sense of C's ptr = malloc(...); several times
<phoe> I don't understand in the slightest, what's ptr, why malloc, and how did we suddenly go into C
jgodbou has quit [Remote host closed the connection]
<asarch> Garbage collector
<phoe> I still don't understand what does garbage collector have to do with this
v3ga has quit [Ping timeout: 260 seconds]
<phoe> whatever garbage you collect with the non-LET* version you also create with the LET* version
<phoe> s/collect/create/
<asarch> I see
ldb has joined #lisp
gioyik has joined #lisp
* asarch takes notes...
<phoe> you don't magically prevent memory allocation by making variables
<phoe> or by not making them
<shka_> asarch: don't make it complicated for yourself
<shka_> until you run into a real problem, don't overthink
<asarch> Ok
<shka_> and in that case, it makes 0 difference
ldb has quit [Ping timeout: 240 seconds]
enrioog has joined #lisp
enrio has quit [Ping timeout: 246 seconds]
wsinatra has quit [Quit: WeeChat 2.9]
wsinatra has joined #lisp
seok has joined #lisp
<seok> Is it possible to turn off style warning when using a particular macro in sbcl?
avalos has joined #lisp
<seok> I have a let form in a macro and sometimes I don't use a variable set in the let form, triggers a style warning
avalos has left #lisp [#lisp]
<mfiano> (locally (declare #+sbcl (sb-ext:muffle-conditions style-warning)) ..)
<dlowe> add (declare (ignorable variable-name))
<mfiano> Oh yes, what dlowe said
<seok> mfiano that will turn off all style warnings won't it? I'd like to keep it
<seok> yeah ty dlowe
gioyik has quit [Ping timeout: 260 seconds]
<dlowe> IGNORE will warn if you do use it, IGNORABLE turns off the warning
<seok> fantastic, it works!
shifty has quit [Ping timeout: 240 seconds]
wsinatra has quit [Quit: WeeChat 2.9]
shifty has joined #lisp
ldb has joined #lisp
lucasb has joined #lisp
Harag has joined #lisp
gaqwas has joined #lisp
akoana has left #lisp [#lisp]
ldb has quit [Ping timeout: 260 seconds]
Lycurgus has quit [Quit: Exeunt]
Harag has quit [Client Quit]
philweb has quit [Remote host closed the connection]
akoana has joined #lisp
Harag has joined #lisp
gaqwas has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
philadendrite has joined #lisp
<philadendrite> G'day people
<phoe> helloooo
gioyik has joined #lisp
luckless_ has quit [Ping timeout: 240 seconds]
mindCrime has joined #lisp
ldb has joined #lisp
cosimone has quit [Remote host closed the connection]
Jesin has quit [Quit: Leaving]
cosimone has joined #lisp
notzmv has joined #lisp
notzmv is now known as Guest49630
seok has quit [Remote host closed the connection]
ldb has quit [Ping timeout: 256 seconds]
pve has quit [Ping timeout: 246 seconds]
Jesin has joined #lisp
Frobozz_ has quit [Quit: quit]
bsd4me has quit [Remote host closed the connection]
pve has joined #lisp
choegusung has left #lisp [#lisp]
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
ldb has joined #lisp
seok has joined #lisp
<seok> What is wrong with this macro? https://pastebin.com/EYb0QZEz
<phoe> variable capture
<phoe> multiple evaluation
<seok> What is that?
<seok> gee you are fast
<phoe> inside MACROLET, GAME is still quoted
<seok> can I ,quote even though it is not passed as a parameter?
<seok> ,game
<phoe> I don't know what you achieve by NOT in there
<seok> player is t / nil
<phoe> oh, okay then
<seok> it is to select opponent
<phoe> backquote doesn't know anything about parameters
<seok> yeah
<phoe> it's a tool for creating list structure
<seok> I imagined it will expand to (gethash t/nil game)
<seok> when calling (hand t/nil)
<phoe> yes, but GAME will be just a symbol by then
ldb has quit [Ping timeout: 260 seconds]
gioyik has quit [Ping timeout: 256 seconds]
<phoe> which is yet another instance of variable capture
<seok> Can I fix it with (game ,game) inside let?
<phoe> not really
<seok> let*
<seok> how do I pass the game hash without calling it as a parameter in macrolet?
<phoe> I suggest you use ONCE-ONLY and WITH-GENSYMS to solve both multiple evaluation and variable capture
<seok> is it not possible?
<phoe> and should also solve the problem with game passing if you ONCE-ONLY the game
<phoe> have you read On Lisp? it's a good primer for macrowriters
<seok> I am still reading it
<seok> xDD
<phoe> perfect!
<phoe> keep on reading then
<mfiano> Except it is filled with [wanted] anaphoric capturing, which may not align with conventions of most :)
<seok> does it have a chapter on this topic?
<phoe> seok: AFAIK chapters 8-10 describe common macro pitfalls
<phoe> and these are the chapters I'd suggest
<seok> Is this one of them?
<seok> xD
<bitmapper> fun
<mfiano> Oh nevermind, I am confusing Let Over Lambda
<bitmapper> this is still driving me insane
<phoe> seok: yes
<seok> Nice
<bitmapper> "The function SB-C::%MORE-ARG-CONTEXT is undefined."
<mfiano> Which is another book on the power of macros, but take what the author says with a grain of salt if you read that one
<phoe> mfiano: yes, LoL has lots of creative borderline-useless macrology
<phoe> bitmapper: what is the context of this error?
<bitmapper> i wish i knew
<phoe> bitmapper: no, wait a second, you get this error from *somewhere*
<phoe> you do something before this error pops up, what is it?
<phoe> or at least what is the backtrace and such?
<bitmapper> i can't backtrace
<phoe> ...why?
<bitmapper> the compiler crashes
<mfiano> Then check your inferior lisp buffer. It will contain the stack trace
<seok> yeah chapter 9 is on variable capture
<bitmapper> this is like 300 levels deep into ancient cltl mixed with ansi mixed with bootleg scheme mixed with haskell
<phoe> oh
<phoe> god sped you
<bitmapper> and i hate it
gioyik has joined #lisp
<bitmapper> i got it working on ccl
<bitmapper> i want yale haskell and nobody can stop me :v
<bitmapper> ; caught COMMON-LISP:WARNING:
<bitmapper> ; undefined variable: COMMON-LISP:FIXNUM
<bitmapper> ; caught COMMON-LISP:WARNING:
<bitmapper> ; undefined variable: SB-INT:INDEX
<bitmapper> oh no
<phoe> "undefined variable: SB-INT:INDEX"
<phoe> wait a second
<bitmapper> ; caught COMMON-LISP:WARNING:
<bitmapper> ; undefined variable: COMMON-LISP:LIST
<bitmapper> oh NO
karlosz has joined #lisp
<phoe> nope, not touching that code
<bitmapper> oh
<bitmapper> oh, that's actually a rather simple fix
<bitmapper> i remember now
<bitmapper> it defines a macro called type which makes sbcl very angry
<bitmapper> ; caught COMMON-LISP:WARNING:
<bitmapper> ; Constant 0 conflicts with its asserted type TYPE.
<bitmapper> oh
<bitmapper> phoe: it declares a type called type
Frobozz has joined #lisp
<bitmapper> which like
<bitmapper> breaks everything
<phoe> bitmapper: wait, that's illegal
<bitmapper> because you can do type declarations like this
<bitmapper> (type typespec var*)
<bitmapper> (typespec var*)
<bitmapper> oh my god that's hilarious
<phoe> bitmapper: did you unlock the CL package?
<bitmapper> perhaps
<phoe> well then
<bitmapper> :>
<phoe> you're no longer on charted territory, good luck
<bitmapper> i didn't actually need to unlock it
<phoe> ......is this that weird yale haskell code that unlocks the CL package for you?
Frobozz has quit [Remote host closed the connection]
<bitmapper> phoe: no
luna_is_here has quit [Ping timeout: 240 seconds]
<bitmapper> it expects the cl package to be called lisp iirc
<phoe> yes, that's CLtL1
<phoe> and I'm asking because (deftype cl:type () 'integer) is illegal
<bitmapper> yes
<bitmapper> debugger invoked on a SB-EXT:SYMBOL-PACKAGE-LOCKED-ERROR in thread #<THREAD "main thread" RUNNING {10008A0083}>: Lock on package COMMON-LISP violated when defining TYPE as a structure while in package MUMBLE-USER.
<phoe> as a structure... oh goodness
luna_is_here has joined #lisp
<phoe> I guess you can (:shadow #:type) in DEFPACKAGE MUMBLE-USER
ldb has joined #lisp
<bitmapper> phoe: or i could do it the better way and modify the custom reader for the bootleg scheme to replace type with a different symbol
<bitmapper> because that doesn't work anyway
karlosz has quit [Quit: karlosz]
aurelius has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
<bitmapper> i'm kidding myself
mankaev has quit [Read error: Connection reset by peer]
<bitmapper> there is no better way
abhixec has joined #lisp
mankaev has joined #lisp
<phoe> this is going to work in the short run
<phoe> but in the long run someone (read: likely you) is going to get very confused that something like that is going on in there.
<phoe> so I suggest proper packaging and shadowing instead
aurelius has quit [Ping timeout: 240 seconds]
vornth has quit [Read error: Connection reset by peer]
vornth has joined #lisp
MightyJoe has joined #lisp
Fare has quit [Ping timeout: 244 seconds]
orivej has quit [Ping timeout: 260 seconds]
netctrl has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
cyraxjoe has quit [Ping timeout: 265 seconds]
Guest49630 is now known as notzmv
<contrapunctus> minion: registration, please?
<minion> The URL https://gitlab.common-lisp.net/users/sign_in?secret=2be64d44 will be valid until 20:00 UTC.
<contrapunctus> I like that heading - "Registration on gitlab.c-l.net made harder" 😄
icov0x29a__ has quit [Quit: Leaving]
<phoe> the bots are having it real hard on clnet gitlab
ggole has quit [Ping timeout: 260 seconds]
MightyJoe has quit [Ping timeout: 265 seconds]
<contrapunctus> "Invalid login or password" 😣
cyraxjoe has joined #lisp
<contrapunctus> (Since I use a password manager, I usually take that to mean something excessively screwy has taken place.)
<phoe> contrapunctus: try asking on #common-lisp.net
ldb has joined #lisp
<contrapunctus> Oh, it seems I was supposed to register again with that link.
EvW has joined #lisp
luna_is_here has quit [Ping timeout: 256 seconds]
luna_is_here has joined #lisp
v3ga has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
ldb has quit [Ping timeout: 264 seconds]
shifty has quit [Ping timeout: 240 seconds]
TwoNotes has joined #lisp
borei has joined #lisp
shifty has joined #lisp
luna_is_here has quit [Ping timeout: 256 seconds]
luna_is_here has joined #lisp
xkapastel has joined #lisp
mindCrime has quit [Ping timeout: 260 seconds]
<bitmapper> phoe: screw it
<bitmapper> gcl time
<phoe> truly dead code requires truly dead implementations
<bitmapper> im pretty sure the code is more deaderer than gcl
<bitmapper> last commit like 3 months ago on gcl
ldb has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
MightyJoe has joined #lisp
ldb has quit [Ping timeout: 256 seconds]
cyraxjoe has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 240 seconds]
luckless has joined #lisp
gaqwas has quit [Remote host closed the connection]
pd_ has joined #lisp
TwoNotes has quit [Read error: Connection reset by peer]
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Remote host closed the connection]
grewal has quit [Ping timeout: 240 seconds]
grewal has joined #lisp
karlosz has joined #lisp
enrioog has quit [Ping timeout: 265 seconds]
<contrapunctus> Hm, thought I'd tweak the CSS of iterate's HTML documentation to improve reading on mobile...but I guess I'm the only nut who reads programming texts on their phone, and my CSS-fu isn't so strong that I can fix it without changing the way it looks on desktops. 😓
gravicappa has quit [Ping timeout: 256 seconds]
gxt has quit [Quit: WeeChat 2.9]
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
<seok> use media query?
narimiran has quit [Ping timeout: 256 seconds]
TwoNotes has joined #lisp
^ is now known as uplime
orivej has quit [Ping timeout: 240 seconds]
pd_ has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
TwoNotes has quit [Quit: Leaving]
<seok> PG says ,@ should be used in a sequence. does this mean it can be used in strings? (how?)
<seok> I thought the only use for it was in a list
v3ga has quit [Ping timeout: 260 seconds]
<_death> not strings, but `#(1 ,@(list 2 3))
<seok> Oh
<seok> Interesting
OpenZen has joined #lisp
<White_Flame> hmm, if commas did replacements inside strings, that would be another thing to have to escape
<seok> White_Flame there is already format tho
<White_Flame> right
<seok> guess "this is the value of x ,x" could be easier to read
<White_Flame> I have (debug-expression x) for that, as well as (debug-stuff &rest anything)
<White_Flame> so I tend not to have to use FORMAT much for actual stdout reporting
<seok> you have a better format?
<seok> is that your util?
<White_Flame> it just prints stuff
<White_Flame> with a space between them
<White_Flame> (let ((x 3)) (debug-expression x)) prints "X: 3" and newline
<seok> Ah
asarch has quit [Quit: Leaving]
<White_Flame> simple but useful
<seok> A lot of languages now have in-string formatting, guess we could write one for lisp
<seok> Is there one already?
<White_Flame> yeah, but FORMAT is fine, too
<_death> cl-interpol is one
<aeth> you can write a reader macro
<White_Flame> however, I think I would prefer an actual sexpr based one instead of magic chars in strings
<_death> indeed
<aeth> you could write a reader macro to just do the equivalent of #.(format nil "foo~%") as e.g. #%"foo~%" but idk if there are any useful 0-argument FORMAT directives other than ~%
<White_Flame> eg (magic-string-thing "Value: " (float n :total-digits 10) ...) etc
<aeth> White_Flame: eg #%("Hello ~A~%" name)
<White_Flame> (magic-string-thing "Hello " name)
<aeth> yes, but this has the advantage of being essentially sugar for (format nil ...)
<_death> (constantia:outs "Value: " (:f 1.234 :digits-after-point 2)) ==> "Value: 1.23"
<aeth> #%"..." for 0 args or #%("..." ...) for 0+ args
<White_Flame> why? getting away from format's magic characters & having to have the field specifier & value in 2 different places would be the point
<seok> why can't we have both?
ahungry has quit [Ping timeout: 240 seconds]
<seok> we have both '() and (quote nil)
<White_Flame> the vast majority of FORMAT usage does not use a singular passed-in format string to be used against other values
<White_Flame> eg, passed in from outside the format call itself
aurelius has joined #lisp
<White_Flame> so keeping canonical string templates as singular items gets in the way of most usage
aurelius has quit [Ping timeout: 264 seconds]
<White_Flame> _death: where's constantia? search engines are failing me
<White_Flame> cool, thx
<ralt> I often have (defun cat (&rest args) (apply #'concatenate 'string args)) in my projects
<phoe> uiop:strcat
<phoe> but then again, uiop
<ralt> Oh, didn't know about it
<ralt> I use uiop everywhere already so that's helpful
bsd4me has joined #lisp
orivej has joined #lisp
<phoe> don't we all
<phoe> only the strongest wills of us gathered here still decline to give in to its sweet but painful promises
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
ebrasca has quit [Remote host closed the connection]
<_death> the traditional name for this function is string-append.. but it was removed from CL
<seok> phoe wait! I didn't know this
<seok> ty
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
karlosz has quit [Quit: karlosz]
theseb has joined #lisp
torbo has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
seok has quit [Ping timeout: 245 seconds]
diamondbond has joined #lisp
aaaaaa has quit [Quit: leaving]
karlosz has joined #lisp
<aeth> string-append is also going to be available from my Scheme-in-CL, for when you want to pull in an entire, unused Scheme runtime just to call (apply #'concatenate 'string strings)
<aeth> (You know someone is going to do it eventually.)
<_death> but does it have string-nconc?
<aeth> no, Schemes generally frown on such things.
<aeth> plus, to truly nconc you'd need the first to be an adjustable string buffer rather than a simple-string, which I doubt is expected behavior
<_death> hehe.. lisp machine lisp had it.. it modified the first argument
<aeth> It's such unexpected behavior, MAKE-STRING doesn't even directly support it with an :adjustable key. You have to MAKE-ARRAY with :element-type 'character, e.g. (make-array 10 :element-type 'character :adjustable t)
<aeth> Of course, maybe everything was implicitly adjustable in Lisp Machines, but they had the benefit of having hardware support
<_death> I guess it wasn't useful enough to survive, although FORMAT can be supplied with an array which it will modify
<aeth> which is almost entirely redundant with WITH-OUTPUT-TO-STRING, although it'd be a bit more concise and potentially a bit more efficient
<_death> may be useful when you want to reuse the storage
rumbler31 has quit [Ping timeout: 256 seconds]
<aeth> The same sort of person who got rid of string-append for being redundant with concatenate probably would oppose the FORMAT string buffer feature over WITH-OUTPUT-TO-STRING. That there's an inconsistency like that shows it was designed by committee :-p
<_death> you mean string-nconc? :)
mindCrime has joined #lisp
pve has quit [Remote host closed the connection]
xkapastel has quit [Quit: Connection closed for inactivity]
diamondbond has quit [Ping timeout: 244 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
aaaaaa has joined #lisp
bsd4me has quit [Remote host closed the connection]
fwoaroof[m] has joined #lisp
aurelius has joined #lisp
aaaaaa has left #lisp [#lisp]
refpga has quit [Read error: Connection reset by peer]
aurelius has quit [Ping timeout: 246 seconds]
refpga has joined #lisp
elflng has quit [Read error: No route to host]
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
elflng has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
luna_is_here_ has joined #lisp
cosimone has quit [Ping timeout: 244 seconds]
luna_is_here has quit [Ping timeout: 264 seconds]
zigpaw has quit [Ping timeout: 265 seconds]
quazimodo has quit [Ping timeout: 256 seconds]
luna_is_here has joined #lisp
ldb has joined #lisp
luna_is_here_ has quit [Ping timeout: 240 seconds]
<Alfr> This is a first or so I think, would anybody else consider the folloing strange? https://gitlab.com/Harleqin/arrows/-/raw/master/LICENSE.html
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
random-nick has quit [Ping timeout: 240 seconds]
<aeth> CC0 isn't too unusual, although I normally see it more for things like documentation than code
<aeth> The license as HTML is pretty unusual, though
<Alfr> No, I mean the formatting of the HTML itself. ;)
quazimodo has joined #lisp
zigpaw has joined #lisp
bsd4me has joined #lisp
ayuce has quit [Read error: Connection reset by peer]
ldb has quit [Ping timeout: 265 seconds]
<aeth> It actually looks pretty nice
<aeth> Idk about always putting the closing tag on the same line as the prior thing, but that also removes ambiguity
<fwoaroof[m]> It might not matter here, but Creative Commons recommends that their licenses not be used for software
quazimodo has quit [Ping timeout: 246 seconds]
<aeth> Normally, you'd have to distinguish between on-their-own-line tags like </html> and inline tags like </b>, but then there's ambiguity, like </a> in the case of this html file
nckx is now known as ^
EvW1 has joined #lisp
<aeth> Consistently putting end tags at the end of the line makes a much simpler auto-formatter for machine-generated HTML
^ is now known as nckx
cjb has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
<Alfr> aeth, it's nice but also looks strange at the same time.
karlosz has quit [Quit: karlosz]
<aeth> Alfr: It would look a bit better, done by hand, if most of the tags were on their own line, like e.g. the </a>
<aeth> But then you'd have to be smart about when to do it and when not to do it
<aeth> and that would quickly become a large part of the library