jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.5.4, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
EvW has quit [Ping timeout: 264 seconds]
karlosz has joined #lisp
notzmv has joined #lisp
ttron has joined #lisp
xantoz has joined #lisp
<Josh_2> Xach no problems
<vsync> anyone know how to bind the Enter key to anything in LispWorks on Windows?
ttron has quit [Quit: ttron]
milanj has quit [Quit: This computer has gone to sleep]
<ym> Thanks.
sivese has joined #lisp
zdm has joined #lisp
Oladon has joined #lisp
fengshaun has quit [Quit: bibi!]
fengshaun has joined #lisp
jfe has quit [Ping timeout: 276 seconds]
Lycurgus has quit [Quit: Exeunt]
notzmv has quit [Ping timeout: 265 seconds]
bitmapper has quit [Ping timeout: 268 seconds]
milanj has joined #lisp
semz has quit [Ping timeout: 245 seconds]
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
EvW has joined #lisp
beach` has joined #lisp
beach has quit [Ping timeout: 246 seconds]
akoana has left #lisp ["Leaving"]
Oladon1 has joined #lisp
Oladon has quit [Ping timeout: 240 seconds]
karlosz has quit [Quit: karlosz]
lawfullazy has joined #lisp
jfe has joined #lisp
mathrick has quit [Ping timeout: 264 seconds]
mathrick has joined #lisp
Oladon1 has quit [Quit: Leaving.]
stepnem has joined #lisp
analogue has joined #lisp
ahungry has joined #lisp
igemnace has joined #lisp
Ricchi has quit [Read error: Connection reset by peer]
Ricchi_ has joined #lisp
igemnace has quit [Read error: Connection timed out]
igemnace has joined #lisp
prmarq108 has joined #lisp
jfe has quit [Ping timeout: 240 seconds]
analogue has quit [Quit: Leaving]
refpga has quit [Ping timeout: 245 seconds]
karlosz has joined #lisp
zdm has quit [Remote host closed the connection]
libertyprime has joined #lisp
CrazyEddy has joined #lisp
EvW has quit [Ping timeout: 245 seconds]
abhixec has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
sivese has quit [Ping timeout: 240 seconds]
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
vaporatorius has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
emacsomancer has quit [Quit: WeeChat 2.6]
Bike has quit [Quit: Lost terminal]
torbo has joined #lisp
BooAA has joined #lisp
notzmv has joined #lisp
notzmv is now known as Guest57737
Guest57737 is now known as zmv
prmarq108 has quit [Ping timeout: 268 seconds]
zmv is now known as `420
`420 has left #lisp [#lisp]
`420 has joined #lisp
shangul has joined #lisp
kajo has quit [Ping timeout: 245 seconds]
beach` is now known as beach
<beach> Good morning everyone!
prmarq108 has joined #lisp
prmarq108 has quit [Quit: Leaving]
dddddd has quit [Remote host closed the connection]
shrdlu68 has joined #lisp
fragamus has quit [Quit: Lost terminal]
BooAA has quit [Remote host closed the connection]
esrse has joined #lisp
shrdlu68 has quit [Ping timeout: 276 seconds]
nanoz has joined #lisp
Ricchi_ has quit [Ping timeout: 245 seconds]
BooAA has joined #lisp
BooAA has quit [Remote host closed the connection]
torbo has quit [Remote host closed the connection]
zulu-inuoe has quit [Ping timeout: 268 seconds]
jfe has joined #lisp
jfe has quit [Ping timeout: 268 seconds]
zulu-inuoe has joined #lisp
ahungry has quit [Remote host closed the connection]
Ricchi has joined #lisp
igemnace has quit [Ping timeout: 245 seconds]
vlatkoB has joined #lisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life has joined #lisp
caltelt has quit [Ping timeout: 245 seconds]
raghavgururajan has joined #lisp
igemnace has joined #lisp
permagreen has quit [Remote host closed the connection]
isBEKaml has joined #lisp
gravicappa has joined #lisp
nanozz has joined #lisp
ttron has joined #lisp
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
ttron has quit [Client Quit]
refusenick has joined #lisp
ttron has joined #lisp
nanoz has quit [Ping timeout: 245 seconds]
isBEKaml has quit [Quit: leaving]
retropikzel has joined #lisp
sauvin has joined #lisp
flamebeard has joined #lisp
makomo has joined #lisp
nanoz has joined #lisp
nanozz has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 245 seconds]
sivese has joined #lisp
shrdlu68 has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
kajo has joined #lisp
libertyprime has quit [Ping timeout: 240 seconds]
JohnMS_WORK has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
ljavorsk has joined #lisp
nanozz has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
nanoz has quit [Ping timeout: 245 seconds]
sivese has quit [Ping timeout: 245 seconds]
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 265 seconds]
refpga has joined #lisp
pritambaral has quit [Ping timeout: 276 seconds]
ttron has quit [Quit: ttron]
nostoi has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
scymtym has quit [Ping timeout: 265 seconds]
lnostdal has quit [Ping timeout: 276 seconds]
lnostdal has joined #lisp
pritambaral has joined #lisp
jfe has joined #lisp
refpga has quit [Quit: Quit]
refpga has joined #lisp
kajo has quit [Ping timeout: 245 seconds]
jfe has quit [Ping timeout: 245 seconds]
jprajzne has joined #lisp
orivej has joined #lisp
Ricchi has quit [Remote host closed the connection]
varjag has joined #lisp
ltriant has quit [Quit: leaving]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
ljavorsk has joined #lisp
nostoi has quit [Quit: Verlassend]
jello_pudding has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
scymtym has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
Shinmera- has joined #lisp
ljavorsk has joined #lisp
Shinmera has quit [Read error: Connection reset by peer]
Shinmera- is now known as Shinmera
ljavorsk has quit [Ping timeout: 245 seconds]
jello_pudding has quit [Remote host closed the connection]
ralt has joined #lisp
shrdlu68 has left #lisp ["WeeChat 2.5"]
karlosz has quit [Quit: karlosz]
Necktwi has joined #lisp
spal has quit [Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in]
milanj has joined #lisp
jello_pudding has joined #lisp
frgo_ has joined #lisp
frgo has quit [Ping timeout: 246 seconds]
jello_pudding has quit [Remote host closed the connection]
ljavorsk has joined #lisp
aindilis has quit [Ping timeout: 240 seconds]
bjorkintosh has quit [Ping timeout: 250 seconds]
hhdave has joined #lisp
shka_ has joined #lisp
heisig has joined #lisp
ljavorsk has quit [Ping timeout: 264 seconds]
kajo has joined #lisp
jonatack has quit [Quit: jonatack]
cosimone has joined #lisp
shangul has quit [Remote host closed the connection]
shangul has joined #lisp
jfe has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
jfe has quit [Ping timeout: 240 seconds]
housel_ is now known as housel
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
sivese has joined #lisp
SyrupThinker has joined #lisp
GoldRin has joined #lisp
esrse has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 265 seconds]
risto has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 276 seconds]
reggie_ has quit [Read error: Connection reset by peer]
reggie_ has joined #lisp
gareppa has joined #lisp
buffergn0me has quit [Remote host closed the connection]
buffergn0me has joined #lisp
__jrjsmrtn__ has joined #lisp
m00natic has joined #lisp
ljavorsk has joined #lisp
buffergn0me has left #lisp ["ERC (IRC client for Emacs 26.2)"]
gareppa has quit [Quit: Leaving]
jonatack has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
refusenick has quit [Ping timeout: 245 seconds]
ljavorsk has quit [Ping timeout: 245 seconds]
cosimone has quit [Quit: Quit.]
eSVGDelux has joined #lisp
gxt has quit [Ping timeout: 260 seconds]
ljavorsk has joined #lisp
eSVG has quit [Ping timeout: 264 seconds]
frgo_ has quit [Remote host closed the connection]
TMA has quit [Ping timeout: 240 seconds]
cosimone has joined #lisp
jfe has joined #lisp
TMA has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
Josh_2 has quit [Ping timeout: 240 seconds]
jfe has quit [Ping timeout: 268 seconds]
milanj has quit [Quit: This computer has gone to sleep]
ljavorsk has joined #lisp
jfe has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
dddddd has joined #lisp
sivese has quit [Ping timeout: 265 seconds]
nanozz is now known as nanoz
dmiles has quit [Ping timeout: 245 seconds]
<sindan> I don't see any function to identify a property list, apart from testing whether all the odd-positioned elements are keywords.
<sindan> would that be right?
<jackdaniel> sure, why not?
<sindan> and that the length is even
<jackdaniel> list is a bunch of conses, so you have no guarantee that someone won't push to it
<jackdaniel> if you want to enforce some structure you either believe your peers or you come up with a protocol treating object as a opaque entity
<sindan> sure, that's not the problem, I'm the only one accessing it, just wondered if there was some builtin function I didn't know of, but I can do it myself.
dmiles has joined #lisp
ljavorsk has joined #lisp
gareppa has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
milanj has joined #lisp
gareppa has quit [Remote host closed the connection]
ljavorsk has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 240 seconds]
ljavorsk has quit [Ping timeout: 250 seconds]
jmercouris has joined #lisp
EvW1 has joined #lisp
gigetoo has quit [Ping timeout: 265 seconds]
__jrjsmrtn__ has joined #lisp
frgo has joined #lisp
emacsomancer has joined #lisp
gareppa has joined #lisp
orivej has joined #lisp
pritambaral has quit [Ping timeout: 265 seconds]
jfe has quit [Ping timeout: 276 seconds]
<sindan> is there some convention against nil being a plist? in principle it looks like one, empty
<Shinmera> you're asking the wrong question.
<Shinmera> A plist can only be a plist by intent. You cannot determine if something is or is not a plist programmatically.
<Shinmera> because there is no type that can give you this information.
<Shinmera> you could box a list in a structure and give that a type, thus carrying that type information somewhere, but then you're just shifting the question of whether it really has a plist or not to wherever that box is created.
<Shinmera> So I can only ask why you want to know if something is a plist
jonatack has quit [Ping timeout: 245 seconds]
<sindan> therefore I'm asking about some social consensus. I know there is not a specific plist type. I want to duck-type identify it because I have some flexible data structures.
<Shinmera> The short answer is you can't, and you shouldn't. Be stricter about your data structures instead to avoid headaches like these.
<sindan> Nah, I would be using other languages if I wanted the compiler to punish me
<Shinmera> I don't think the compiler was mentioned anywhere at all
<scymtym> the question is whether you want (check-type thing plist) (can be done) or (my-type-of thing) => 'plist (cannot be done in a robust way)
<sindan> Shinmera, compiler = expression to denote strong type system, okay?
<Shinmera> I'm not talking about strong typing either. I'm talking about building robust software.
<sindan> Well, I know full well that it's shaky, that's the reason I asked, in case anyone had wondered about the same thing. I don't need any of this to be robust.
<scymtym> sindan: if you are looking for heuristics, this is what we use in clouseau (mcclim's inspector): https://github.com/scymtym/McCLIM/blob/merge-new-inspector/Apps/Clouseau/src/objects/list.lisp#L115
gigetoo has joined #lisp
<sindan> Shinmera, and, just wondering, how do you build robust software without strong typing anyway?
<sindan> scymtym, thanks, I'll have a look
elimik31 has quit [Read error: Connection reset by peer]
<Shinmera> sindan: The choice I made when I came across it was to not allow plists at all.
elimik31 has joined #lisp
<Shinmera> sindan: By designing good protocols, erroring early, testing well, etc. Same as everywhere else.
ggole has joined #lisp
<scymtym> a CL programmer is the wrong person to ask about mitigating absence of strong typing in any case
<sindan> scymtym, that's exactly what I have done, except that instead of a loop I use (every #'keyword (plist-keys l)) doing what the loop does anyway
<sindan> #'keywordp
<White_Flame> CL is pretty strongly typed
<scymtym> and consing a list of keys, but yes, semantically
jmercouris has quit [Ping timeout: 240 seconds]
<sindan> scymtym, very much agree, but I happen to be playing in CL so I came here to ask :)
<White_Flame> it's just that "plist" is not a type ;)
<White_Flame> it's like asking if a string is a username or a machine name
<White_Flame> unless you actually put that information somewhere, it doesn't exist
<sindan> White_Flame, therefore my use of the expression "social consensus"
<sindan> or something like that; nil in CL is a bunch of disastrous abstraction-breaking things anyway.
<White_Flame> btw, how would NIL not be a plist? it doesn't violate any plist protocol. It's an empty plist. And empty alist. And empty list. And symbol :-P
<White_Flame> I think you're asking if people always keep plists stuffed with at least 1 dummy key/value pair to somehow keep its plistness? Not that I'm aware of
<sindan> White_Flame, no, I was not asking that. That's butt ugly. Next thing you're gonna ask me is if I put the type name in the variables' names?
<White_Flame> well, how else would you not have NIL as a plist?
pritambaral has joined #lisp
<White_Flame> the original question doesn't leave much room for alternatives
<sindan> But I said this from the beginning: I said "in principle, it looks like one, empty"
<White_Flame> still, what would any alternative be?
<White_Flame> (also, looking above that, there's zero requirement that plist keys be keywordp_
refpga has quit [Ping timeout: 240 seconds]
refpga has joined #lisp
jmercouris has joined #lisp
<sindan> I thought it was clear I was asking about some gotchas down the line, and that only those who had tried that would respond. Instead I got replies telling me what I already knew: that it's impossible to decide (of course, trying to assign a type to nil is silly), and that it looks like one, which I said.
<Shinmera> I did try, and I did tell you what I ended up doing, too.
<thijso> I wonder where you got the idea that writing robust software has anything at all to do with strong typing, or any typing at all...
<White_Flame> you asked if it was convention to not consider NIL as a plist.
<White_Flame> that's ... hard to unpack what it would mean if it weren't considered one
bjorkintosh has joined #lisp
gabiruh has quit [Quit: ZNC - 1.6.0 - http://znc.in]
gabiruh has joined #lisp
jmercouris has quit [Ping timeout: 268 seconds]
<sindan> White_Flame, that was also part of the question: the question could have been rephrased like: "to anyone who has wondered about this, how did you solve it and were there any gotchas?"
refpga has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
<White_Flame> (solve what, exactly?)
refpga has joined #lisp
<sindan> Just forget it.
<White_Flame> (and if the "what" is distinguishing it, then that's what all the other answers were already)
<White_Flame> well, just trying to get at the root of the question. that's fine
<sindan> I find it impossible to understand that you still have not understood what is the root of the question. What information ae you missing anyway?
<White_Flame> if you're asking if something goes one way or another, but one of the ways seems undefinable, the information I'm missing is what examples have you seen that make you question that other direction, as it doesn't seem possible
<White_Flame> unless, as I posited above, you were asking if by "nil is not considered a plist", then an empty plist would have to be stuffed with a dummy entry or something
<sindan> Well, the first part of your "if" is false. And you suppose way too much about what I'm asking.
amerlyq has joined #lisp
<White_Flame> well, then I consider the question as worded to be ununderstandable :-P
<sindan> Then ask about what I mean, instead of your first intervention "plist is not a type". When did I say that? It didn't help; you also repeat "nil looks like a plist", which is also information made clear in my question. If you can't process "has anyone wondering about this (and deciding it is or it is not a plist) found any problems afterwards", then I cannot explain it in a more simple way.
<White_Flame> to be clear, I jumped in when a claim that CL was not strongly typed was made, and then tied it back to the topic
<sindan> ok :)
<White_Flame> and of course, people were wondering about "this" and telling you why it doesn't really exist
<White_Flame> either nil is a plist, or an empty plist is not nil. Those are really the only 2 choices by definition
<White_Flame> (or at least the two simplest branches to take)
flamebeard has quit []
<sindan> Nah, don't apply logic to this. As I also said, nil in CL breaks abstractions right and left
<scymtym> White_Flame: i'm not sure which claim you are referring to. i said a CL programmer was the wrong person to ask /because/ CL is strongly typed
<White_Flame> scymtym: ah, ok
lucasb has joined #lisp
gxt has joined #lisp
eSVGDelux has quit [Ping timeout: 245 seconds]
pritambaral has quit [Read error: Connection reset by peer]
refpga has quit [Ping timeout: 245 seconds]
pritambaral has joined #lisp
cosimone has quit [Quit: Terminated!]
niceplace has quit [Quit: ZNC 1.7.3 - https://znc.in]
niceplace has joined #lisp
jonatack has joined #lisp
refpga has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
elimik31 has quit [Read error: Connection reset by peer]
dddddd has quit [Ping timeout: 245 seconds]
gigetoo has quit [Ping timeout: 240 seconds]
elimik31 has joined #lisp
elimik31 has left #lisp [#lisp]
dddddd has joined #lisp
Bike has joined #lisp
bitmapper has joined #lisp
paul0 has quit [Ping timeout: 276 seconds]
isBEKaml has joined #lisp
jprajzne has quit [Remote host closed the connection]
pritambaral is now known as prite
liberiga has joined #lisp
jfe has joined #lisp
emacsomancer has quit [Read error: Connection reset by peer]
<White_Flame> while local package nicknames have some implementation, are there any projects out there that implement nested packages?
`420 has left #lisp [#lisp]
livoreno has joined #lisp
<beach> White_Flame: What is the main problem that nested packages would solve?
<White_Flame> really, it's for a DSL. but it would be nice if somebody already did that in CL to be able to piggyback its features
<pjb> sindan: it is not silly to try to assign a type to NIL. NIL belongs to an infinite number of types, between NULL and T.
<pjb> beach: so nested packages provide more than local package names or nicknames or relative packages.
<pjb> the question would rather be what set of feature we would need or want.
<pjb> In that comment, I argue that structure in the naming scheme is enough, and that we wouldn't need or want recursive structure in packages themselves.
<pjb> But without implementations and experiments we don't really know.
<White_Flame> any heirarchy can alwys be implemented as pointers into a flat space
<White_Flame> so I'm not sure that truly makes a distinction
<pjb> Well the first difference would be that (delete-package "FOO") would delete also FOO.BAR and all other structurally nested package.
<pjb> while with a flat structure, it would just delete "FOO" and keep "FOO.BAR" etc.
<White_Flame> yep
<pjb> So the question is what behavior is better?
<White_Flame> I don't think it's necessarily "better", but what fits the current language requirements being implemented
<pjb> Same with renaming. If we rename "FOO" to "QUUX", will that also rename "FOO.BAR" to "QUUX.BAR" This would seem a good idea, in the case of renaming.
mindCrime has joined #lisp
<pjb> Indeed, working only on the names is the lightest change on existing CL.
manualcrank has joined #lisp
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
hortiel has joined #lisp
<hortiel> hi
<hortiel> compared to python C is quite verbose, but what about when compared to common lisp
gigetoo has joined #lisp
<hortiel> I see some examples on benchmarks debian site, and lisp code too seems big enough?
<pjb> hortiel: I find C is about 30x more verbose than lisp.
<White_Flame> lisp doest not have syntax-level shortcuts for every little thing, so small code seems bigger in lisp than other langauges with lots of syntax
<pjb> hortiel: have a look at http://cliki.net/Performance
<White_Flame> but big code is much smaller in lisp
<hortiel> what syntax-level shortcuts are you talking about
<White_Flame> a[2] vs (aref a 2), or obj.slot vs (type-slot obj)
<pjb> a++ = (incf a)
duuqnd has joined #lisp
<pjb> stuff like that.
<White_Flame> CL is much more regular, which really really lends well to metaprogramming
<pjb> That said, with reader macros and macros, you can design a DSL that let you write very concise code.
frgo_ has joined #lisp
<hortiel> it also has sig-nificantly lower variability, whichtranslates into reduced project risk. ---what variability is mentioned here
Demosthe1ex is now known as Demosthenex
frgo has quit [Ping timeout: 245 seconds]
frgo_ has quit [Ping timeout: 245 seconds]
<_death> it also helps to lower the threshold of abstraction, for example by obeying the law of demeter.. (foo-bar (quux-foo quux)) can be abstracted so you'll have (quux-bar quux).. other languages may tempt you to leave it as quux.foo.bar because it's not too much to type, but in the big you pay for this
dale_ has joined #lisp
<pjb> hortiel: take 10 programmers, have them implement the same thing. You will get programming times, bug counts, program size, program speed that will vary a lot If they write all in lisp, these variations will be reduced. The variability is reduced.
dale_ is now known as dale
<beach> hortiel: Do you have a link for that quotation?
<pjb> beach: It's in some paper or article in http://cliki.net/Performance
<beach> Thanks.
paul0 has joined #lisp
cosimone has joined #lisp
<beach> Oh, from Erran Gat.
<hortiel> yes in cliki
<beach> Stuff like that is hard to compare because it is hard to measure, and it is rare (probably because it is too costly) to see any scientifically significant investigation into differences between different programming languages.
gareppa has quit [Quit: Leaving]
bitmapper has quit [Ping timeout: 268 seconds]
gareppa has joined #lisp
<dlowe> People are so fussy about proofs and comparisons between languages. Just go with what you like. Let time sort it out.
amerlyq has quit [Quit: amerlyq]
eSVGDelux has joined #lisp
<beach> Sort of. When I give talks to industry, I cite the article by Hudak and Jones, not because of their claim that Haskell is best, but because I want to point out that the choice of programming language for a project is not to be taken lightly, because it can have a huge impact on the total cost of the project.
<beach> Whereas in most cases, the choice is made because of some aspect that does not mean much to the final cost, like "all our programmers already know language X and none of them know language Y".
refpga has quit [Ping timeout: 245 seconds]
refpga has joined #lisp
<dlowe> in my experience, social and management factors make so much more of a difference that differences due to technical decisions (as long as they are ballpark-appropriate) are just statistical noise
<beach> Interesting.
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
liberiga has quit [Ping timeout: 260 seconds]
ym has quit [Read error: Connection reset by peer]
smazga has joined #lisp
EvW1 has quit [Ping timeout: 250 seconds]
heisig has quit [Quit: Leaving]
gareppa has quit [Quit: Leaving]
eSVGDelux has quit [Ping timeout: 245 seconds]
gareppa has joined #lisp
gareppa has quit [Remote host closed the connection]
gareppa has joined #lisp
georgie has joined #lisp
hortiel has quit [Quit: WeeChat 2.5]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
refpga has quit [Ping timeout: 240 seconds]
refpga has joined #lisp
papachan has joined #lisp
sjl has joined #lisp
gigetoo has quit [Ping timeout: 276 seconds]
orivej has quit [Ping timeout: 245 seconds]
gigetoo has joined #lisp
isBEKaml has quit [Quit: leaving]
gareppa has quit [Quit: Leaving]
aindilis has joined #lisp
bitmapper has joined #lisp
gareppa has joined #lisp
yoeljacobsen has joined #lisp
yoeljacobsen has quit [Max SendQ exceeded]
yoeljacobsen has joined #lisp
yoeljacobsen has quit [Max SendQ exceeded]
yoeljacobsen has joined #lisp
georgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Josh_2 has joined #lisp
<ecraven> is there a way to return a result in slime so that it will be a clickable link to open a file?
frgo has joined #lisp
<_death> check out swank-presentations.lisp, it has a not-too-developed way to compute the menu (on right click).. it could be redesigned to be properly extensible, say in a way similar to pprint-dispatch
cosimone_ has joined #lisp
gareppa has quit [Quit: Leaving]
makomo has quit [Ping timeout: 240 seconds]
cosimone has quit [Ping timeout: 250 seconds]
nika has joined #lisp
dddddd has quit [Ping timeout: 245 seconds]
cosimone_ is now known as cosimone
makomo has joined #lisp
dddddd has joined #lisp
x[LGWs4x4i]uG2N0 has joined #lisp
orivej has joined #lisp
gigetoo has quit [Ping timeout: 240 seconds]
yoeljacobsen has quit [Ping timeout: 276 seconds]
yoeljacobsen has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
gigetoo has joined #lisp
Folkol has joined #lisp
Folkol has quit [Remote host closed the connection]
Folkol has joined #lisp
gxt has quit [Ping timeout: 260 seconds]
asdf_asdf_asdf has joined #lisp
risto has quit [Ping timeout: 245 seconds]
dddddd has quit [Ping timeout: 276 seconds]
gareppa has joined #lisp
m00natic has quit [Remote host closed the connection]
varjag has joined #lisp
yoeljacobsen has quit [Ping timeout: 265 seconds]
Oladon_work has joined #lisp
dddddd has joined #lisp
retropikzel has quit [Remote host closed the connection]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
rippa has joined #lisp
hhdave has quit [Quit: hhdave]
raghavgururajan has joined #lisp
refpga has quit [Ping timeout: 240 seconds]
refpga has joined #lisp
nika has quit [Ping timeout: 265 seconds]
Lord_of_Life_ has joined #lisp
lawfullazy has quit [Ping timeout: 240 seconds]
Lord_of_Life has quit [Ping timeout: 276 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<aeth> pjb: On 30x more verbose... C is kind of the worst case in verbosity (not counting assembly or esolangs) because of its tiny standard library. Updates have added boolean and complex, but not very many things. And a lot of what C offers (e.g. with strings) can't really be used.
davr0s has quit [Ping timeout: 245 seconds]
davr0s_ has quit [Ping timeout: 245 seconds]
<aeth> Of course, most languages have to rely on updates to the standard to reduce verbosity...
duuqnd has quit [Ping timeout: 265 seconds]
duuqnd has joined #lisp
orivej has joined #lisp
lnostdal has quit [Ping timeout: 240 seconds]
gxt has joined #lisp
dddddd has quit [Ping timeout: 240 seconds]
gigetoo has quit [Ping timeout: 245 seconds]
mindCrime_ has joined #lisp
mindCrime has quit [Ping timeout: 245 seconds]
stepnem_ is now known as stepnem
<aeth> Oh, requiring a separate .h doesn't help C, either.
<beach> Something that was not mentioned the other day, but that pjb usually points out, is that it is really awkward to use a language without automatic memory management for functional programming. Because instead of writing (say, in C) f(g(x)), you often have to write {.. temp = g(x>); f(temp); free(temp);} which makes the program more verbose and harder to understand.
lnostdal has joined #lisp
salinasc has joined #lisp
<beach> s/>// of course.
salinasc has quit [Client Quit]
dddddd has joined #lisp
<aeth> At least in C++, afaik, that's usually only an issue when it's of variable or unknown-at-compile-time size and they try to stack allocate the rest (which has its own problems... like having to know when to &foo and when to *foo and when to (*foo) etc.).
<pjb> Happily, there's boehm gc :-)
salinasc has joined #lisp
<aeth> (because now your function foo(x) is foo(x) if it's variable size and foo(&x) if it's fixed size, assuming you want to avoid that delete in C++)
gigetoo has joined #lisp
<aeth> (assuming it's a small enough fixed size to not be heap allocated)
<beach> pjb: That is what I recommend using in my document "Modular C", which contains recommendations on what to do when you are forced to use C for writing applications.
lnostdal has quit [Read error: Connection reset by peer]
papachan has quit [Ping timeout: 240 seconds]
<beach> That document is of course mostly obsolete these days. It was written before Java became widely used.
LiamH has joined #lisp
<aeth> I have never tried to do FP in C, although it's somewhat amusing to try to do so in C++ because they clearly want you to try in C++11/C++14/C++17 with things like lambda and transform_reduce (map reduce).
<aeth> Stuff like map-into are, afaik, mostly impossible because the focus is on threading (more pmap than map) and because you usually get a different type out than you put in.
<aeth> For a lot of reasons, there's a lot more thinking involved than to do the same task in CL, and that probably matters more than verbosity or lack of verbosity.
<aeth> (And of course, everything has to be deleted.)
karlosz has joined #lisp
lnostdal has joined #lisp
scymtym has quit [Ping timeout: 245 seconds]
<LdBeth> You can use higher order macro for polymorphism
<LdBeth> in higher order programming
Folkol has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
varjag has quit [Ping timeout: 240 seconds]
<LdBeth> It is neat that they can share a similar interface with regular functions if properly designed
<aeth> LdBeth: In C? But you'd basically have to build up an entire sublanguage, in hard-to-write library form.
<LdBeth> aeth: it could be easier to use some existed language that generates C code
<jackdaniel> newest C standard has generic functions (sadly realized with preprocessor macros), I have a generator written in ecl somewhere
<jackdaniel> they are quite useful though
<jackdaniel> here
akoana has joined #lisp
gareppa has quit [Quit: Leaving]
namosca has joined #lisp
permagreen has joined #lisp
varjag has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
varjag has quit [Ping timeout: 265 seconds]
makomo has quit [Ping timeout: 245 seconds]
makomo_ has joined #lisp
<namosca> borodust: privet
Oladon_work has quit [Remote host closed the connection]
<aeth> There's a new "compare a bunch of programming languages" website here https://www.programming-idioms.org/ talked about (announced on?) HN here. https://news.ycombinator.com/item?id=21080606
<aeth> it's lacking Lisp for most entries right now
<aeth> e.g. " Iterate over map keys and values
ralt has quit [Quit: Connection closed for inactivity]
<aeth> is just maphash
<aeth> (sorry, pasting that inserted a newline)
varjag has joined #lisp
karlosz has quit [Quit: karlosz]
analogue has joined #lisp
cosimone has quit [Quit: Quit.]
niceplace has quit [Quit: ZNC 1.7.3 - https://znc.in]
niceplace has joined #lisp
refpga` has joined #lisp
klm2is has joined #lisp
lawfullazy has joined #lisp
angavrilov has quit [Ping timeout: 265 seconds]
ebrasca has quit [Remote host closed the connection]
<klm2is> I'm in my REPL, I'm using CLOS. How would you go about changing a generic function to increase the number of arguments? Remove the existing methods somehow and call defgeneric again? or just fmakunbound?
gareppa has joined #lisp
<beach> It may depend on the implementation. You can try calling defgeneric again.
<beach> FMAKUNBOUND is always safe.
<klm2is> thanks
<klm2is> clhs says "If a defgeneric form is evaluated and some methods for that generic function have lambda lists that are not congruent with that given in the defgeneric form, an error is signaled."
<beach> Yes, but your implementation may have a restart to fix things up for you.
<beach> I recall having seen a "remove all the methods" restart in SBCL.
<klm2is> Thanks, I think I need to use fmakunbound to be completely safe.
sauvin has quit [Read error: Connection reset by peer]
<klm2is> (using allegro cl - sorry)
<asdf_asdf_asdf> What's mean "safe"?
ggole has quit [Quit: Leaving]
<beach> It means to make sure it works in every Common Lisp implementation.
<klm2is> There's just something odd going on with the warnings I'm getting in ACL after I've removed the relevant methods. It's allegro specific and I think it's against the rules to talk allegro in here.
gareppa has quit [Quit: Leaving]
<beach> It depends on the volume I guess.
edgar-rft has quit [Remote host closed the connection]
<beach> klm2is: How do you remove the methods?
bitmapper has quit [Remote host closed the connection]
edgar-rft has joined #lisp
<klm2is> well like you said about SBCL, the implementation is providing this restart.
<beach> Ah, I see.
<asdf_asdf_asdf> beach; "safe" means it works in every implementation CL?
<klm2is> so I choose that option, and then it still doesn't work the way I want it to.
<beach> asdf_asdf_asdf: That is what I think klm2is meant in this particular case. Don't generalize.
<beach> klm2is: I guess you can loop over all methods, and call remove-method on each one.
<asdf_asdf_asdf> beach. Thanks it's according to context.
<beach> asdf_asdf_asdf: The Common Lisp HyperSpec glossary has an entry on "safe" that applies to certain situations.
<beach> But I don't think that's what klm2is meant this time.
<beach> Yes.
Bike has quit [Remote host closed the connection]
Oladon_work has joined #lisp
Bike has joined #lisp
hiroaki has joined #lisp
<klm2is> If you call defgeneric with the purpose of changing the arglist, it will work on some implementations if there is a restart, but it is not guaranteed to work. And in fact it is explicitly supposed to be an error.
<klm2is> That's the gist of it
refpga` has quit [Remote host closed the connection]
<borodust> hello namosca, whatsup?
lawfullazy has quit [Ping timeout: 240 seconds]
vlatkoB has quit [Remote host closed the connection]
ym has joined #lisp
gareppa has joined #lisp
gareppa has quit [Client Quit]
t58 has joined #lisp
klm2is has quit [Quit: Leaving]
ljavorsk has joined #lisp
Oladon_work has quit [Remote host closed the connection]
Oladon_work has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
khisanth_ has quit [Ping timeout: 245 seconds]
analogue has quit [Quit: Leaving]
ntqz has joined #lisp
milanj has joined #lisp
Bike has quit [Remote host closed the connection]
Bike has joined #lisp
mbrumlow has joined #lisp
ralt has joined #lisp
gravicappa has quit [Ping timeout: 245 seconds]
khisanth_ has joined #lisp
papachan has joined #lisp
ljavorsk has quit [Ping timeout: 240 seconds]
kajo has quit [Ping timeout: 245 seconds]
krwq has joined #lisp
shangul has quit [Remote host closed the connection]
Bike has quit [Remote host closed the connection]
kajo has joined #lisp
Bike has joined #lisp
<namosca> borodust: fine
<namosca> borodust: how is russia?
<Oladon_work> :O borodust is a shpeon?!
<Oladon_work> shpion*
<borodust> namosca: that's quite an offtopic, but it still is there beint itself ;p
<borodust> *being
<namosca> borodust: ochen hara cho
<namosca> borodust: sorry if i spelt it wrong hehe
<Oladon_work> lol
<Oladon_work> borodust: ti tayni agent?
Oladon_work has quit [Remote host closed the connection]
<borodust> i swear it wasn't me ;)
Oladon_work has joined #lisp
gareppa has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
namosca has quit [Quit: Konversation terminated!]
lawfullazy has joined #lisp
hiroaki has quit [Ping timeout: 276 seconds]
scymtym has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
nanoz has quit [Ping timeout: 240 seconds]
lawfullazy has quit [Ping timeout: 268 seconds]
duuqnd has quit []
Ricchi has joined #lisp
lawfullazy has joined #lisp
gigetoo has quit [Ping timeout: 240 seconds]
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
lawfullazy has quit [Remote host closed the connection]
cosimone has joined #lisp
lawfullazy has joined #lisp
asdf_asdf_asdf has quit [Remote host closed the connection]
lawfullazy has quit [Remote host closed the connection]
gigetoo has joined #lisp
lawfullazy has joined #lisp
ebrasca has joined #lisp
karlosz has joined #lisp
gareppa has quit [Quit: Leaving]
ljavorsk has joined #lisp
lawfullazy has quit [Ping timeout: 245 seconds]
karlosz has quit [Quit: karlosz]
ljavorsk has quit [Ping timeout: 240 seconds]
Frobozz has joined #lisp
Josh_2 has quit [Ping timeout: 245 seconds]
Harag has quit [Remote host closed the connection]
Harag has joined #lisp
lawfullazy has joined #lisp
papachan has quit [Ping timeout: 240 seconds]
bitmapper has joined #lisp
karlosz has joined #lisp
smazga has quit [Quit: leaving]
Oladon_work has quit [Ping timeout: 260 seconds]
gigetoo has quit [Ping timeout: 240 seconds]
mindCrime_ has quit [Ping timeout: 276 seconds]
ebrasca has quit [Remote host closed the connection]
Bike has quit [Quit: Bike]
varjag has quit [Ping timeout: 245 seconds]
asdf_asdf_asdf has joined #lisp
orivej has joined #lisp
makomo_ has quit [Ping timeout: 265 seconds]
gigetoo has joined #lisp
karlosz has quit [Quit: karlosz]
lawfullazy has quit [Ping timeout: 240 seconds]
gibsonf1 has joined #lisp
<gibsonf1> minion: registration, please?
<minion> The URL https://gitlab.common-lisp.net/users/sign_in?secret=47be41c3 will be valid until 22:30 UTC.
lawfullazy has joined #lisp
gibsonf1 has quit [Remote host closed the connection]
EvW has joined #lisp
Bike has joined #lisp
caltelt has joined #lisp
<remexre> is there a good tut for using sbcl with appimage?
<remexre> (rather, to package a binary compiled by sbcl as an appimage)
<remexre> it looks like sbcl does enough
<asdf_asdf_asdf> remexre. (apropos "vector)
<remexre> has enough* hardcoded paths to make it tricky
<asdf_asdf_asdf> (apropos "vector")
<remexre> asdf_asdf_asdf: hm?
<asdf_asdf_asdf> (apropos "callback")
<asdf_asdf_asdf> Etc.
<asdf_asdf_asdf> Later (describe #'func) or (describe 'another).
<remexre> uh
<remexre> I think you might be misunderstanding what I'm asking
<asdf_asdf_asdf> remexre. OK ask question again, please.
<remexre> I'm trying to package a binary produced by asdf:make (where the build-operation is "static-program-op") in an appimage
Necktwi has quit [Ping timeout: 265 seconds]
<remexre> and I'm wondering if there's an existing tutorial with best-practices, etc. to do so
<remexre> asdf_asdf_asdf: neither of those seem relevant?
<asdf_asdf_asdf> Sorry, about what this have be?
<remexre> Appimage
karlosz has joined #lisp
<remexre> Packaging a binary produced by sbcl using appimage
<asdf_asdf_asdf> https://logs.nix.samueldr.com/nixos/2018-02-09 Ctrl+F and type appimage.
shka_ has quit [Ping timeout: 265 seconds]
cosimone has quit [Quit: Quit.]
<remexre> asdf_asdf_asdf: Other than the dislike of appimage by nix people, I'm not sure what there was relevant -- was there something specific you wanted to indicate?
<asdf_asdf_asdf> No, I don't know what them is. http://xelf.me/guide.html
<asdf_asdf_asdf> what is written*
LiamH has quit [Quit: Leaving.]
khisanth_ has quit [Ping timeout: 240 seconds]
<remexre> asdf_asdf_asdf: huh???
<asdf_asdf_asdf> Ask a question still/yet others users, please.
prite has quit [Ping timeout: 240 seconds]
khisanth_ has joined #lisp
quazimodo has quit [Ping timeout: 276 seconds]
karlosz has quit [Quit: karlosz]
refpga has quit [Remote host closed the connection]
kark has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
buffergn0me has joined #lisp
libertyprime has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
jlarocco has quit [Remote host closed the connection]
torbo has joined #lisp
jlarocco has joined #lisp
gigetoo has quit [Ping timeout: 245 seconds]
libertyprime has quit [Quit: leaving]
<Xach> asdf_asdf_asdf: stop answering questions with nonsense.
<Xach> asdf_asdf_asdf: if you don't know, don't write anything.
karlosz has joined #lisp
<pjb> asdf_asdf_asdf: it is often better to use apropos with the second argument (like you should always use require with the second argument): (apropos "VECTOR" "CL")
gigetoo has joined #lisp
sivese has joined #lisp
<asdf_asdf_asdf> Thanks. Thanks also for "second argument". I tried help user above.