jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
<nij-> standard: "The set of special operator names is fixed in Common Lisp; no way is provided for the user to define a special operator. " The set of special operator names is fixed in Common Lisp; no way is provided for the user to define a special operator.
<ixelp> CLHS: Section 3.1.2.1.2.1
<nij-> So the standard bans the implementation from giving the user option to define new special ops.. I wonder if the implementation can provide more special ops though.
mesuutt has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
awlygj has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
X-Scale has joined #commonlisp
<bike> implementations can and do provide other special operators
<nij-> I see..
awlygj has quit [Ping timeout: 268 seconds]
nij- has quit [Ping timeout: 245 seconds]
awlygj has joined #commonlisp
<bike> i don't know how useful a special operator like that would be though, compared to just having an eval function with an environment parameter
<bike> kernel has a similar special operator called $remote-eval or something, and part of the idea was to use it to e.g. evaluate code in a standard environment a la with-standard-io-syntax, but i don't know how practically useful that is
AetherWind has joined #commonlisp
yitzi has joined #commonlisp
ronald has joined #commonlisp
ronald_ has quit [Read error: Connection reset by peer]
AetherWind has quit [Quit: Lost terminal]
random-nick has quit [Ping timeout: 256 seconds]
istewart has joined #commonlisp
mesuutt has joined #commonlisp
nij- has joined #commonlisp
mesuutt has quit [Ping timeout: 255 seconds]
yitzi has quit [Remote host closed the connection]
admich1 has quit [Ping timeout: 252 seconds]
<nij-> Does it mean "some" rather than "any" in "interned adj. Trad. 1. (of a symbol) accessible in any package." ? https://novaspec.org/cl/26_1_Glossary#interned
<ixelp> 26.1 Glossary | Common Lisp Nova Spec
admich1 has joined #commonlisp
<gilberth> That's a grammar question.
<nij-> Sorry for my bad grammar. English isn't my native. But this reads to me like it saying the symbol is accessible in *every* package.
holycow has joined #commonlisp
doulos05 has quit [Ping timeout: 240 seconds]
<gilberth> Neither is it mine. But no, I don't think that "any" would imply every.
doulos05 has joined #commonlisp
<gilberth> Consider a questions: "Is FOO accessible in any package?" "Yes, it is accessible from CL-USER, but not from FANCY-PACKAGE."
mesuutt has joined #commonlisp
<nij-> Grammar sites and LLM suggest any means one or more. Ok.. so that's fine. Sorry!
mesuutt has quit [Ping timeout: 252 seconds]
<gilberth> I was more referring to to my ears a sentence like "I have any apples, I should make an apple pie." sounds wrong while "I have some apples." sounds right.
<gilberth> I believe negation implies "any". "I don't have any apples, so I cannot make an apple pie." sounds ok. While "I don't have some apples." sounds odd. Maybe someone better at English than me could clarify.
tok has quit [Remote host closed the connection]
attila_lendvai has quit [Ping timeout: 260 seconds]
josrr has quit [Remote host closed the connection]
jonatack has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
waleee has quit [Ping timeout: 246 seconds]
echos has quit [Quit: cheerio]
amb007 has quit [Ping timeout: 245 seconds]
istewart has quit [Quit: Konversation terminated!]
istewart has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 245 seconds]
<nij-> I remember seeing "any" used in an affirmative English sentence. But it doesn't show up quite often nowadays, at least in verbal english.
<paulapatience> gilberth's ear is good.
<paulapatience> One example where any strongly suggests all would be: My code works with any compiler.
<paulapatience> But it is indeed a source of ambiguity.
pranav has quit [Remote host closed the connection]
<nij-> Can a symbol be interned in two packages simultaneously?
<nij-> Oh yes - "the same symbol can be interned in more than one package." Sorry this is a stupid question.
<ixelp> symbol | Common Lisp Nova Spec
<nij-> Oh.. that's what 'USE does.
<gilberth> Nope.
<gilberth> You would need to "import" a symbol to make it interned in some other package than its home package.
<gilberth> Look at the second return value of https://novaspec.org/cl/f_find-symbol
<ixelp> find-symbol | Common Lisp Nova Spec
<nij-> !! I see. Thanks
<nij-> This is a nuance that I think I will easily forget again..
<gilberth> This use list as with :USE in defpackage is more like a search path.
<nij-> Yep..
<nij-> Why does the standard differ these two?
<nij-> How is such seperation useful?
<gilberth> Because that are different things. Begins with that to refer to symbols in used packages (without a package qualifier) would only work if that symbol is exported. And the used package can also change.
<gilberth> And of course when you use a package you use all symbol exported symbols from that package.
<gilberth> You might however want to only import one specific symbol from another package. Or a few.
<gilberth> So both have it uses.
<nij-> I see.
decweb has quit [Ping timeout: 252 seconds]
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 268 seconds]
PuercoPop has joined #commonlisp
emaczen has joined #commonlisp
nij- has quit [Ping timeout: 255 seconds]
admich1 has quit [Ping timeout: 240 seconds]
admich1 has joined #commonlisp
theBlackDragon has quit [Ping timeout: 264 seconds]
theBlackDragon has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 260 seconds]
emaczen has quit [Ping timeout: 264 seconds]
chomwitt has joined #commonlisp
danza has joined #commonlisp
ronald has quit [Ping timeout: 268 seconds]
ronald has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 272 seconds]
ronald has quit [Read error: Connection reset by peer]
ronald has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
alcor has joined #commonlisp
alcor has quit [Changing host]
alcor has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
shka has joined #commonlisp
amb007 has quit [Ping timeout: 245 seconds]
amb007 has joined #commonlisp
chomwitt has quit [Ping timeout: 268 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
msavoritias has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danza has quit [Remote host closed the connection]
danza has joined #commonlisp
mesuutt has joined #commonlisp
chomwitt has joined #commonlisp
OlCe has joined #commonlisp
mesuutt has quit [Ping timeout: 256 seconds]
pranav has joined #commonlisp
rtypo has joined #commonlisp
chomwitt has quit [Ping timeout: 256 seconds]
danza has quit [Ping timeout: 256 seconds]
amb007 has quit [Ping timeout: 260 seconds]
<younder> beach: All implementation's I have looked at use a copy-on-write approach to multi-threading. Has this been addressed in the updated spec?
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<younder> I mean for a global environment.
rgherdt has joined #commonlisp
OlCe has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
<beach> That would be very strange.
<beach> So if you do (defun foo ...) in one thread, the function foo will not be defined in a different thread?
mesuutt has joined #commonlisp
<younder> heh?
<beach> And, the only "updated spec" I know of is WSCL, and I think multiple threads would be way too hard for WSCL, at least initially.
<beach> younder: DEFUN does a (setf (fdefinition ...)) which writes to the global environment, so if it is then first copied, the function won't be seen in other threads.
notzmv has quit [Remote host closed the connection]
<beach> Besides, no current Common Lisp implementation has an object representing the global environment, so to write-protect it that way would mean write-protecting almost the entire system.
mesuutt has quit [Ping timeout: 272 seconds]
<younder> We must be talking past each other. How do you deal with a dynamic variable (usually global) in a thread. You just read the global one. It is fine if all threads do is read them. But what happens on write? You make a thread local copy and write to that. This can all be made to work as long as you check if there is a thread local copy first and on fail fallback on reading the global (top process) one.
pve has joined #commonlisp
<beach> I believe that in all current Common Lisp implementations with threads, the global bindings is shared between all the threads.
<beach> And if you are not talking about the global value, and instead you are referring to a thread-local binding of it, then you are not using the global environment.
<younder> I mean that is what dynamic binding does anyhow even in a single thread.
<beach> If the variable is locally bound, then writing to it does not affect the global environment.
<beach> How the dynamic environment is represented is outside the scope of any specification anyway, let alone WSCL.
amb007 has quit [Ping timeout: 245 seconds]
amb007 has joined #commonlisp
attila_lendvai has joined #commonlisp
mesuutt has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
mesuutt has quit [Ping timeout: 252 seconds]
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 256 seconds]
random-jellyfish has quit [Ping timeout: 256 seconds]
admich1 has quit [Ping timeout: 255 seconds]
admich1 has joined #commonlisp
dino_tutter has joined #commonlisp
danza has joined #commonlisp
tok has joined #commonlisp
danza has quit [Remote host closed the connection]
danza has joined #commonlisp
donleo has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 260 seconds]
danza_ has joined #commonlisp
danza has quit [Read error: Connection reset by peer]
decweb has joined #commonlisp
danza_ has quit [Remote host closed the connection]
danza_ has joined #commonlisp
mesuutt has joined #commonlisp
waleee has joined #commonlisp
mesuutt has quit [Ping timeout: 264 seconds]
awlygj has quit [Ping timeout: 268 seconds]
awlygj has joined #commonlisp
rgherdt has quit [Ping timeout: 245 seconds]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
rgherdt has joined #commonlisp
awlygj has quit [Quit: Lost terminal]
random-nick has joined #commonlisp
danza_ has quit [Ping timeout: 252 seconds]
mgl_ has joined #commonlisp
waleee has quit [Ping timeout: 255 seconds]
wacki has joined #commonlisp
Guest29 has joined #commonlisp
emilknievel has quit [Remote host closed the connection]
Inline has quit [Ping timeout: 268 seconds]
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 268 seconds]
Guest29 has quit [Quit: Client closed]
Inline has joined #commonlisp
nij- has joined #commonlisp
<nij-> https://novaspec.org/cl/t_boolean This seems to be a place to specify more? In " The type boolean contains the symbols t and nil, which represent true and false, respectively.", the term "contains" should better be "consists of", in order to exclude every other thing not in the set {nil, t}?
<ixelp> boolean | Common Lisp Nova Spec
<nij-> The glossary does mean to be exclusive https://novaspec.org/cl/26_1_Glossary#boolean
<ixelp> 26.1 Glossary | Common Lisp Nova Spec
<beach> Indeed. Please give us a short GitHub issue for WSCL, and someone will write it up in a more complete form later.
<nij-> Will do.
awlygj has joined #commonlisp
mesuutt has joined #commonlisp
Inline has quit [Quit: Leaving]
amb007 has quit [Read error: Connection reset by peer]
mesuutt has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 264 seconds]
msavoritias has quit [Remote host closed the connection]
Inline has joined #commonlisp
saturn2 has quit [Read error: Connection reset by peer]
nij- has quit [Remote host closed the connection]
nij- has joined #commonlisp
nij- has quit [Remote host closed the connection]
nij- has joined #commonlisp
mgl_ has quit [Ping timeout: 252 seconds]
chomwitt has joined #commonlisp
mgl_ has joined #commonlisp
green_ has quit [Ping timeout: 268 seconds]
zetef has joined #commonlisp
dino_tutter has quit [Ping timeout: 260 seconds]
attila_lendvai has quit [Ping timeout: 255 seconds]
nij- has quit [Ping timeout: 268 seconds]
admich1 has quit [Ping timeout: 245 seconds]
waleee has joined #commonlisp
chomwitt has quit [Ping timeout: 268 seconds]
edgar-rfx has joined #commonlisp
mesuutt has joined #commonlisp
edgar-rft has quit [Ping timeout: 268 seconds]
mesuutt has quit [Ping timeout: 240 seconds]
ocra8 has quit [Quit: WeeChat 4.2.2]
josrr has joined #commonlisp
<paulapatience> I would argue that that's not that ambiguous
<paulapatience> However, "consists of only" would probably be better than both
<paulapatience> "contains only", rather
ocra8 has joined #commonlisp
jonatack has joined #commonlisp
<beach> I agree.
X-Scale has quit [Quit: Client closed]
cage has joined #commonlisp
zetef has quit [Ping timeout: 268 seconds]
josrr has quit [Remote host closed the connection]
josrr has joined #commonlisp
mesuutt has joined #commonlisp
zetef has joined #commonlisp
awlygj has quit [Quit: leaving]
mesuutt has quit [Ping timeout: 255 seconds]
zetef has quit [Ping timeout: 255 seconds]
green_ has joined #commonlisp
green_ has quit [Ping timeout: 268 seconds]
yitzi has joined #commonlisp
_cymew_ has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.2]
chomwitt has joined #commonlisp
edgar-rfx is now known as edgar-rft
mesuutt has joined #commonlisp
rgherdt has quit [Ping timeout: 268 seconds]
mesuutt has quit [Ping timeout: 268 seconds]
mgl_ has quit [Ping timeout: 268 seconds]
mm007emko has quit [Ping timeout: 252 seconds]
mm007emko has joined #commonlisp
androclus has joined #commonlisp
chomwitt has quit [Ping timeout: 255 seconds]
rgherdt has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
brokkoli_origin has quit [Remote host closed the connection]
brokkoli_origin has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
mesuutt has joined #commonlisp
easye has quit [Remote host closed the connection]
mesuutt has quit [Ping timeout: 268 seconds]
waleee has quit [Ping timeout: 264 seconds]
wacki has joined #commonlisp
edgar-rft has quit [Quit: don't waste your life by reading this]
mesuutt has joined #commonlisp
edgar-rft has joined #commonlisp
green_ has joined #commonlisp
mesuutt has quit [Ping timeout: 260 seconds]
X-Scale has joined #commonlisp
admich1 has joined #commonlisp
monospod has joined #commonlisp
triffid has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
triffid has joined #commonlisp
mesuutt has joined #commonlisp
<kanuba> I would argue for "consists of", rather than "contains only" or "consists of only", given the Latin origin of the words. Using contain, consist (or include), as English roots are all correct, but there is less ambiguity in my opinion.
mesuutt has quit [Ping timeout: 240 seconds]
Inline has quit [Remote host closed the connection]
triffid has quit [Ping timeout: 260 seconds]
dino_tutter has joined #commonlisp
<paulapatience> Includes (without "only") would be the most ambiguous in my opinion
triffid has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<kanuba> Aye
prokhor has quit [Ping timeout: 255 seconds]
prokhor has joined #commonlisp
markb1 has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
markb1 has joined #commonlisp
wacki has joined #commonlisp
cage has joined #commonlisp
waleee has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
admich1 has quit [Ping timeout: 260 seconds]
alcor has quit [Remote host closed the connection]
wacki has quit [Read error: Connection reset by peer]
bilegeek has joined #commonlisp
wacki has joined #commonlisp
admich1 has joined #commonlisp
<pranavats> Inclusion (subset) is a different relation than membership though. "Contains" is almost an idiom for set membership.
maxwell_ has joined #commonlisp
Inline has joined #commonlisp
clone_of_saturn has joined #commonlisp
clone_of_saturn is now known as saturn2
Inline has quit [Client Quit]
cage has quit [Quit: rcirc on GNU Emacs 29.2]
<maxwell_> anyone here familiar with SBCL inet sockets?
<maxwell_> trying to listen for connections on a port on my machine, and then just print out bytes received
<maxwell_> so far I have a created inet-socket that I try to bind to 127.0.0.1 port 8000, but I get failures saying that the connection was refused, and if I keep messing around I eventually get that the port is in use
<maxwell_> the machine is a remote VM with Alpine Linux installed
<maxwell_> (let ((listener (make-instance 'inet-socket...))) (socket-bind listener #(127 0 0 1) 8000) (socket-listen listener 5) (loop (print socket-receive listener nil 64))))
alcor has joined #commonlisp
<maxwell_> specifically I'm getting a SB-BSD-SOCKETS:NOT-CONNECTED-ERROR on the socket-receive call
<maxwell_> am I supposed to be using a stream somehow? Or maybe it's just a stupid simple mistake I've made? This is one of my first forays into CL
<gilberth> You're not by any chance trying to read from the listening socket?
<maxwell_> Well I'm trying to do a socket-receive on the listening socket
<gilberth> Yes, and that one is not connected. Read from the other socket that is the actual connection. There needs to be some what is accept(2) with UNIX there. And that would give you the actual connection.
prokhor has quit [Remote host closed the connection]
<maxwell_> So I would need to wait on the bound socket until I try to make a connection (from my browser say) and then do an accept followed by the receive?
Inline has joined #commonlisp
<gilberth> That accept(2) whatever that is in SBCL would wait until someone connects, yes. And you get a second new socket representing the connection.
<maxwell_> Ohhhhh thanks. I'll mess around with that a little to see if I can get it working
<gilberth> You're confused by the imho confusing BSD socket API. Maybe you find some examples that you can copy.
<maxwell_> Any recommendations? I know of usocket.
<gilberth> usocket is fine and has a simple API but for some reason that is beyond me doesn't allow for :external-format last time I looked.
<yitzi> They justify it by saying that external-format isn't standardized across implementations.
<yitzi> I suspect that most people layer a flexi-stream or hand-rolled Gray stream on top.
<gilberth> The exact values of what :external-format is isn't standardized. Still a poor excuse imho rendering usocket unsuitable for use with character streams.
<yitzi> I don't disagree.
<gilberth> There are only two character encodings that matter these days: ISO-8859-1 and UTF-8 and there is LF and CRLF line termination. How hard could it be to figure out what those four combinations are with any given Lisp. So I at least would have offered those when portability would have been a concern.
ebrasca has quit [Remote host closed the connection]
<gilberth> Otherwise I like the idea of usocket as it gives you a simple API to work with. This BSD dance of making a sockets, binding, listening, accepting is tedious an confusing.
NotThatRPG has joined #commonlisp
attila_lendvai has joined #commonlisp
prokhor has joined #commonlisp
ocra8 has quit [Quit: WeeChat 4.2.2]
X-Scale has quit [Quit: Client closed]
chomwitt has joined #commonlisp
mesuutt has joined #commonlisp
<younder> Dunno, I'm used to the C API I guess
shka has quit [Ping timeout: 260 seconds]
<younder> That old book Linux Network Programming by Stevens, Fenner and Rudoff. I just translate the recipes there
mesuutt has quit [Ping timeout: 268 seconds]
<gilberth> The by far most common two things you want to do is (1) using TCP/IP to connect to some host at some port and having a stream which otherwise is like any other Common Lisp stream. and (2) Make a listening socket at some port possibly listening to ether all ip addresses or only some like 127.1 and accept connections giving you a stream for that connection. usocket makes those two tasks easy.
yitzi has quit [Remote host closed the connection]
monospod has quit [Quit: Konversation terminated!]
maxwell_ has quit [Ping timeout: 245 seconds]
admich1 has quit [Ping timeout: 255 seconds]
admich1 has joined #commonlisp
ocra8 has joined #commonlisp
_cymew_ has quit [Ping timeout: 268 seconds]
attila_lendvai has quit [Ping timeout: 268 seconds]
amb007 has quit [Ping timeout: 256 seconds]
maxwell_ has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
akoana has joined #commonlisp
mesuutt has joined #commonlisp
varjag has joined #commonlisp
mesuutt has quit [Ping timeout: 268 seconds]
jmercouris1 has joined #commonlisp
zetef has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
jmercouris1 has quit [Quit: jmercouris1]
pranavats has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
Pixel_Outlaw has joined #commonlisp
admich1 has joined #commonlisp
corra_ has joined #commonlisp
mgl_ has joined #commonlisp
maxwell_ has quit [Ping timeout: 260 seconds]
corra_ is now known as corra
alcor has quit [Ping timeout: 256 seconds]
admich1 has quit [Ping timeout: 240 seconds]
admich1 has joined #commonlisp
maxwell_ has joined #commonlisp
mesuutt has joined #commonlisp
mesuutt has quit [Ping timeout: 252 seconds]
mgl_ has quit [Ping timeout: 260 seconds]
chomwitt has quit [Ping timeout: 260 seconds]
scymtym has quit [Read error: Connection reset by peer]
scymtym has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
dino_tutter has quit [Ping timeout: 256 seconds]
ksixty has quit [Quit: leaving]
green_ has quit [Ping timeout: 252 seconds]
ksixty has joined #commonlisp
ksixty has quit [Client Quit]
ksixty has joined #commonlisp
rtypo has quit [Ping timeout: 256 seconds]
ksixty has quit [Changing host]
ksixty has joined #commonlisp
mesuutt has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
mesuutt has quit [Ping timeout: 245 seconds]
maxwell_ has quit [Ping timeout: 256 seconds]
maxwell_ has joined #commonlisp
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.0.90)]
triffid has quit [Remote host closed the connection]
donleo has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
istewart has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
istewart has joined #commonlisp
mesuutt has joined #commonlisp
pve has quit [Quit: leaving]
nij- has joined #commonlisp
mesuutt has quit [Ping timeout: 272 seconds]