<Psybur>
char, i dont know if a highschooler with little or no programming is going to enjoy the beauty of sexp
<char>
Psybur: perhaps not. I was thinking more from a practical prespective under the premise "people with program software in the langauge that they know".
srhm has joined #commonlisp
<phantomics>
CL can get you fast results in many areas, if they're learning web dev it could be good, start by giving them a set of very simple macros to build a web page that expand to cl-who invocations, then move from those simple macros to more customizable ones, revealing how the simple macros expand
Oladon has quit [Quit: Leaving.]
paule32 has joined #commonlisp
<paule32>
hello
akoana has left #commonlisp [#commonlisp]
yewscion has joined #commonlisp
Psybur has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 265 seconds]
dec0d3r has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
Oladon has joined #commonlisp
karlosz has quit [Quit: karlosz]
Everything has joined #commonlisp
greenMac has quit [Ping timeout: 252 seconds]
attila_lendvai has quit [Ping timeout: 252 seconds]
n00p3 has quit [Ping timeout: 252 seconds]
karlosz has joined #commonlisp
karlosz has quit [Ping timeout: 265 seconds]
ec has quit [Ping timeout: 276 seconds]
prxq has quit [Ping timeout: 252 seconds]
prxq has joined #commonlisp
terrorjack has quit [Ping timeout: 265 seconds]
Josh_2 has joined #commonlisp
<Josh_2>
Hi
<beach>
Good morning everyone!
<beach>
Hello Josh_2.
<Josh_2>
Morning beach
<Josh_2>
Am I allowed to change-class a slot with my metaclass? I'd like to have slots of different classes depending on some of the values of initargs
<Josh_2>
I tried change-class in compute-effective-slot-definition but thats a no go
<beach>
Maybe it's the fact that I haven't had my morning coffee yet, but I can't understand from what you said what it is that you are trying to do.
<beach>
"change-class a slot"?
<beach>
Do you want a different class for you slot metaobject?
<beach>
And what does it mean to "change-class... with [your] metaclass"?
<beach>
I believe there are no provisions for reinitializing slot metaobjects.
<Josh_2>
Yes I would like different subclasses based on the value of an initarg
<Josh_2>
rip cannot be reinitialized
<beach>
"Since the class of a slot definition metaobject cannot be changed, ..."
<Josh_2>
Maybe there is another way
<Josh_2>
basically I want to have a receive slot when :category :receive and a send slot when :category :send
<Josh_2>
Thought I could try change-class, but clearly that doesn't work
<Bike>
um, wait a second.
<Bike>
you mean like (make-instance 'my-class :category :receive)?
<Bike>
or is :category :receive part of the slot definition?
<Josh_2>
the latter
<Bike>
okay, so in that case you don't really want to change the class of a slot definition - you just want the slot definition to have your class to begin with.
<Bike>
in which case you want direct-slot-definition-class and effective-slot-definition-class methods.
<Bike>
i don't remember how the initargs are canonicalized off the top of my head, but it might work
<Josh_2>
yes I have those
<Josh_2>
but arent the initargs the initargs for the class not the slot?
<Josh_2>
I will check
Qwnavery has joined #commonlisp
<Bike>
no, they're initargs for the slot definition.
<Josh_2>
hmm
<Josh_2>
Okay cool beans thanks Bike
ec has joined #commonlisp
<Bike>
if i remember correctly there may be a bit of a problem because there is some underspecification about what those initargs actually are, for an effective slot
<Josh_2>
hmm
<Josh_2>
well I'll just wing it and see, it works on sbcl
<Bike>
sbcl has compute-effective-slot-definition-initargs for that, but it's not standard or even exported
Bike has quit [Quit: i sleep]
<Josh_2>
Well I'm not using that, but its working by just destructuring the initargs plist
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
semz has quit [Ping timeout: 265 seconds]
Spawns_Carpeting has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
hendursaga has quit [Remote host closed the connection]
Spawns_Carpeting has joined #commonlisp
hendursaga has joined #commonlisp
kakuhen has joined #commonlisp
jealousmonk has quit [Remote host closed the connection]
karlosz has joined #commonlisp
pillton has joined #commonlisp
semz has joined #commonlisp
slyrus has joined #commonlisp
Spawns_Carpeting has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
Spawns_Carpeting has joined #commonlisp
karlosz has quit [Ping timeout: 252 seconds]
karlosz has joined #commonlisp
Inline_ has quit [Quit: Leaving]
lisp123 has joined #commonlisp
yewscion_ has joined #commonlisp
yewscion has quit [Ping timeout: 245 seconds]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
ec has quit [Ping timeout: 276 seconds]
lisp123 has quit [Remote host closed the connection]
kakuhen has quit [Quit: Leaving...]
pve has joined #commonlisp
karlosz has quit [Quit: karlosz]
Oladon has quit [Quit: Leaving.]
<jeosol>
drmeister: are you here?
peterhil has joined #commonlisp
lisp123 has joined #commonlisp
jkordani has quit [Quit: Client closed]
lisp123 has quit [Ping timeout: 252 seconds]
cjb has quit []
rgherdt has joined #commonlisp
shka has joined #commonlisp
gaqwas has joined #commonlisp
cosimone has joined #commonlisp
Cymew has joined #commonlisp
cosimone` has joined #commonlisp
cosimone has quit [Ping timeout: 252 seconds]
karlosz has joined #commonlisp
makomo has joined #commonlisp
pillton has quit [Quit: ERC (IRC client for Emacs 27.2)]
cosimone` has quit [Remote host closed the connection]
cosimone has joined #commonlisp
Everything has quit [Quit: leaving]
cosimone has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
lisp123 has joined #commonlisp
karlosz_ has joined #commonlisp
lisp123 has quit [Ping timeout: 245 seconds]
karlosz has quit [Ping timeout: 252 seconds]
karlosz_ is now known as karlosz
cosimone has joined #commonlisp
iamFIREcracker has joined #commonlisp
iamFIREcracker has quit [Client Quit]
iamFIREcracker has joined #commonlisp
gaqwas has quit [Ping timeout: 245 seconds]
iamFIREcracker has quit [Changing host]
iamFIREcracker has joined #commonlisp
iamFIREcracker has quit [Quit: WeeChat 3.3]
karlosz has quit [Quit: karlosz]
iamFIREcracker has joined #commonlisp
iamFIREcracker has quit [Changing host]
iamFIREcracker has joined #commonlisp
gko has quit [Ping timeout: 252 seconds]
selwyn has joined #commonlisp
terrorjack has joined #commonlisp
makomo has quit [Ping timeout: 245 seconds]
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
igemnace has joined #commonlisp
makomo has joined #commonlisp
makomo has quit [Quit: WeeChat 3.2]
n00p3 has joined #commonlisp
random-nick has joined #commonlisp
amk has quit [Remote host closed the connection]
amk has joined #commonlisp
attila_lendvai has joined #commonlisp
minion has quit [Remote host closed the connection]
specbot has quit [Remote host closed the connection]
specbot has joined #commonlisp
minion has joined #commonlisp
Spawns_Carpeting has quit [Ping timeout: 245 seconds]
Spawns_Carpeting has joined #commonlisp
Spawns_Carpeting has quit [Ping timeout: 245 seconds]
Spawns_Carpeting has joined #commonlisp
Spawns_Carpetin- has joined #commonlisp
Spawns_Carpeting has quit [Ping timeout: 265 seconds]
mindlessmaniac has joined #commonlisp
dec0d3r has quit [Remote host closed the connection]
selwyn has quit [Read error: Connection reset by peer]
igemnace has quit [Quit: WeeChat 3.2.1]
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
cosimone has quit [Ping timeout: 245 seconds]
n00p3 has quit [Quit: Leaving]
gxt_ is now known as gxt
tyson2 has joined #commonlisp
lisp123 has joined #commonlisp
selwyn has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
peterhil has quit [Quit: Must not waste too much time here...]
Cymew has quit [Ping timeout: 252 seconds]
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
greenMac has joined #commonlisp
selwyn has quit [Remote host closed the connection]
fitzsim has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
caret has joined #commonlisp
igemnace has joined #commonlisp
igemnace has quit [Remote host closed the connection]
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
Guest0 has joined #commonlisp
Guest0 is now known as jkordani
jkordani has quit [Client Quit]
jkordani has joined #commonlisp
igemnace has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
lotuseater has left #commonlisp [ERC (IRC client for Emacs 26.3)]
igemnace has quit [Remote host closed the connection]
lisp123mobile has joined #commonlisp
azimut_ has joined #commonlisp
lisp123 has joined #commonlisp
lisp123mobile has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 276 seconds]
dec0d3r has quit [Remote host closed the connection]
dec0d3r has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
<Josh_2>
Slow day today
<beach>
Indeed.
<flip214>
Value of 'NIL in (THE NIL (PROGN 'NIL)) is NIL, not a NIL.
<Josh_2>
The MOP is a very good example of the divide between MIT and New Jersey, its pretty complicated but can create a very simple interface
<Josh_2>
Kinda flies in the face of KISS
<pjb>
(THE NIL (PROGN 'NIL)) is a nasal daemon!
<pjb>
By the type, it should return no value.
<pjb>
Josh_2: is CLOS more complex than Smalltalk Meta Object System? (I'd say yes, but that's because multiple-inheritance, and methods attached to generic functions vs. classes).
<Josh_2>
I wouldn't know, I have only briefly played with Pharo
<Josh_2>
I wasn't complaining though, just trying to get some convo going
<pjb>
flip214: and even, while (the nil (values)) seems logical, there's no specification that no values returned by (values) is of type NIL! We just know that NIL is an empty type.
<pjb>
flip214: on the contrary, it's specified that (values) = NIL as soon as you need something.
phantomics has quit [Ping timeout: 268 seconds]
ec has joined #commonlisp
jealousmonk has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
contrapunctus has joined #commonlisp
eddof13 has joined #commonlisp
pjb has quit [Ping timeout: 246 seconds]
dec0d3r has quit [Remote host closed the connection]
dec0d3r has joined #commonlisp
luna-is-here has quit [Ping timeout: 245 seconds]
ec has quit [Ping timeout: 276 seconds]
luna-is-here has joined #commonlisp
Oladon has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
qhong_ has joined #commonlisp
eddof13 has joined #commonlisp
qhong has quit [Ping timeout: 265 seconds]
luna-is-here has quit [Read error: Connection reset by peer]
luna-is-here has joined #commonlisp
luna-is-here has quit [Client Quit]
luna-is-here has joined #commonlisp
cosimone has joined #commonlisp
notzmv has quit [Ping timeout: 252 seconds]
Cymew has quit [Ping timeout: 265 seconds]
Cymew has joined #commonlisp
hisacro has quit [Ping timeout: 252 seconds]
hisacro has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tyson2 has joined #commonlisp
Cymew has quit [Ping timeout: 250 seconds]
khrbt has quit [Ping timeout: 250 seconds]
khrbt has joined #commonlisp
ec has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
etiago has quit [Ping timeout: 252 seconds]
etiago has joined #commonlisp
mortemeur has joined #commonlisp
eddof13 has joined #commonlisp
notzmv has joined #commonlisp
Lycurgus has joined #commonlisp
dec0d3r has quit [Remote host closed the connection]
dec0d3r has joined #commonlisp
cage has joined #commonlisp
yewscion has joined #commonlisp
waleee has joined #commonlisp
yewscion_ has quit [Ping timeout: 245 seconds]
tyson2 has quit [Ping timeout: 265 seconds]
phantomics has joined #commonlisp
<Alfr>
pjb, I think that forms, in particular (values), may produces no/zero values.
amb007 has quit [Read error: Connection reset by peer]
greenMac has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
aeth has quit [Ping timeout: 252 seconds]
greenMac has joined #commonlisp
aeth has joined #commonlisp
cosimone has quit [Read error: Connection reset by peer]
dec0d3r has quit [Remote host closed the connection]
jkordani has quit [Quit: Client closed]
greenMac has quit [Ping timeout: 264 seconds]
ec has quit [Ping timeout: 276 seconds]
Mandus has quit [Ping timeout: 245 seconds]
karlosz has joined #commonlisp
Inline has joined #commonlisp
Inline has quit [Client Quit]
Inline has joined #commonlisp
Inline has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 246 seconds]
Inline has joined #commonlisp
amb007 has joined #commonlisp
greenMac has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
Mandus has joined #commonlisp
cosimone has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 246 seconds]
greenMac has quit [Quit: ChatZilla 0.9.99 [SeaMonkey 2.53.9/20210823211811]]
aeth has quit [Ping timeout: 264 seconds]
aeth has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
lottaquestions has joined #commonlisp
amb007 has joined #commonlisp
cosimone has quit [Ping timeout: 264 seconds]
lottaquestions has quit [Ping timeout: 246 seconds]
gaqwas has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
Lycurgus has quit [Quit: Exeunt]
Inline has quit [Ping timeout: 246 seconds]
selwyn has joined #commonlisp
mortemeur has quit [Quit: Leaving]
pjb has joined #commonlisp
cosimone has joined #commonlisp
tyson2 has joined #commonlisp
caret has quit [Read error: Connection reset by peer]
<Josh_2>
Can I make all instances of a metaclass funcallable without using initialize-instance?
<Bike>
you want the class itself to be funcallable?
<Josh_2>
uh
<Bike>
or do you want these classes to have funcallable-standard-object as their default superclass instead of standard-object like usual?
<Josh_2>
Well I've done that
<Josh_2>
I've made instances of a class funcallable and tried it, but I'd like the setting of the funcallable function to be done when the class is defined rather than when and instance of that class is initialized
<Bike>
so are the classes themselves funcallable or no?
<Josh_2>
hmm
<Josh_2>
I guess they have to be in this case
<Bike>
could you like, provide some context, maybe? i don't understand what you're doing. why would you want to call a class?
<Josh_2>
well I want to funcall the instances of a class
<Josh_2>
I want the funcall function to be set when the class is defined not when an instance is made
<Bike>
but the function is a property of the instance, not the class.
<Josh_2>
okay
<Bike>
it doesn't make any sense to set it before the instance exists.
<Josh_2>
Well that answers that then
<Josh_2>
Thanks :P
<Bike>
it sounds like maybe you want a default function but i still don't understand what you're doing. what's the problem with doing it in initialize-instance?
<saturn2>
according to this, there is no other way to set the funcallable-instance-function than calling set-funcallable-instance-function on each instance
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
<hendursaga>
Basically a DSL for 'building up' commands + their arguments to be called on a shell
<Josh_2>
concatenate 'string ?
<Josh_2>
:joy:
<mfiano>
Sounds like format with a lexically bound stream
<mfiano>
or just WRITE, heh
gaqwas has quit [Ping timeout: 265 seconds]
<hendursaga>
Hmm, I was thinking more like getopt, but in reverse..
<Alfr>
hendursaga, you're after the escaping part of it? Maybe uiop:escape-shell-command fits your needs?
<hendursaga>
Alfr: like, some kind of macro that takes something say unix-opts might use to parse command-line arguments, but instead of parsing, generate a function that would take in arguments and then output the string of the resulting command to call externally..
<copec>
hendursaga, I would google using common lisp as shell, I bet that would link to lots of useful things
<hendursaga>
copec: I've looked at a few ones, like inferior-shell
<Alfr>
hendursaga, I don't understand what that function is supposed to do. Query a user for the arguments separately?
<hendursaga>
Alfr: no, assist in programmatically creating shell commands to run
<hendursaga>
Alfr: no, more like, config management/sysadmin stuff
CptKirk23 has joined #commonlisp
CptJimKirk has quit [Remote host closed the connection]
CptKirk has joined #commonlisp
Nilby has joined #commonlisp
<copec>
Someone should do saltstack in CL
<copec>
I use it as an example of building up a language into a DSL for my fellow sysadmins
<Alfr>
hendursaga, from that package's description and the listed examples, I don't see how that project you linked does anything more than (except for being really verbose): (let ((s (uiop:escape-shell-command '("echo" "arg1" "arg with spaces")))) (uiop:run-program s :force-shell t :output 'string))
Mandus has quit [Ping timeout: 250 seconds]
Mandus has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
akoana has joined #commonlisp
igemnace has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
<Psybur>
Are FORMAT directives turing complete?
<Nilby>
Psybur: Yes, if you allow nesting of them, they have the same properties as lambda calculus.
<Psybur>
Nice, format succ's
ec has quit [Ping timeout: 276 seconds]
<Psybur>
I cant find any articles on this though :<
<Nilby>
Psybur: The requirements for lambda calculus are fairly low. Anything that allows variable substitution and function application. Literal encapulation can be used in place of recursive function application, but of course it's quite tedious to construct things.