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/>
anticrisis has joined #commonlisp
kagevf has quit [Ping timeout: 272 seconds]
pve has quit [Quit: leaving]
green_ has joined #commonlisp
lagash has quit [Remote host closed the connection]
lagash has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
certainty has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
certainty has quit [Ping timeout: 252 seconds]
donleo has quit [Ping timeout: 246 seconds]
Lord_of_Life has quit [Ping timeout: 255 seconds]
shka has quit [Ping timeout: 240 seconds]
cmack has quit [Remote host closed the connection]
Lord_of_Life has joined #commonlisp
svartur-hrafn has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
herjazz has joined #commonlisp
Lord_of_Life has joined #commonlisp
certainty has joined #commonlisp
chomwitt has quit [Ping timeout: 252 seconds]
certainty has quit [Ping timeout: 246 seconds]
habamax has joined #commonlisp
svartur-hrafn has quit [Quit: leaving]
lucasta has quit [Remote host closed the connection]
Pirx has quit [Ping timeout: 258 seconds]
svartur-hrafn has joined #commonlisp
t4000 has joined #commonlisp
t400 has quit [Ping timeout: 252 seconds]
Inline has quit [Ping timeout: 246 seconds]
green_ has quit [Ping timeout: 246 seconds]
ec_ is now known as ec
green_ has joined #commonlisp
akoana has quit [Quit: leaving]
xlymian has quit [Ping timeout: 255 seconds]
certainty has joined #commonlisp
green_ has quit [Remote host closed the connection]
green_ has joined #commonlisp
certainty has quit [Ping timeout: 246 seconds]
iisi has quit [Server closed connection]
iisi has joined #commonlisp
green_ has quit [Ping timeout: 246 seconds]
Pixel_Outlaw has quit [Remote host closed the connection]
green_ has joined #commonlisp
certainty has joined #commonlisp
t4000 has quit [Quit: Konversation terminated!]
certainty has quit [Ping timeout: 252 seconds]
tyson2 has quit [Remote host closed the connection]
kagevf has joined #commonlisp
avocadoist has quit [Ping timeout: 264 seconds]
gpiero has quit [Server closed connection]
gpiero has joined #commonlisp
edr has quit [Quit: Leaving]
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1.90)]
certainty has joined #commonlisp
dcb has quit [Quit: MSN Messenger 4.1.1]
certainty has quit [Ping timeout: 246 seconds]
dajole has quit [Quit: Connection closed for inactivity]
svartur-hrafn has quit [Ping timeout: 255 seconds]
herjazz has quit [Quit: leaving]
gnoo has quit [Ping timeout: 255 seconds]
gnoo has joined #commonlisp
certainty has joined #commonlisp
certainty has quit [Ping timeout: 246 seconds]
louis77 has quit [Server closed connection]
louis77 has joined #commonlisp
pranavats has joined #commonlisp
zups has quit [Server closed connection]
zups has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
avocadoist has joined #commonlisp
certainty has joined #commonlisp
certainty has quit [Ping timeout: 252 seconds]
xlymian has joined #commonlisp
certainty has joined #commonlisp
Fade has quit [Server closed connection]
certainty has quit [Ping timeout: 272 seconds]
Fade has joined #commonlisp
hide-difference has quit [Read error: Connection reset by peer]
deadmarshal_ has quit [Server closed connection]
hide-difference has joined #commonlisp
dirtcastle has quit [Server closed connection]
deadmarshal_ has joined #commonlisp
dirtcastle has joined #commonlisp
certainty has joined #commonlisp
bilegeek has joined #commonlisp
certainty has quit [Ping timeout: 258 seconds]
Pixel_Outlaw has joined #commonlisp
certainty has joined #commonlisp
certainty has quit [Ping timeout: 246 seconds]
bilegeek_ has joined #commonlisp
bilegeek has quit [Ping timeout: 240 seconds]
bilegeek_ has quit [Read error: Connection reset by peer]
bilegeek_ has joined #commonlisp
bilegeek_ has quit [Ping timeout: 246 seconds]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 246 seconds]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 272 seconds]
certainty has joined #commonlisp
danza has joined #commonlisp
danza has quit [Ping timeout: 240 seconds]
ronald has joined #commonlisp
habamax has joined #commonlisp
fourier has quit [Server closed connection]
fourier has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
bilegeek_ has joined #commonlisp
anticrisis has quit [Read error: Connection reset by peer]
thollief has joined #commonlisp
tasty has quit [Ping timeout: 255 seconds]
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
shka has joined #commonlisp
boigahs has quit [Server closed connection]
boigahs has joined #commonlisp
rgherdt has joined #commonlisp
danza has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
larix1 has joined #commonlisp
CO2 has joined #commonlisp
Pirx has joined #commonlisp
dino_tutter has joined #commonlisp
danza has quit [Ping timeout: 255 seconds]
Inline has joined #commonlisp
<jcowan> Pixel_Outlaw: Common Lisp is a hybrid between Scheme and traditional Lisp
<Pixel_Outlaw> You see a lot of CL's LOOP in MacLisp's FOR. :)
<Pixel_Outlaw> Yeah... I guess the term "traditional Lisps" is fair enough.
<aeth> traditional, historical, legacy... obsolete :-p
<jcowan> Sure. But traditional Lisp was dynamically scoped, at least in the interpreter. Lexical scope came into Lisp via Scheme
<Pixel_Outlaw> Sorry, InterLisp's FOR. I'm tired today. :)
<aeth> some are more polite and some are more biased
<Pixel_Outlaw> Essentially all *ahem* /modern/ Lisps are Clojure so so you'd be led to believe.
<Pixel_Outlaw> There are like 3 or so Clojure-likes so I'm trying to be distinct.
bilegeek_ has quit [Quit: Leaving]
<beach> Pixel_Outlaw: There is no widely agreed-upon definition of "Lisp", so it is not clear whether Clojure or Scheme belong to that category. You could probably debate that in #lisp.
shka has quit [Read error: Connection reset by peer]
Lycurgus has joined #commonlisp
shka has joined #commonlisp
etimmons has quit [Server closed connection]
etimmons has joined #commonlisp
<aeth> Scheme is absolutely a Lisp, as much as Common Lisp is. Clojure, now that's a source of many flamewars online, but nothing productive comes from that.
<beach> aeth: There is no widely agreed-upon definition of "Lisp", so it is not clear whether Clojure or Scheme belong to that category. You could probably debate that in #lisp.
<Pixel_Outlaw> Right, I was just trying to group the CL "family". But yeah fine for elsewhere.
<Lycurgus> i overcame my digust at clojure
<jcowan> Clojure is pretty recent, but then so is Picolisp, which is in some ways very traditional indeed
<Lycurgus> *disgust
<aeth> I suppose it depends on how inclusive your definition is. If your definition is the least inclusive definition, it would only include Common Lisp, particularly because Scheme identifies as "Scheme" not "Lisp". But that's nitpicking a lot imo.
<Pixel_Outlaw> JSON flavored Lisp when written stylistically.
* Pixel_Outlaw digresses
<Lycurgus> as often happens due to a nice pkg, i dont recall which
shka has quit [Read error: Connection reset by peer]
<aeth> but Common Lisp moved to #commonlisp from #lisp in part to avoid this sort of thing :-p
<Lycurgus> but on the basis of larger principle than that
<Pixel_Outlaw> Is uLisp fair game as it tries to be mostly CL compatible (despite being a Lisp-1 and having no keyword support) ?
<aeth> fair game in #lisp probably
<Lycurgus> everything gets a java version pretty much if it's sufficiently noteworthy and in this case not a bad one
<aeth> yes, ABCL
chiselfu1e has quit [Ping timeout: 264 seconds]
<Pixel_Outlaw> I keep wanting to flirt with ABCL but I think making a Swing window still takes some Java if I recall the tutorial.
<Lycurgus> but i suggested it at the time of the freenode exodus on the basis of principle, in this case rectification of names
shka has joined #commonlisp
Lycurgus has quit [Quit: leaving]
cage has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
chiselfuse has joined #commonlisp
mgl_ has joined #commonlisp
donleo has joined #commonlisp
shka has quit [Read error: Connection reset by peer]
amb007 has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
shka has joined #commonlisp
mgl_ has quit [Ping timeout: 252 seconds]
larix1 has quit [Remote host closed the connection]
msavoritias has joined #commonlisp
mgl_ has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
skeemer has quit [Quit: WeeChat 4.1.1]
attila_lendvai has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
ronald has quit [Ping timeout: 255 seconds]
Lycurgus has joined #commonlisp
Lycurgus has quit [Changing host]
Lycurgus has joined #commonlisp
random-nick has joined #commonlisp
habamax has quit [Remote host closed the connection]
CO2 has quit [Quit: WeeChat 4.1.1]
cage has quit [Quit: rcirc on GNU Emacs 29.1]
tyson2 has joined #commonlisp
<mfiano> Hello! I am designing something in a particular way, consisting of mixin classes intended to be uses or not by the user, to extend the application. Additionally, there are both internal default methods specialized to the mixin class that cover any subclassing, and also generic functions with no methods, or just auxiliary methods doing some type checking, expecting the user to provide methods
<mfiano> when they use such a mixin, in accordance with the eventual protocol documentation. Now, it turns out this is not enough in some cases, and it would be better if I enforced the fact that all required generic functions for a mixin be implemented, if that mixin is to be a superclass for an object that exists in this (runtime simulation). I am thinking of just defining the appropriate method on
<mfiano> i-i or s-i and calling methods with known valid inputs, handling conditions, and signalling or restarting with inputs that can be derived from the runtime state. What other alternatives do I have here?
luis has joined #commonlisp
lagash has quit [Ping timeout: 246 seconds]
Lycurgus has quit [Quit: leaving]
svartur-hrafn has joined #commonlisp
dcb has joined #commonlisp
Meritamen has joined #commonlisp
Meritamen has quit [Remote host closed the connection]
ronald has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
pve has joined #commonlisp
luna-is-here has quit [Server closed connection]
luna-is-here has joined #commonlisp
yitzi has joined #commonlisp
asarch has joined #commonlisp
Lycurgus has joined #commonlisp
Lycurgus has quit [Changing host]
Lycurgus has joined #commonlisp
certainty has quit [Read error: Connection reset by peer]
molson has quit [Ping timeout: 264 seconds]
certainty has joined #commonlisp
amb007 has joined #commonlisp
mgl_ has quit [Ping timeout: 246 seconds]
xlymian has quit [Ping timeout: 255 seconds]
lucasta has joined #commonlisp
dino_tutter has quit [Ping timeout: 264 seconds]
chomwitt has joined #commonlisp
mgl_ has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
xlymian has joined #commonlisp
Lycurgus has quit [Quit: leaving]
akonai has quit [Server closed connection]
akonai has joined #commonlisp
lagash has joined #commonlisp
tibfulv_ has quit [Remote host closed the connection]
tibfulv has joined #commonlisp
<Shinmera> I'm not sure I like such enforcement. It feels over-eager. To me it's a perfectly valid pattern to create an instance before implementing the full interface, and then gradually implementing and testing the interface with that instance. Your eager checks would prevent this.
lucasta has quit [Quit: Leaving]
X-Scale has joined #commonlisp
cage has joined #commonlisp
dom2 has quit [Ping timeout: 246 seconds]
jmdaemon has quit [Ping timeout: 246 seconds]
xlymian has quit [Read error: Connection reset by peer]
jonatack has quit [Read error: Connection reset by peer]
jonatack has joined #commonlisp
Pirx has quit [Remote host closed the connection]
Pirx has joined #commonlisp
jfb4 has quit [Server closed connection]
jfb4 has joined #commonlisp
Fade has quit [Changing host]
Fade has joined #commonlisp
<mfiano> Yes, I admit I dislike abstract classes and such in 'modern languages' for the same reasons, but this is sort of a niche case I fell into.
e3d3 has joined #commonlisp
<e3d3> I'm reading the "Common Lisp hyperspec" about formatted output but can't find how to use v in place of a prefix parameter to a directive for the FORMAT function.
<e3d3> I know from an example that (format nil "~v@t" 3) print 3 spaces but what else can I use instead of t ?
<mfiano> (format nil "~va4" 15 3) ;=> "3 4"
<mfiano> or ~d would be more appropriate there, but whatevs
<gilberth> Shinmera, mfiano: For my CLIM, which has protocols, I have macros that define protocol classes and protocol generic functions accompanied by a tool that can check protocols and shows me what I am missing. Enforcing this that runtime would make development practically impossible. You will start saying (defmethod foo-bar ((object foo-thingy)) (error "nyi")) just to get something up. Any better?
McParen has joined #commonlisp
<gilberth> This is like with undefined functions. It's fine to punt no have come up with a function definition yet, but still write and compile a call to it. I often do that when developing. The compiler will warn about an undefined function and that's fine.
<e3d3> mfiano: Can ~v print anything else than spaces ?
<yitzi> e3d3: do you mean padchar?
<gilberth> e3d3: It's not the ~v that prints spaces. There is no ~v to begin with. It's the ~a that prints spaces.
<e3d3> gilberth: I thought that ~a prints the literal 3, and ~v adds 15 spaces.
<e3d3> sorry I forgot the padchar
<gilberth> You put the 'v' in a format directive in place of some parameter. Like the '10' in "~10D". When you say "~vD" instead that parameter is pulled from the arguments to FORMAT.
<e3d3> thanks, I understand it better.
utis has joined #commonlisp
<e3d3> gilberth, mfiano, yitzi thanks for helping
e3d3 has left #commonlisp [rcirc on GNU Emacs 27.1]
<gilberth> The padcha can also be 'v'. Like ,(format nil "~10,,,v<foo~>" #\?)
<ixelp> (format nil "~10,,,v<foo~>" #\?) => "???????foo"
molson has joined #commonlisp
<gilberth> Or both. ,(defun funny-make-string (n ch) (format nil "~v,,,v<~>" n ch)) ,(funny-make-string 4 #\x)
<ixelp> (defun funny-make-string (n ch) (format nil "~v,,,v<~>" n ch)) => FUNNY-MAKE-STRING, further (funny-make-string 4 #\x) => "xxxx"
Gleefre has joined #commonlisp
akonai has quit [Ping timeout: 260 seconds]
mgl_ has quit [Ping timeout: 246 seconds]
waleee has joined #commonlisp
svartur-hrafn has quit [Ping timeout: 255 seconds]
svartur-hrafn has joined #commonlisp
Lycurgus has joined #commonlisp
Lycurgus has quit [Changing host]
Lycurgus has joined #commonlisp
svartur-hrafn has quit [Ping timeout: 255 seconds]
svartur-hrafn has joined #commonlisp
dnhester26 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
luis has quit [Ping timeout: 264 seconds]
dino_tutter has joined #commonlisp
MelanieMalik has quit [Ping timeout: 240 seconds]
notzmv has joined #commonlisp
Lycurgus has quit [Quit: leaving]
svartur-hrafn has quit [Remote host closed the connection]
akoana has joined #commonlisp
Guest33 has joined #commonlisp
dbotton has quit [Server closed connection]
dbotton has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
tyson2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
utis has quit [Ping timeout: 255 seconds]
Pirx has quit [Remote host closed the connection]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
prokhor has quit [Remote host closed the connection]
tyson2 has quit [Ping timeout: 240 seconds]
McParen has left #commonlisp [#commonlisp]
borodust has quit [Server closed connection]
borodust has joined #commonlisp
asarch has quit [Quit: Leaving]
delyan_ has quit [Server closed connection]
delyan_ has joined #commonlisp
certainty has quit [Ping timeout: 264 seconds]
Pixel_Outlaw has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
Ellenor has joined #commonlisp
randomperson132 has joined #commonlisp
Ellenor is now known as MelanieMalik
attila_lendvai has joined #commonlisp
dnhester26 has joined #commonlisp
msavoritias has quit [Ping timeout: 252 seconds]
Guest33 has quit [Quit: Client closed]
certainty has joined #commonlisp
utis has joined #commonlisp
akoana has quit [Quit: leaving]
certainty has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.1]
avocadoist has quit [Ping timeout: 252 seconds]
dom2 has joined #commonlisp
xlymian has joined #commonlisp
thollief has quit [Quit: Leaving]
yitzi has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
d4ryus has quit [Server closed connection]
d4ryus has joined #commonlisp
svartur-hrafn has joined #commonlisp
anticrisis has joined #commonlisp
mht-wtf has quit [Server closed connection]
mht-wtf has joined #commonlisp
sebastian has joined #commonlisp
sebastian is now known as Guest9624
Guest9624 has left #commonlisp [#commonlisp]
anticrisis has quit [Read error: Connection reset by peer]
randm has quit [Server closed connection]
randm has joined #commonlisp
shka has quit [Ping timeout: 255 seconds]
Guest9624 has joined #commonlisp
Guest9624 is now known as Sebastian__
Sebastian__ is now known as sebastian_
anticrisis has joined #commonlisp
<sebastian_> I have a small question. When is a list constant data and when is it mutable? For example, I get a warning for modifying constant data here: (let ((tmp '(1 2 3))) (setf (car tmp) 5) (print tmp))
xlymian has quit [Read error: Connection reset by peer]
certainty has joined #commonlisp
<Alfr> sebastian_, that what ' (that's shorthand for QUOTE) returns is literal data.
<edgar-rft> (let ((tmp (list 1 2 3)) ...) would be mutable
<sebastian_> It told me to read 3.7.1, which says that data that comes from literals is not mutable. I should have read that before asking.
<Alfr> sebastian_, also self-evaluating things appearing in source are literal; so stings and objects you might compute using a reader macro.
<waleee> in that particular example let* would also be nice if you only mutatate it once
<sebastian_> edgar-rft: thanks for the alternative. I had considered (quote (1 2 3)) and (list 1 2 3) interchangeable until now, but they're not.
<sebastian_> Alfr: that makes sense, thank you.
<edgar-rft> no worries, nobody knows the entire spec out ofhis head :-)
<sebastian_> One nice thing about Common Lisp is that they seemingly publish the spec online in HTML form: https://cl-community-spec.github.io/pages/index.html
<ixelp> CL CommunitySpec (CLCS)
<pfdietz> Some of us try to get close. :)
<sebastian_> With C and C++, you can only find PDFs of the draft standards floating around online, and they're not as easy to read.
certainty has quit [Ping timeout: 260 seconds]
utis has quit [Ping timeout: 260 seconds]
<sebastian_> And LispWorks posts it online as well: http://www.lispworks.com/documentation/HyperSpec/Front/Contents.htm
<ixelp> CLHS: Chapter Index
blackshuck has joined #commonlisp
anticrisis has quit [Read error: Connection reset by peer]
<aeth> while it's not a standard and so it might not be of much use to implementers, there are C++ references online... there's no need for the go-to CL reference and the CL (draft) standard to be the same site with similar text
anticrisis has joined #commonlisp
<aeth> (and the people who disagree with me here are likely to be CL implementers)
<randomperson132> Forget the PDFs, I think cppreference.com is hard to read as well; albeit that's more on C++'s complex semantics
<aeth> well, yeah
<aeth> a C++ reference (and there are iirc 2-3 go-to ones) is going to be messy
<aeth> as is a Perl one
<aeth> too much emphasis on cryptic syntax, which isn't particularly searchable.
<aeth> although CL does have e.g. http://l1sp.org/search?q=%23
<ixelp> # - l1sp.org search
<ixelp> CLHS: Section 2.4.8
anticrisis has quit [Read error: Connection reset by peer]
anticrisis has joined #commonlisp
<gilberth> Shameless plug: https://novaspec.org/cl/
<ixelp> Common Lisp Nova Spec
<gilberth> And there is no "they" who post an online version. The TeX sources are available for an eternity.
<sebastian_> Thanks for all the links
anticrisis has quit [Read error: Connection reset by peer]
<sebastian_> I just meant that you don't have to pay for a PDF or print version, or pirate it from libgen; you can just find the standard online.
anticrisis has joined #commonlisp
<edgar-rft> sebastian_: you can pay money to ANSI to get a shitty photo-copy of the original spec if you really want :-)
anticrisis has quit [Read error: Connection reset by peer]
anticrisis has joined #commonlisp
gko has quit [Server closed connection]
<gilberth> Or you can find the TeX, typeset it, print it, and have a dead-tree version.
anticrisis has quit [Read error: Connection reset by peer]
gko has joined #commonlisp
anticrisis has joined #commonlisp
randomperson132 has quit [Quit: Client closed]
certainty has joined #commonlisp
habamax has joined #commonlisp
anticrisis has quit [Read error: Connection reset by peer]
certainty has quit [Ping timeout: 260 seconds]
anticrisis has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
Lycurgus has quit [Quit: leaving]
glaucon has joined #commonlisp
Inline has quit [Ping timeout: 260 seconds]
sebastian_ has quit [Quit: sebastian_]
certainty has joined #commonlisp
blackshuck has quit [Quit: Using Circe, the loveliest of all IRC clients]
chomwitt has quit [Ping timeout: 264 seconds]
certainty has quit [Ping timeout: 246 seconds]
attila_lendvai has quit [Ping timeout: 258 seconds]