jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
nicktick has joined #lisp
rgherdt has quit [Ping timeout: 265 seconds]
rumbler31_ has quit [Ping timeout: 260 seconds]
dilated_dinosaur has quit [Ping timeout: 264 seconds]
rogersm has joined #lisp
jibanes has quit [Ping timeout: 256 seconds]
rogersm has quit [Ping timeout: 260 seconds]
jibanes has joined #lisp
oxum has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
jasom has quit [Quit: WeeChat 2.8]
EvW has quit [Ping timeout: 240 seconds]
contrapunctus has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
oxum has quit [Ping timeout: 256 seconds]
rtypo has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
oxum has joined #lisp
rogersm has joined #lisp
igemnace has joined #lisp
oxum has quit [Ping timeout: 260 seconds]
Jesin has quit [Ping timeout: 265 seconds]
rogersm has quit [Ping timeout: 265 seconds]
bilegeek__ has quit [Quit: Leaving]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
reggie_ has quit [Ping timeout: 264 seconds]
contrapunctus has joined #lisp
shifty has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
wxie has joined #lisp
semz has quit [Ping timeout: 260 seconds]
oxum has joined #lisp
bocaneri is now known as Sauvin
Alloc has quit [Ping timeout: 260 seconds]
Alloc has joined #lisp
akoana has joined #lisp
ex_nihilo has joined #lisp
contrapunctus has joined #lisp
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
Stanley00 has joined #lisp
midre has joined #lisp
rogersm has joined #lisp
rogersm has quit [Ping timeout: 240 seconds]
quazimodo has joined #lisp
rippa has quit [Read error: Connection reset by peer]
miasuji has joined #lisp
slyrus has quit [Read error: Connection reset by peer]
jesse1010 has quit [Ping timeout: 260 seconds]
shangul has joined #lisp
shangul has left #lisp [#lisp]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
PuercoPop has quit [Quit: WeeChat 1.9.1]
saganman has quit [Ping timeout: 265 seconds]
phadthai has quit [Ping timeout: 256 seconds]
phadthai has joined #lisp
jasom has joined #lisp
jasom has quit [Quit: WeeChat 2.9]
jasom has joined #lisp
<beach> Good morning everyone!
Alfr_ has joined #lisp
Alfr has quit [Ping timeout: 244 seconds]
oxum has quit [Ping timeout: 265 seconds]
oxum has joined #lisp
Jesin has joined #lisp
rogersm has joined #lisp
sts-q has quit [Ping timeout: 260 seconds]
phadthai has quit [Quit: EWAYSRCH: Cannot host route (no route to host)]
rogersm has quit [Ping timeout: 258 seconds]
rippa has joined #lisp
Alloc has quit [Ping timeout: 272 seconds]
Alloc has joined #lisp
oxum has quit [Remote host closed the connection]
torbo has quit [Remote host closed the connection]
oxum has joined #lisp
Qudit314159 has joined #lisp
abhixec has quit [Quit: leaving]
oxum has quit [Ping timeout: 272 seconds]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
sts-q has joined #lisp
aartaka has joined #lisp
phadthai has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
Qudit314159 has quit [Ping timeout: 256 seconds]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
ramHero has quit [Ping timeout: 264 seconds]
wxie has quit [Ping timeout: 246 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
frost-lab has joined #lisp
aaaaaa has quit [Quit: leaving]
oxum has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
Stanley00 has quit []
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
oxum has quit [Ping timeout: 265 seconds]
Stanley00 has joined #lisp
renzhi has quit [Ping timeout: 258 seconds]
beach` has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
Jeanne-Kamikaze has quit [Ping timeout: 256 seconds]
beach has quit [Ping timeout: 272 seconds]
beach` is now known as beach
miasuji has quit [Read error: Connection reset by peer]
miasuji has joined #lisp
stelleonard has joined #lisp
Necktwi has quit [Ping timeout: 240 seconds]
lemoinem has quit [Ping timeout: 246 seconds]
ymfsing has joined #lisp
stelleonard has quit [Quit: Leaving]
lemoinem has joined #lisp
ymfsing has quit [Remote host closed the connection]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
gravicappa has joined #lisp
skapata has quit [Ping timeout: 272 seconds]
wxie has joined #lisp
resu has quit [Ping timeout: 256 seconds]
skapata has joined #lisp
narimiran has joined #lisp
rogersm has joined #lisp
oxum has joined #lisp
Qudit314159 has joined #lisp
rogersm has quit [Ping timeout: 260 seconds]
kir0ul_ has quit [Ping timeout: 256 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
ramHero has joined #lisp
aartaka has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
rogersm has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
rogersm has quit [Ping timeout: 265 seconds]
amb007 has quit [Read error: Connection reset by peer]
<phoe> morning
amb007 has joined #lisp
<no-defun-allowed> Hello phoe
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
pve has joined #lisp
miasuji has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 265 seconds]
miasuji has joined #lisp
amb007 has joined #lisp
skapata has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 264 seconds]
shka_ has joined #lisp
Necktwi has joined #lisp
gioyik has quit [Quit: WeeChat 2.9]
liberliver has joined #lisp
Psycomic has joined #lisp
aartaka has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
gaqwas has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
IPmonger has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
IPmonger has joined #lisp
orivej has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
rogersm has joined #lisp
miasuji has quit [Read error: Connection reset by peer]
dilated_dinosaur has joined #lisp
miasuji has joined #lisp
gaqwas has quit [Remote host closed the connection]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
rogersm has quit [Ping timeout: 264 seconds]
jprajzne1 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
Qudit314159 has quit [Remote host closed the connection]
contrapunctus has joined #lisp
miasuji has quit [Ping timeout: 264 seconds]
miasuji has joined #lisp
davepdotorg has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
arduo has joined #lisp
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
CrazyEddy has quit [Remote host closed the connection]
arduo has quit [Remote host closed the connection]
Nilby has joined #lisp
EvW has joined #lisp
ebrasca has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
mankaev has left #lisp ["ERC (IRC client for Emacs 27.1)"]
mankaev has joined #lisp
mankaev has left #lisp ["ERC (IRC client for Emacs 27.1)"]
jonatack has joined #lisp
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
space_otter has quit [Remote host closed the connection]
rogersm has joined #lisp
Alloc has quit [Ping timeout: 240 seconds]
rogersm has quit [Ping timeout: 258 seconds]
Alloc has joined #lisp
oxum has quit [Remote host closed the connection]
wxie has quit [Ping timeout: 265 seconds]
Cymew has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
narodism has joined #lisp
Psycomic has quit [Quit: Leaving]
Alloc has quit [Ping timeout: 240 seconds]
Alloc has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
mankaev has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
aartaka has quit [Ping timeout: 256 seconds]
gxt has joined #lisp
srhm has joined #lisp
bitmapper has quit [Quit: Connection closed for inactivity]
jesse1010 has joined #lisp
elosant has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
pankajsg has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
Stanley00 has quit []
oxum has quit [Remote host closed the connection]
Stanley00 has joined #lisp
oxum has joined #lisp
contrapunctus has joined #lisp
epony has quit [Ping timeout: 258 seconds]
oxum has quit [Ping timeout: 256 seconds]
oxum has joined #lisp
cl-arthur has joined #lisp
aartaka has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
nicktick has quit [Ping timeout: 240 seconds]
miasuji has quit [Remote host closed the connection]
contrapunctus has joined #lisp
miasuji has joined #lisp
epony has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
jonatack has quit [Read error: Connection reset by peer]
contrapunctus has joined #lisp
iissaacc has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
pankajsg has quit [Ping timeout: 260 seconds]
contrapunctus has joined #lisp
<jmercouris> Xach: can you please add https://nyxt.atlas.engineer/feed to planet lisp?
daphnis has joined #lisp
amb007 has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
iissaacc has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
orivej has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
amb007 has quit [Read error: Connection reset by peer]
contrapunctus has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
shifty has joined #lisp
jprajzne1 has quit [Quit: Leaving.]
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
rogersm_ has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
rogersm_ has quit [Ping timeout: 260 seconds]
contrapunctus has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
tamarindo has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
<Xach> jmercouris: No
<Xach> jmercouris: You write nonsense and don't seem to be able to accept correction. I don't want to expose that to a wider audience.
<Xach> Or rather, I don't want to actively help expose it - it can get plenty of exposure through many other means without my assistance.
_jrjsmrtn has joined #lisp
toorevitimirp has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 265 seconds]
dra has joined #lisp
<jackdaniel> wom 2
<jackdaniel> win, finger slip
EvW has quit [Ping timeout: 244 seconds]
dbotton_ has joined #lisp
dbotton has quit [Ping timeout: 246 seconds]
miasuji has quit [Remote host closed the connection]
_paul0 has quit [Quit: Leaving]
rtypo has joined #lisp
EvW has joined #lisp
miasuji has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
ljavorsk has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
daphnis has quit [Ping timeout: 246 seconds]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
EvW has quit [Ping timeout: 240 seconds]
miasuji has quit [Read error: Connection reset by peer]
miasuji has joined #lisp
<Nilby> The things in https://nyxt.atlas.engineer/articles don't trigger my lisp nonsense meter very strongly. Is there something I'm missing?
<Xach> Nilby: years of history on #lisp adds some context
<Nilby> Ah. okay.
<Xach> I skimmed through the non-marketing articles for Lisp info - one of the first that jumped out says "closer-mop is not portable"
<jmercouris> Xach: OK
<jmercouris> no need to be so rude
<Xach> It's certainly possible that closer-mop is unsuitable for some reason but portability is a goal and if it falls short some context would be useful.
<Nilby> Sorry. I'm not trying to stir up trouble.
<jmercouris> You aren’t
<Xach> No problem.
ljavorsk has quit [Quit: I'm out, bye]
<cl-arthur> a non-portable portability/conformance library would be a nice paradox
ljavorsk has joined #lisp
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
<Nilby> portability.cl does report closer-mop favoribly
<jackdaniel> portability libraries are not "universally" portable by definition, because their purpose is to span multiple implementations (so each implementation is special-cased)
<jackdaniel> still, they are far more portable than implementation-specific package; also they usually leave door open for adding support for new implementations by providing convenient api
<Nilby> If ½ my code was ½ as portable I might be ½ way there.
<jackdaniel> :-)
davepdotorg has quit [Ping timeout: 256 seconds]
kirtai has joined #lisp
miasuji has quit [Remote host closed the connection]
elosant has quit [Quit: Connection closed for inactivity]
miasuji has joined #lisp
davepdotorg has joined #lisp
jonatack has joined #lisp
davepdotorg has quit [Ping timeout: 258 seconds]
davepdotorg has joined #lisp
aartaka has joined #lisp
<jmercouris> Xach: it would also help if you read the article honestly without preconception
<jmercouris> here is the context: "We first tried to set the slot default value directly by leveraging the introspection library closer-mop. It worked with the SBCL compiler but was not portable and very brittle, it was particularly difficult to handle inheritance correctly."
<jmercouris> clearly we are saying that setting the slot default value is not portable
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
davepdot_ has joined #lisp
aartaka_d has quit [Ping timeout: 240 seconds]
<Xach> so clearly.
<jmercouris> lol, whenever you are wrong, you refuse to admit it
davepdotorg has quit [Ping timeout: 260 seconds]
<jmercouris> in my many years on this channel, I have yet to notice you admitting a mistake
<jackdaniel> please refrain from making personal remarks
contrapunctus has left #lisp ["Disconnected: closed"]
aartaka has quit [Ping timeout: 272 seconds]
contrapunctus has joined #lisp
<jmercouris> jackdaniel: interesting how you didn't make a comment when Xach said that I just "spew nonsense", apparently, not a personal attack?
davepdotorg has joined #lisp
<cl-arthur> how did you try to use closer-mop to set the default values of the slots? Isn't setting the default values as easy as supplying a :initform or some :default-initargs?
<jmercouris> cl-arthur: it is about taking a class that exists, and changing the default value
<jackdaniel> putting my opinion aside, the former was explanation why he refuses to included what you write (i.e "because it is a nonsense"), the above otoh is ad hominem kind of argumentation
<jmercouris> not about redefining a class or defining a class
davepdot_ has quit [Ping timeout: 256 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
<jmercouris> so imagine we have class X with slot Y with a default value of 5 or something
<jmercouris> now we want to change to have a default value of 7 for new instantiations
davepdotorg has joined #lisp
<jmercouris> jackdaniel: ah, so if we provide an explanation, we can freely insult people?
<jackdaniel> I think that you've missed the point; either way please stop.
<jmercouris> See through your bias, and see what you've written is false, he did not say my writing was nonsense, he said I write nonsense
<jackdaniel> be as it may (I'm certain that I have some biases), I still urge you to stop.
<jmercouris> We've had this exact discussion many times, where you point out the difference between the noun and the verb
<jmercouris> anyways, this is off topic, so I will end it here
<jackdaniel> thank you
<jackdaniel> if you want to customize the initform, you are looking for the generic function slot-definition-initform
davepdotorg has quit [Ping timeout: 246 seconds]
<jackdaniel> s/customize the initform/customize the form used to initialize the slot when no initarg is supplied/
miasuji has quit [Remote host closed the connection]
Stanley00 has quit [Remote host closed the connection]
miasuji has joined #lisp
break_point has joined #lisp
davepdotorg has joined #lisp
daphnis has joined #lisp
<cl-arthur> should be possible to e.g. setf the initform/initfunction of the existent slots of an existent class appropriately when loading a config, yeah
davepdotorg has quit [Read error: Connection reset by peer]
miasuji has quit [Remote host closed the connection]
davepdotorg has joined #lisp
miasuji has joined #lisp
<jackdaniel> cl-arthur: afaik it is not an accessor (only a reader), so you can't effectively setf it and expect that make instance will work
<jackdaniel> you need to define a method
<Nilby> Is there some accepted way or library for user object configuration/customization? I know about Shinmera's ubiquitous, but it's a little diffrent goals. I have a couple of ways that I'm not statisfied with. How does CLIM handle it? It seems like anything in CL must be better than "custom" in Emacs.
daphnis has quit [Remote host closed the connection]
<jackdaniel> (also, changing a method a standard slot definition won't probably have an effect, one would need to have their own slot definition class)
davepdotorg has quit [Ping timeout: 256 seconds]
<cl-arthur> jackdaniel: you're right, they're just defined as readers in the spec
<scymtym> Nilby: i made https://github.com/scymtym/configuration.options which has a moderately flexible core but is a bit biased towards configuration via files, environment variables and commandline options. i think i made a CLIM-based configuration editor for it, but there would be no way to persist the changes, so that's only semi-useful
<Nilby> scymtym: Thanks! I'll check it out.
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
<Nilby> scymtym: Very impressive :)
<scymtym> thanks
toorevitimirp has quit [Ping timeout: 256 seconds]
miasuji has quit [Remote host closed the connection]
<jackdaniel> jmercouris: one way to do that (and it will /probably/ work) is: http://turtleware.eu/static/paste/3094e785-zzz.txt
miasuji has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
break_point has quit [Remote host closed the connection]
<jackdaniel> or, you could return some function that is global and is properly redefined (that is that after redefinition it is eq to itself - i.e a generic function)
miasuji has quit [Ping timeout: 260 seconds]
miasuji has joined #lisp
<cl-arthur> or metaclass -> slot-definition subclass w/ config-value as extra slot -> populate those when loading config -> make a method on slot-definition-initfunction like (if (config-value ...) (wrap-config-value ...) (call-next-method)).
ski has joined #lisp
<jackdaniel> yes, having a custom effective slot definition class is the way, that's why I've said "probably"
davepdotorg has joined #lisp
<jmercouris> jackdaniel: thanks for the ideas
<jmercouris> we’ve already committed to a different strategy for now, but maybe some of these concepts could be useful again for us
<jackdaniel> if I had wanted to customize a new instance slot values, I'd simply write initialize-instance method, there is no need to use mop here
<jackdaniel> (defmethod initialize-instance :after ((thing foo) &rest args) (setf (slot-value thing 'x) *my-new-default-value*))
narimiran has quit [Ping timeout: 256 seconds]
<jackdaniel> or even better (if it is a value, not a form), use default-initargs
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
<jackdaniel> :default-initargs :a *foo-s-default-value*
davepdotorg has quit [Ping timeout: 258 seconds]
<jackdaniel> so many options
pve_ has joined #lisp
<cl-arthur> a global map from class/slotd to config values, and some initialization method specialized on a mixin also seems decently clean yeah
pve has quit [Ping timeout: 260 seconds]
<jackdaniel> hm, til you could put a form as a default-initarg, however it is not surprising after a thought, so scratch the part "if it is a value, not a form"
wsinatra has joined #lisp
miasuji has quit [Remote host closed the connection]
jxy has quit [Ping timeout: 258 seconds]
miasuji has joined #lisp
gaqwas has quit [Remote host closed the connection]
Alloc has quit [Ping timeout: 256 seconds]
Alloc has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
Necktwi has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
nicktick has joined #lisp
saganman has joined #lisp
saganman has quit [Changing host]
saganman has joined #lisp
ljavorsk has quit [Ping timeout: 256 seconds]
Bike has joined #lisp
EvW has joined #lisp
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
ex_nihilo has quit [Quit: Leaving]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
dra has quit [Quit: Leaving]
miasuji has quit [Remote host closed the connection]
Necktwi has joined #lisp
miasuji has joined #lisp
Alloc has quit [Ping timeout: 272 seconds]
Alloc has joined #lisp
dbotton_ has quit [Quit: -a- Connection Timed Out]
dbotton has joined #lisp
akoana has quit [Quit: leaving]
ech has quit [Ping timeout: 240 seconds]
hiroaki has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
Alloc has quit [Ping timeout: 258 seconds]
kir0ul_ has joined #lisp
ech has joined #lisp
frost-lab has quit [Quit: Connection closed]
devon has quit [Ping timeout: 260 seconds]
ebrasca has quit [Remote host closed the connection]
narimiran has joined #lisp
Blukunfando has quit [Ping timeout: 258 seconds]
Stanley|00 has joined #lisp
okflo has joined #lisp
Stanley|00 has quit [Disconnected by services]
Alloc has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
sjl_ has joined #lisp
Lord_of_Life has joined #lisp
elimik31 has joined #lisp
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
orivej has joined #lisp
<jmercouris> there are many options indeed
<jmercouris> however we wanted to avoid the usage of global
random-nick has joined #lisp
<jmercouris> globals, and we wanted to actually change the classes themselves so that inspecting them would show new default value init forms
<_death> from what I gathered it sounds like you wanted to avoid something like "factory method" and instead chose to redefine classes?
Lord_of_Life has joined #lisp
Lord_of_Life has quit [Client Quit]
Lord_of_Life has joined #lisp
Lord_of_Life has quit [Changing host]
Lord_of_Life has joined #lisp
pankajsg has joined #lisp
duuqnd has joined #lisp
<_death> by "factory method" I mean you could have something like a *configuration* special variable that a user sets to (make-instance 'my-configuration ...) and then there are methods like (defmethod config-create-buffer ((config my-configuration) &rest args) (apply #'make-instance 'my-buffer args)) and possibly a convenience function create-buffer that passes *configuration* to config-create-buffer
oxum has quit [Remote host closed the connection]
jonatack has quit [Quit: jonatack]
oxum has joined #lisp
Alloc has quit [Ping timeout: 258 seconds]
<_death> or maybe something contextly
hnOsmium0001 has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
<jackdaniel> the most portable way to change the initform (and the associated function) is to redefine the class, common lisp has your back and that operation has well-defined semantics (i.e your instances won't stop working etc)
oxum has quit [Ping timeout: 260 seconds]
jonatack has joined #lisp
dbotton_ has joined #lisp
dbotton has quit [Ping timeout: 260 seconds]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
<cl-arthur> That reminds me - what's the cleanest way to invoke a macro at runtime? Any better option than giving a list-representation of the macro form to eval/compile?
oxum has joined #lisp
<phoe> invoke, you mean macroexpand?
<Bike> what do you want to "invoke"?
<beach> Or (funcall (macro-function 'foo) <form> <environment>) if for some reason you don't want to use macroexpand.
<phoe> a macro function is a standard function that translates from Lisp data to Lisp forms; you can call this function it by calling MACROEXPAND{,-1}
<jackdaniel> if you need to expand the code at runtime, then eval is /the/ way (another is to rethink design, it is usually some misconception about your own program)
dbotton_ has quit [Ping timeout: 240 seconds]
<jackdaniel> also, if you have a macro that takes a few parameters and a body to create a context, you may consider creating macros in a style that it expands into a funcall that passes a continuation
<jackdaniel> i.e (defmacro foo (x &body body) `(flet ((,gensymed () ,@body)) (invoke-with-foo x (function ,gensymed))))
<_death> beach: wouldn't first class environments also make sense in that configuration scenario?
<jackdaniel> _death: wouldn't there be two different classes then? I think that would be undesireable
<_death> jackdaniel: can't one environment inherit from another?
<jackdaniel> sure, but then you have one class object (hence, one initform)
bitmapper has joined #lisp
<beach> _death: Definitely. That's how I use them.
<beach> ... er, I probably misunderstood the question.
miasuji has quit [Remote host closed the connection]
<beach> _death: You mean the scenario that jmercouris is talking about?
<_death> jackdaniel: I'm suggesting a user create his own class that inherits from the default class (or some subclass of it)
<_death> beach: yes
miasuji has joined #lisp
<jackdaniel> I fail to see why would you need a separate environment to subclass a class
<beach> _death: I haven't really followed the discussion. Sorry.
<jackdaniel> unless you want to have two classes designated by the same symbol in different environments
dbotton has joined #lisp
<jackdaniel> (where one is a subclass of the other one)
<cl-arthur> "invoke" - expand the macro form and execute the results. Yeah, seems to be eval.
<_death> jackdaniel: so in E1 there'll be a buffer class, and in E2 there will be a different buffer class that inherits from e1:buffer.. then (make-instance 'buffer) can be used
<_death> jackdaniel: exactly.. because from reading jmercouris's article, it sounds like they go through all that trouble just so they can say (make-instance 'user-buffer)
<cl-arthur> I've seen some (funcall `(lambda () (some-macro ...)) which incidentally work in certain implementations but just hide the eval-iness, I suppose.
<jackdaniel> I think that this could be done, however I would argue that packages are much better fit (and of course all other ways we've discussed)
<phoe> likely (funcall (compile nil `(lambda ...)))
<phoe> or (funcall (coerce `(lambda ...) 'function))
miasuji has quit [Remote host closed the connection]
<jackdaniel> (nom-nom-nom `(lambda () (some-macro)))
<phoe> both are ways to sidestep eval at runtime, and are mostly equivalent to eval at runtime except they can form closures
miasuji has joined #lisp
<_death> jackdaniel: packages always seemed a clunky way to do that.. you can't even redefine them
<_death> jackdaniel: also, it would involve re-reading things
<jackdaniel> perhaps, either way thanks for elaborating, now I understand better what you've meant
<cl-arthur> jackdaniel: Agree that creating function seams to expand to when possible is nice. (invoke-with-foo)
<cl-arthur> phoe: coercing to function is a fun one, haven't seen that before.
Necktwi has quit [Ping timeout: 240 seconds]
dbotton has quit [Read error: Connection reset by peer]
<jackdaniel> cl-arthur: it may be event easily automated, you may check out a function gen-invoke-trampoline in climi package (McCLIM repository)
<jackdaniel> s/event/even/
dbotton has joined #lisp
Necktwi has joined #lisp
<jmercouris> _death: your understanding is completely correct
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
<jmercouris> we want to redefine the classes instead of using factories
<cl-arthur> jackdaniel: cheers, will check it out
<jackdaniel> hint: then redefine them!
<_death> jmercouris: to me that seems vulgar
contrapunctus has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
<_death> redefining classes is setting globals.. whereas with my "factory method" approach there is a single global that determines everything
<_death> (so it's likely you don't want to set it directly, but call a function that can have hooks etc.)
Cymew has quit [Ping timeout: 272 seconds]
tamarindo has joined #lisp
miasuji has quit [Remote host closed the connection]
Blukunfando has joined #lisp
miasuji has joined #lisp
lottaquestions has quit [Ping timeout: 240 seconds]
emys has joined #lisp
elimik31 has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
miasuji has quit [Read error: Connection reset by peer]
rippa has joined #lisp
miasuji has joined #lisp
Alloc has joined #lisp
devon has joined #lisp
narodism has quit [Ping timeout: 265 seconds]
davepdotorg has quit [Ping timeout: 256 seconds]
Alloc has quit [Ping timeout: 260 seconds]
Stanley00 has joined #lisp
narimiran has quit [Ping timeout: 265 seconds]
Alloc has joined #lisp
rgherdt has joined #lisp
Stanley00 has quit [Ping timeout: 256 seconds]
kaftejiman has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
vutral has quit [Quit: Connection closed for inactivity]
shifty has quit [Ping timeout: 260 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
amb007 has joined #lisp
loli has joined #lisp
hiroaki has quit [Ping timeout: 256 seconds]
Posterdati has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
rgherdt has quit [Remote host closed the connection]
hiroaki has joined #lisp
amb007 has quit [Ping timeout: 265 seconds]
Steeve has joined #lisp
rgherdt has joined #lisp
amb007 has joined #lisp
Steeve has quit [Client Quit]
Steeve has joined #lisp
kirtai has quit [Quit: Leaving]
miasuji has quit [Read error: Connection reset by peer]
miasuji has joined #lisp
emys has quit [Ping timeout: 260 seconds]
Posterdati has joined #lisp
emys has joined #lisp
EvW has joined #lisp
<jmercouris> _death: that just changes class instances
<jmercouris> we want to change future instantiations of a class
pankajsg has quit [Ping timeout: 272 seconds]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
miasuji has quit [Read error: Connection reset by peer]
miasuji has joined #lisp
aaaaaa has joined #lisp
skapata has joined #lisp
emys has quit [Ping timeout: 260 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
emys has joined #lisp
gioyik has joined #lisp
narodism has joined #lisp
_Posterdati_ has joined #lisp
_Posterdati_ has quit [Client Quit]
_Posterdati_ has joined #lisp
Posterdati has quit [Ping timeout: 260 seconds]
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
_Posterdati_ is now known as Posterdati
edgar-rft has quit [Quit: Leaving]
Stanley00 has joined #lisp
edgar-rft has joined #lisp
miasuji has quit [Read error: Connection reset by peer]
miasuji has joined #lisp
Stanley00 has quit [Ping timeout: 258 seconds]
Sauvin has quit [Read error: Connection reset by peer]
eddof13 has joined #lisp
lottaquestions has joined #lisp
miasuji has quit [Remote host closed the connection]
miasuji has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
srhm has quit [Read error: Connection reset by peer]
Posterdati has quit [Ping timeout: 246 seconds]
Posterdati has joined #lisp
liberliver has quit [Ping timeout: 240 seconds]
kapil_ has joined #lisp
voidhawk has quit [Ping timeout: 260 seconds]
gioyik has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #lisp
Aurora_v_kosmose has quit [Ping timeout: 240 seconds]
Lord_of_Life has quit [Ping timeout: 240 seconds]
gravicappa has quit [Ping timeout: 258 seconds]
emys has quit [Ping timeout: 244 seconds]
emys has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
gravicappa has joined #lisp
Aurora_v_kosmose has joined #lisp
Alloc has quit [Ping timeout: 260 seconds]
Alloc has joined #lisp
oxum has quit [Quit: Leaving...]
cosimone has joined #lisp
cosimone has quit [Client Quit]
dbotton_ has joined #lisp
dbotton has quit [Read error: Connection reset by peer]
mason has quit [Quit: leaving]
mason has joined #lisp
gioyik has joined #lisp
nicktick has quit [Ping timeout: 256 seconds]
cosimone has joined #lisp
nicktick has joined #lisp
Lycurgus has joined #lisp
miasuji has quit [Ping timeout: 244 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
bilegeek has joined #lisp
dbotton has joined #lisp
duuqnd has quit [Quit: Leaving]
dbotton__ has joined #lisp
dbotton_ has quit [Ping timeout: 260 seconds]
saganman has quit [Read error: Connection reset by peer]
dbotton has quit [Ping timeout: 244 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
dbotton has joined #lisp
dbotton__ has quit [Ping timeout: 272 seconds]
contrapunctus has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
jw4 has joined #lisp
EvW has quit [Ping timeout: 244 seconds]
tamarindo has quit [Remote host closed the connection]
tamarindo has joined #lisp
emys has quit [Ping timeout: 265 seconds]
emys has joined #lisp
tamarindo has quit [Ping timeout: 240 seconds]
jxy has joined #lisp
EvW has joined #lisp
shka_ has quit [Ping timeout: 246 seconds]
<jasom> hmm, is there no way to get the source port with sb-bsd-sockets:socket-receive?
<_death> jmercouris: if you're referring to my paste, I didn't intend it as a solution to your issue
<jasom> ah, found the answer to my own question; the port is returned as the 4th value
Inline has joined #lisp
okflo has quit [Remote host closed the connection]
wsinatra has quit [Quit: WeeChat 2.9]
Nilby has quit [Read error: Connection reset by peer]
emys has quit [Ping timeout: 240 seconds]
tamarindo has joined #lisp
gaqwas has joined #lisp
cosimone has quit [Quit: cosimone]
emys has joined #lisp
pve_ has quit [Quit: leaving]
emys has quit [Ping timeout: 272 seconds]
emys has joined #lisp
ramHero has quit [Remote host closed the connection]
rumbler31_ has joined #lisp
ramHero has joined #lisp
terpri_ has quit [Quit: Leaving]
emys has quit [Ping timeout: 258 seconds]
terpri has joined #lisp
emys has joined #lisp
terpri has quit [Ping timeout: 240 seconds]
gravicappa has quit [Ping timeout: 265 seconds]
Aurora_v_kosmose has quit [Ping timeout: 240 seconds]
Lord_of_Life has quit [Read error: Connection reset by peer]
Lord_of_Life has joined #lisp
Lord_of_Life has quit [Changing host]
Lord_of_Life has joined #lisp
bilegeek has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 260 seconds]
terpri has joined #lisp
Aurora_v_kosmose has joined #lisp
bilegeek has joined #lisp
emys has quit [Ping timeout: 260 seconds]
torbo has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
emys has joined #lisp
sjl_ has quit [Ping timeout: 256 seconds]
azrazalea has quit [Quit: ZNC 1.6.2+deb2~bpo8+1 - http://znc.in]
azrazalea has joined #lisp
emys has quit [Ping timeout: 272 seconds]
emys has joined #lisp
rumbler31_ has quit [Ping timeout: 272 seconds]
dbotton_ has joined #lisp
random-nick has quit [Ping timeout: 256 seconds]
<dbotton_> is there a squeak/pharo like x-platfrom graphical environment available for common lisp? in some ways portacle/emas (sans graphics) fills that niche but even so
<phoe> nope.
<phoe> McCLIM is not yet there
<phoe> everything else that is somewhat usable that I am aware of depends on foreign libraries, like qtools/commonqt which is what I use
<phoe> but that's not pharo-level of GUI integration
<dbotton_> McCLIM is intended to offer that?
IPmonger has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
IPmonger has joined #lisp
random-nick has joined #lisp
bilegeek has quit [Quit: Leaving]
<aeth> dbotton_: X is designed to permit a client-server separation and there's an X client in pure CL called CLX so McCLIM using the CLX backend on Linux or similar Unix systems can offer a pure CL experience with no foreign libraries.
random-nick has quit [Ping timeout: 260 seconds]
<aeth> Everything else will require CFFI, although it can still be effectively "zero dependency" if it directly calls the exposed OS APIs.
rgherdt has quit [Ping timeout: 272 seconds]
<dbotton_> so the idea is use emacs and x - but nothing as tightly integrated as pharo?
<dbotton_> just seems that lisp would be ideal for that sort of environment as well.
galex-713 has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
emys has quit [Quit: Leaving]
<aeth> dbotton_: the problem is that any editor/IDE has to compete with the flawed, but good-enough Emacs in order to get users, so no project has really gotten any momentum
<aeth> feel free to write your own IDE, but you'll probably be writing it in Emacs
mrchampion has quit [Ping timeout: 260 seconds]
<dbotton_> perhaps may, have done before
ex_nihilo has joined #lisp
<dbotton_> but what though I am thinking about creating is something more like squeak or pharo
Blukunfando has quit [Remote host closed the connection]
phantomics has joined #lisp
mrchampion has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
perrier-jouet has quit [Quit: WeeChat 2.9]
<phoe> that is acceptable too
<Gnuxie[m]> Tbh though, if someone put enough time to it, it is totally possible to beat Emacs+SLIME, it's relatively straight forward what would need to be done
<phantomics> Last time I checked Swank was woefully undocumented
Lycurgus has quit [Quit: Exeunt]
nicktick has quit [Ping timeout: 264 seconds]
<phantomics> Which makes it tough to develop an alternative Slime UX
froggey has quit [Ping timeout: 272 seconds]
kaftejiman has quit [Remote host closed the connection]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<Gnuxie[m]> I meant that it is clear what you would have to do, not that it was gonna be easy
perrier-jouet has joined #lisp
froggey has joined #lisp
gaqwas has quit [Ping timeout: 260 seconds]
Stanley00 has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
galex-713 has joined #lisp
Stanley00 has quit [Ping timeout: 265 seconds]
gigetoo has quit [Ping timeout: 260 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
Blukunfando has joined #lisp