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/>
akoana has quit [Quit: leaving]
bh34e5 has joined #commonlisp
certainty has joined #commonlisp
donleo has quit [Ping timeout: 260 seconds]
habamax has joined #commonlisp
certainty has quit [Ping timeout: 268 seconds]
<jmercouris> I find myself often reveting hunks, any way to automatically have those hunks re-eval'd upon reverting so the image stays "up to date"?
gjvc has quit [Ping timeout: 248 seconds]
gjvc has joined #commonlisp
habamax has quit [Remote host closed the connection]
szkl has quit [Quit: Connection closed for inactivity]
pfdietz has quit [Quit: Client closed]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 245 seconds]
makomo has quit [Ping timeout: 264 seconds]
jon_atack has quit [Ping timeout: 240 seconds]
pfdietz has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life has joined #commonlisp
xlymian has quit [Ping timeout: 260 seconds]
avocadoist has quit [Ping timeout: 246 seconds]
<gendl__> Hi, does anyone know how to do get the *compile-file-truename* embedded somehow into the fasl in SBCL?
<gendl__> so that I can get hold of the source pathname when loading the corresponding fasl (even if said fasl is somewhere under asdf's cache and far away from the original .lisp source)
<gendl__> for example Allegro has `excl:*source-pathname*` and CCL has `ccl:*loading-file-source-file*`
fermat has quit [Server closed connection]
fermat has joined #commonlisp
<gilberth> Quite a puzzle. You would need to get hold of the value at compile time.
<gilberth> How about (macrolet ((aux () `',*compile-file-truename*))) (defparameter *my-source* (aux)))?
certainty has joined #commonlisp
b3lm0nt has quit [Server closed connection]
b3lm0nt has joined #commonlisp
certainty has quit [Ping timeout: 268 seconds]
<pfdietz> sharp-dot reader macro?
<gilberth> That would work as well, but technically is read time.
<pfdietz> COMPILE-FILE binds that variable, so sharp-dot will get the value at the time the source forms are read.
lonjil has quit [Server closed connection]
lonjil has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
markasoftware has quit [Server closed connection]
ronald has quit [Read error: Connection reset by peer]
markasoftware has joined #commonlisp
SAL9000 has quit [Server closed connection]
SAL9000 has joined #commonlisp
<gendl__> putting `(defparameter *my-source* #.*compile-file-pathname*)` seems to work - but I'm trying to figure out why the *my-source* doesn't get clobbered on the fasl load, because at fasl load time, `*compile-file-truename*` is `nil`
<gendl__> The macrolet approach seems to work as well by the way
ronald has joined #commonlisp
cross has quit [Server closed connection]
cross has joined #commonlisp
kevingal_ has quit [Ping timeout: 264 seconds]
kevingal has quit [Ping timeout: 264 seconds]
tyson2 has quit [Remote host closed the connection]
habamax has joined #commonlisp
<gendl__> This works:
<gendl__> `,(or *compile-file-truename* *load-truename*))`
<gendl__> `(defmacro source-pathname ()
<gendl__> sorry my markdown backtick got confused with Lisp backtick. Should be like:
<gendl__> (defmacro source-pathname () `,(or *compile-file-truename* *load-truename*))
certainty has joined #commonlisp
<gendl__> that seems to yield the correct path even when just loading the fasl from asdf's fasl cache.
certainty has quit [Ping timeout: 268 seconds]
Pixel_Outlaw has quit [Remote host closed the connection]
contrapunctus has left #commonlisp [#commonlisp]
certainty has joined #commonlisp
bh34e5 has quit [Ping timeout: 245 seconds]
certainty has quit [Ping timeout: 240 seconds]
dnhester26 has quit [Remote host closed the connection]
habamax has quit [Ping timeout: 268 seconds]
contrapunctus has joined #commonlisp
edr has quit [Quit: Leaving]
certainty has joined #commonlisp
nxtr_ has quit [Server closed connection]
nxtr_ has joined #commonlisp
certainty has quit [Ping timeout: 260 seconds]
HamzaShahid has left #commonlisp [ERC 5.6-git (IRC client for GNU Emacs 30.0.50)]
notzmv has quit [Ping timeout: 246 seconds]
dnhester26 has joined #commonlisp
waleee has quit [Ping timeout: 255 seconds]
certainty has joined #commonlisp
certainty has quit [Ping timeout: 240 seconds]
certainty has joined #commonlisp
energizer has quit [Server closed connection]
energizer has joined #commonlisp
certainty has quit [Ping timeout: 240 seconds]
wheeler has quit [Server closed connection]
wheeler has joined #commonlisp
sellers has quit [Server closed connection]
sellers has joined #commonlisp
sukaeto has quit [Server closed connection]
sukaeto has joined #commonlisp
mrcom_ has quit [Ping timeout: 255 seconds]
mfiano has quit [Server closed connection]
mfiano has joined #commonlisp
easye has quit [Remote host closed the connection]
certainty has joined #commonlisp
easye has joined #commonlisp
davidt has joined #commonlisp
kagevf has quit [Ping timeout: 264 seconds]
certainty has quit [Ping timeout: 260 seconds]
les_ has quit [Server closed connection]
les has joined #commonlisp
skempf has quit [Server closed connection]
skempf has joined #commonlisp
certainty has joined #commonlisp
GreaseMonkey has quit [Remote host closed the connection]
greaser|q has joined #commonlisp
zetef has joined #commonlisp
davidt has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
enzuru has quit [Server closed connection]
enzuru has joined #commonlisp
dcb has quit [Quit: MSN Messenger 4.1.1]
pfdietz has quit [Ping timeout: 250 seconds]
rgherdt has joined #commonlisp
chomwitt has joined #commonlisp
igemnace has joined #commonlisp
aliosablack has joined #commonlisp
chomwitt has quit [Ping timeout: 268 seconds]
pve has joined #commonlisp
msavoritias has joined #commonlisp
famicom_guy has quit [Server closed connection]
famicom_guy has joined #commonlisp
zetef has quit [Ping timeout: 268 seconds]
zetef has joined #commonlisp
ixelp has quit [Server closed connection]
ixelp has joined #commonlisp
danieli has quit [Server closed connection]
danieli has joined #commonlisp
hexology has quit [Server closed connection]
hexology has joined #commonlisp
zetef has quit [Ping timeout: 260 seconds]
makomo has joined #commonlisp
zetef has joined #commonlisp
habamax has joined #commonlisp
thonkpod has quit [Server closed connection]
thonkpod has joined #commonlisp
Lord_of_Life has quit [Read error: Connection reset by peer]
jmdaemon has joined #commonlisp
Lord_of_Life has joined #commonlisp
thollief has joined #commonlisp
bendersteed has joined #commonlisp
donleo has joined #commonlisp
seanw has quit [Ping timeout: 240 seconds]
terrorjack has quit [Ping timeout: 246 seconds]
zetef has quit [Ping timeout: 245 seconds]
dino_tutter has joined #commonlisp
larix1 has quit [Ping timeout: 260 seconds]
larix has quit [Ping timeout: 260 seconds]
samebchase has quit [Ping timeout: 240 seconds]
shka has joined #commonlisp
samebchase has joined #commonlisp
semz has quit [Ping timeout: 240 seconds]
ryanbw has joined #commonlisp
semz has joined #commonlisp
kurfen has joined #commonlisp
kurfen_ has quit [Ping timeout: 268 seconds]
qhong_ has quit [Ping timeout: 240 seconds]
qhong has joined #commonlisp
terrorjack has joined #commonlisp
zetef has joined #commonlisp
danse-nr3 has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
anticrisis has quit [Read error: Connection reset by peer]
igemnace has joined #commonlisp
avocadoist has joined #commonlisp
overclucker_ has quit [Server closed connection]
overclucker has joined #commonlisp
griffinmb_ has quit [Server closed connection]
griffinmb_ has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
viaken has quit [Ping timeout: 240 seconds]
viaken has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 240 seconds]
mgl_ has joined #commonlisp
Equill has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<dnhester26> Hi, I'm trying to make an (un)Official Documentation for Common Lisp which will be complete containing a free (MIT License, unless anyone has any recommendations) HyperSpec, Tutorial, and How To Guides
<dnhester26> Someone just contributed the first guide in the tutorial, it's on Macros (because for us beginners we don't really know where to learn them)
<dnhester26> Can anyone please review what he wrote? https://github.com/lisp-docs/lisp-docs.github.io/pull/1/commits
<ixelp> Create macros.md by Homo-carbonis · Pull Request #1 · lisp-docs/lisp-docs.github.io · GitHub
<dnhester26> I can add you as a contributor to the project if you'd like
<dnhester26> beach would you mind taking a look?
<beach> Sure.
<beach> dnhester26: The free thing similar to the HyperSpec has already been done.
<beach> dnhester26: What we need is a language reference.
<beach> dnhester26: I am not sure what I am looking at at the link you gave.
<dnhester26> beach sorry, what's the difference exactly? I created the github project for that, but can you please write some instructions in the Readme.md to know how to contribute?
<dnhester26> That is supposed to be a guide to Macros for someone who is a beginner trying to learn LISP. Like how other languages have a Tutorial for example python: https://docs.python.org/3/tutorial/index.html
<ixelp> The Python Tutorial — Python 3.12.0 documentation
<beach> The HyperSpec is a HTML version of the standard, and the standard was written mainly for people who implement Common Lisp systems, so it is a bit too compact for the application programmer.
<beach> We don't need a tutorial either. There are plenty of those, in book form and online.
<beach> A language reference contains everything that a programmer need to know about the language, but it is not necessarily meant for the newbie.
<beach> I see a commit saying macros.md, but I don't know how to view the contents.
<beach> Oh, I can see the source. But how do I view the rendered version?
zetef has quit [Ping timeout: 260 seconds]
<beach> So, if I understand you right, you want me to proofread that text, yes?
<beach> But I am not the only one here who can proofread stuff, so it should be clear that everyone is invited to have a look.
<dnhester26> beach by clicking on the file name it opens the following link https://github.com/lisp-docs/lisp-docs.github.io/pull/1/commits/a44cb34624a569d263f8e62fbd44129788fbe99b
<ixelp> Create macros.md by Homo-carbonis · Pull Request #1 · lisp-docs/lisp-docs.github.io · GitHub
<dnhester26> yes, proofreading, thanks, sorry I didn't know who else to ask
<dnhester26> Ah, i didn't understand that part, thanks for explaining about the Reference. I will update the app for that
<beach> dnhester26: Most of the several hundred people here should have a look if possible.
<beach> When I open that link, I still get the source code. Is there a way I can see the rendered code?
<dnhester26> beach ok, I first asked the floor, but no one replied
<dnhester26> one second i'll check
<beach> I need to vanish for a few minutes (cooking).
random-nick has joined #commonlisp
<dnhester26> beach here it is: https://github.com/Homo-carbonis/lisp-docs.github.io/blob/patch-2/docs/macros.md found it by clicking on his version of the repo and just navigating towards the file he committed (in that branch). GitHub renders markdown by default when viewing a file
zetef has joined #commonlisp
<dnhester26> Add more commits by pushing to the patch-2 branch on Homo-carbonis/lisp-docs.github.io.
<dnhester26> beach Since you are an admin for the project, I believe per the instructions here: https://github.com/lisp-docs/lisp-docs.github.io/pull/1 you can add your own commits to his pull request by ""
<ixelp> Create macros.md by Homo-carbonis · Pull Request #1 · lisp-docs/lisp-docs.github.io · GitHub
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
<beach> It look more like tutorial material, and I think that's fine. Such material should not be rejected. But the emphasis should be on reference material.
<beach> It looks well written to me.
<beach> So, many pages of a reference manual can be obtained by starting with the dpANS and adding more examples (fixing the ones that are incorrect in the dpaANS), adding more explanations, and more links.
<beach> Therefore, a good starting point is to turn every section in the dpANS into Markdown, and to link up those pages.
<dnhester26> Great
<dnhester26> That's what I've been working, I was getting nervous that all the ours I've spent the last couple of days working on dpANS were lost
<dnhester26> Ok, will share that hopefully soon
<beach> For example, a typical page will say something like "if ..., then an error should be signaled", and "an error should be signaled" should either be a link to the page that explains the error terminology, or the phase should be expanded.
danse-nr3 has quit [Read error: Connection reset by peer]
<beach> I don't know whether Markdown has an "include" feature. If so, that would be another possibility. Write the terminology in one file, and then make sure it is rendered in several others.
danse-nr3 has joined #commonlisp
<beach> *the phrase
cstml has joined #commonlisp
rgherdt__ has joined #commonlisp
<beach> Oh, and the syntax on a typical page should probably be expanded into a phrase as well. "A form using this operator must supply a required argument .... and then an arbitrary number of optional arguments, each being ..." stuff like that.
rgherdt_ has quit [Ping timeout: 268 seconds]
<dnhester26> beach yes, we are actually using both classic MarkDown and MDX which is a version which allows MarkDown to include any other markdown pages or react components. It's in the tutorial page of docusaurus, but hopefully I should be able to take care of doing that or making examples of how to do it so you can just focus on the actual content
<beach> That would be great!
habamax has quit [Remote host closed the connection]
habamax has joined #commonlisp
zetef has quit [Ping timeout: 240 seconds]
cstml has quit [Ping timeout: 268 seconds]
pieguy128 has quit [Server closed connection]
pieguy128 has joined #commonlisp
larix has joined #commonlisp
larix1 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
lucerne has quit [Server closed connection]
lucerne has joined #commonlisp
alanz has quit [Server closed connection]
alanz has joined #commonlisp
jdz has quit [Server closed connection]
bendersteed has quit [Quit: bendersteed]
jdz has joined #commonlisp
jmdaemon has quit [Ping timeout: 260 seconds]
kurfen has quit [Ping timeout: 260 seconds]
kurfen has joined #commonlisp
tyson2 has joined #commonlisp
dnhester26 has joined #commonlisp
patrix has quit [Server closed connection]
patrix has joined #commonlisp
antoszka has quit [Server closed connection]
antoszka has joined #commonlisp
vxe420 has quit [Server closed connection]
vxe420 has joined #commonlisp
jonatack has joined #commonlisp
splittist has quit [Server closed connection]
splittist has joined #commonlisp
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1.90)]
gnoo has quit [Ping timeout: 246 seconds]
danse-nr3 has quit [Ping timeout: 260 seconds]
gnoo has joined #commonlisp
nonagonal has quit [Server closed connection]
nonagonal has joined #commonlisp
tibfulv has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
tibfulv has joined #commonlisp
Demosthenex has quit [Server closed connection]
Demosthenex has joined #commonlisp
pfdietz has joined #commonlisp
dcb has joined #commonlisp
kopiyka_ has joined #commonlisp
kopiyka has quit [Read error: Connection reset by peer]
msavoritias has quit [Ping timeout: 268 seconds]
hrberg has quit [Server closed connection]
hrberg has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
moon-child has quit [Server closed connection]
moon-child has joined #commonlisp
lucasta has joined #commonlisp
danse-nr3 has quit [Ping timeout: 240 seconds]
danse-nr3 has joined #commonlisp
ares has joined #commonlisp
ares has left #commonlisp [#commonlisp]
lucasta has quit [Client Quit]
ares123 has joined #commonlisp
cstml has joined #commonlisp
<ares123> hi, guys, anyone with a bit of esrap experience ? I can't get (+ <rule>) to do repetition / it matches only the first match and then errors out.
<ares123> >  (es:parse '(+ character) ".a")
<ares123> errors out after accepting the dot :-(
<ares123> (sbcl 2.3.8 win x64; updated quicklisp & ultralisp)
<kevingal_> I run (esrap:parse '(+ character) ".a") and it works for me.
drakonis has quit [Server closed connection]
<ares123> fuck my PC / life. why do I get every wierd un-reproducible bug :-(
<ares123> thanks for the confirmation kevingal_
<kevingal_> Linux, SBCL 1.4.5
drakonis has joined #commonlisp
<kevingal_> What's the error?
<ares123> At
<ares123>   .a
<ares123>    ^ (Line 1, Column 1, Position 1)
<ares123> In context CHARACTER:
<ares123> While parsing CHARACTER. Expected:
<ares123>      <end of input>
<ares123>    [Condition of type ES:ESRAP-PARSE-ERROR]
resttime has quit [Server closed connection]
cstml has quit [Ping timeout: 252 seconds]
resttime has joined #commonlisp
jfloren has quit [Server closed connection]
jfloren has joined #commonlisp
younder has joined #commonlisp
bendersteed has joined #commonlisp
<ares123> Oh, my + was from generic-cl ...
<ares123> > (es:parse '(cl:+ character) ".a")
<ares123> works as expected.
<ares123> Still don't like it, but what can I do ...
<jdz> ares123: You can use ES:+ instead.
<jdz> You'd still have to do that for other expressions, like !, ?, etc.
<ares123> Not much better, but slightly. Going by symbol name would probably break some use-cases ?
<ares123> Yeah, exactly. Any way one could "have generic-cl and eat it too :-)" ?
<ares123> ooooh, let's try :+ , LOL
<ares123> doesn't work, but is shorter and unique / obvious.
<ares123> anyone adding support for keywords would be worth implementing ?
<ares123> s/anyone adding/anyone thinks adding/
<younder> (unless (find-package :cl-package-locks) (asdf:load-system :cl-package-locks)) runs too late. What is the command to make it run before the compiler compiles te function declarations?
dnhester26 has quit [Remote host closed the connection]
<ares123> eval-when ?
<younder> ares123: right. (eval-when (:load-toplevel) ...) get there before the compilation. Thanks!
<beach> younder: What is the problem here? It is hard to understand (for me) because you are talking about "commands" but perhaps you mean forms, and you are talking about compiling "function declarations", but declarations are not what gets compiled, because they are not forms. Perhaps you mean "function definitions"?
prokhor has quit [Remote host closed the connection]
waleee has joined #commonlisp
<younder> beach: Perhaps a bit of context. I was getting errors like 'Package INFERIOR-SHELL does not exist.' when compiling utils.lisp even though (unless (find-package :inferior-shell) (asdf:load-system :inferior-shell)) were present. I knew there was a way to get them evaluated first, but was a bit weak on the details.
<beach> I see. Well, it looks like you solved your problem.
<ares123> since you are using asdf anyways, maybe this could be solved in the .asd system definition (unless the file needs to be LOADable standalone)?
<younder> ares123: Well that's the thing. It's used as a standalone file I load mostly to prototype. It has enter-playpen/leave-playpen functions which set up a new namspace that goes away when I leave. Thus avoiding cluttering the global namespace with temporary data.
<younder> For convenience it also has commands like (! "ls" )
Krystof has quit [Ping timeout: 264 seconds]
mustafa has quit [Server closed connection]
mustafa has joined #commonlisp
danse-nr3 has quit [Ping timeout: 260 seconds]
hernan has quit [Server closed connection]
hernan has joined #commonlisp
danse-nr3 has joined #commonlisp
aliosablack has quit [Ping timeout: 268 seconds]
xantoz has quit [Server closed connection]
xantoz has joined #commonlisp
danse-nr3 has quit [Ping timeout: 245 seconds]
danse-nr3 has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
lagash has quit [Ping timeout: 260 seconds]
theothornhill has quit [Server closed connection]
theothornhill has joined #commonlisp
theesm has quit [Server closed connection]
theesm has joined #commonlisp
Inline has quit [Quit: Leaving]
Inline has joined #commonlisp
<ares123> younder: the only thing that occured to me was that you probably already have a "shortcut / loader" function in your init-file to "load & enter-playpen" ?
<ares123> otherwise just: nice / thanks for the inspiration, creating a "scratch project" might be too heavy-weight for some cases, and just "create an .lisp file" is "too lightweight for most purposes"
<ares123> but cl-project & other scaffolding generators are pretty sweet / low-cost.
ecraven has quit [Server closed connection]
ecraven has joined #commonlisp
notzmv has joined #commonlisp
Irvise has quit [Server closed connection]
Irvise has joined #commonlisp
varjag has joined #commonlisp
zetef has joined #commonlisp
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<kevingal_> Is it possible to hook into calls to DEFCLASS? I wanna save the class name whenever a subclass of a particular superclass is defined.
<ares123> MOP / meta-object protocol should cover this
<beach> kevingal_: Yes, as ares123 says, with the MOP. The expansion calls ENSURE-CLASS which calls ENSURE-CLASS-USING-CLASS.
<beach> ::mop ensure-class
<ixelp> ensure-class
<beach> ::mop ensure-class-using-class
<ixelp> ensure-class-using-class
<kevingal_> Thanks a lot! I was looking at MOP but didn't come across ENSURE-CLASS.
shunter has quit [Server closed connection]
<beach> You means you looked in the book?
shunter has joined #commonlisp
<beach> The book is impossible to follow. That's why I made this website.
<beach> I mean, the specification part of the book.
khrbtxyz has quit [Server closed connection]
<younder> 'The art of Metaobject protocol' is also out of print
<kevingal_> I was browsing random websites, decided to ask here before resorting to the book. So thanks for saving me from the impossible-to-follow book!
<beach> kevingal_: Sure. Enjoy the site. There is a nice class diagram too! :)
haku has quit [Server closed connection]
haku has joined #commonlisp
rdrg109 has quit [Server closed connection]
rdrg109 has joined #commonlisp
mrvdb has quit [Server closed connection]
mrvdb has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
khrbtxyz has joined #commonlisp
<ares123> younder: AMOP might be out of print, but "it might be *cough* downloadable *cough*". or check amazon, or go through the ordeal of figuring out which library might have a copy or two. Archive.org (and/or others) ran a "free PDF rental", AFAIR.
<ares123> s/amazon/ebay/
ronald has quit [Ping timeout: 245 seconds]
jfh has joined #commonlisp
<younder> ares123: I already have a copy
<ares123> oh, sorry, I jut assumed you were lamenting the fact.
tertek has quit [Server closed connection]
tertek has joined #commonlisp
<kevingal_> Am I using this right? Here my goal is to print out the superclasses of any class that gets defined, but it's not working.
<kevingal_> (defmethod closer-mop:ensure-class-using-class :after (class name &key direct-superclasses &allow-other-keys)
<kevingal_> (loop for sc in direct-superclasses do (format t "~a~%" sc)))
<kevingal_> (Sorry for pasting code here).
<bike> defining a method that's applicable when given all objects of standard classes is not permitted. your implementation may be applying some optimization that bypasses your method.
<beach> kevingal_: You are not allowed to define methods that are applicable when given only specified class instances.
zetef has quit [Ping timeout: 240 seconds]
<ares123> I wanted to say you probably wanna specify which class it should apply to, but hey, #cl was faster and better ;-)
<ares123> That's why I hang out after asking what I came for ;-)
chomwitt has joined #commonlisp
dino_tutter has quit [Ping timeout: 260 seconds]
<bike> also, with respect to your original problem, you can use class-direct-subclasses to get all defined subclasses of your class, without having to hook anything.
<bike> may or may not help.
tyson2 has joined #commonlisp
ares123 has quit [Ping timeout: 250 seconds]
<kevingal_> Hm, so can I somehow define the method only for subclasses of a particular class?
bendersteed has quit [Quit: bendersteed]
ec has quit [Remote host closed the connection]
<kevingal_> I mean, dispatch on subclasses of a certain class.
ec has joined #commonlisp
<beach> You may have to define a new metaclass for your classes to do that.
jonatack has quit [Ping timeout: 268 seconds]
prokhor has joined #commonlisp
phantomics has quit [Server closed connection]
phantomics has joined #commonlisp
zetef has joined #commonlisp
sgithens_ has quit [Server closed connection]
pl has quit [Read error: Connection reset by peer]
pl has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
contrapunctus has quit [Server closed connection]
contrapunctus has joined #commonlisp
sgithens_ has joined #commonlisp
<kevingal_> I might have to abandon this effort for now, don't have time to get sucked into the details of MOP. Thanks for the pointers though!
hayley has quit [Server closed connection]
hayley has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
rgherdt__ is now known as rgherdt
MetaYan has quit [Server closed connection]
pfdietz has quit [Quit: Client closed]
MetaYan has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
msavoritias has joined #commonlisp
<beach> Pleasure.
<lispmacs[work]> can we attach docstrings to class definitions and class methods?
<beach> Yes, to classes. There is no such thing as a "class method".
phadthai has quit [Server closed connection]
phadthai has joined #commonlisp
<beach> ::clhs defmethod
<ixelp> CLHS: Macro DEFMETHOD
<beach> As you can see, you can put a documentation string in the method body.
<beach> ::clhs defclass
<ixelp> CLHS: Macro DEFCLASS
<lispmacs[work]> for the class, where exactly is the docstring added?
<beach> As you can see, there is a :documentation class option.
<lispmacs[work]> ah, okay
jonatack has joined #commonlisp
dnhester26 has joined #commonlisp
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
kevingal has quit [Ping timeout: 240 seconds]
kevingal_ has quit [Ping timeout: 240 seconds]
jonatack has quit [Ping timeout: 268 seconds]
jonatack has joined #commonlisp
lagash has joined #commonlisp
cayley5 has quit [Server closed connection]
cayley5 has joined #commonlisp
danse-nr3 has quit [Ping timeout: 245 seconds]
ronald_ has joined #commonlisp
zetef has quit [Ping timeout: 240 seconds]
pfdietz has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<lispmacs[work]> can the class documention come before the slots, with DEFCLASS? It seems that they must be after the slots, but it would be more readible in the source code to have them first
<lispmacs[work]> to have the class documentation first, I meant
<Shinmera> you can't
<Shinmera> but you can have docstrings completely separate from the definition
<Shinmera> (which happens to be beach's and mine preferred style)
tyson2 has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
<pfdietz> Assigning to (documentation ....)?
zetef has joined #commonlisp
cstml has joined #commonlisp
<beach> Right.
cstml has quit [Client Quit]
<lispmacs[work]> Shinmera: do you just assign with DOCUMENTATION right after your DEFCLASS then?
<Shinmera> No, I keep a separate documentation.lisp file. You can see it on all of my libraries
<lispmacs[work]> can you give me a link to an example?
<Shinmera> https://github.com/shinmera ain't hard to find, c'mon son
<ixelp> Shinmera (Yukari Hafner) · GitHub
cstml has joined #commonlisp
<mgl_> There are benefits to keeping the documentation close to what it documents.
<Shinmera> And there are drawbacks
ggb has quit [Server closed connection]
ggb has joined #commonlisp
zoglesby has quit [Server closed connection]
jrm has quit [Quit: ciao]
zoglesby has joined #commonlisp
<mgl_> Sure. What are the important drawbacks for you?
igemnace has joined #commonlisp
jrm has joined #commonlisp
mhcat has quit [Server closed connection]
mhcat has joined #commonlisp
yitzi has joined #commonlisp
Schnouki has quit [Server closed connection]
Schnouki has joined #commonlisp
<lispmacs[work]> I downloaded "trial" but the documentation.lisp file is really short
<lispmacs[work]> I'm confused on how to use DOCUMENTION on a class. can somebody give a simple fake example?
dino_tutter has joined #commonlisp
danse-nr3 has joined #commonlisp
zetef has quit [Ping timeout: 268 seconds]
pvac has quit [Server closed connection]
pvac_ has joined #commonlisp
pvac_ is now known as pvac
paulapatience has quit [Server closed connection]
paulapatience has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<Inline> (defclass (inherit-from) ((slots)) -> (defclass (inherit-from) ((:slot1....)(:slot2)....(:documentation "blah"))
<Inline> each slot can have a :documentation on it's own too, if you want to document the slots too i.e.
<lispmacs[work]> i meant using DOCUMENTATION function separate from DEFCLASS
<Inline> oh, sorry
<lispmacs[work]> I see it the spec page but am still confused
<Inline> yah, no wonder, it's gf, and there are no examples there
<Inline> so when you have a gf, you implement methods
<Inline> which dispatch on the object instance of interest
<yitzi> There are examples in CLHS, at least for getting the top level documentation of the class. You just call on the class instance.
seanw has joined #commonlisp
seanw has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<yitzi> For the slot documentation you just call on the on the slot instances returned from mop:class-slots
seanw has joined #commonlisp
<yitzi> You can also do `(documentation class-name 'type)`
<lispmacs[work]> so, something like... (documentation (find-class 'h1500-screen) 'string) ?
<lispmacs[work]> but 'string is apparently unsupported
<lispmacs[work]> "unsupported DOCUMENTATION: doc-type STRING for object of type STANDARD-CLASS"
<yitzi> No, either `(documentation 'stream 'type)` or `(documentation (find-class 'stream) t)`
<lispmacs[work]> ah, okay
attila_lendvai has joined #commonlisp
<lispmacs[work]> and then I would need to use SETF to set this to my own string...?
<yitzi> If you look at the method signatures in the CLHS for standard class you will see there are two specializations for doc-type: (eql 't) and (eql 'type)
<yitzi> Correct
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
sherbert has quit [Server closed connection]
sherbert has joined #commonlisp
edr has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danse-nr3 has quit [Ping timeout: 260 seconds]
danse-nr3 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
molson has quit [Server closed connection]
molson has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
lucasta has joined #commonlisp
anticrisis has joined #commonlisp
tyson2 has joined #commonlisp
gxt has quit [Remote host closed the connection]
triffid has quit [Remote host closed the connection]
ec_ has joined #commonlisp
triffid has joined #commonlisp
gxt has joined #commonlisp
danse-nr3 has quit [Ping timeout: 260 seconds]
ec has quit [Ping timeout: 264 seconds]
amb007 has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
payphone has quit [Server closed connection]
payphone has joined #commonlisp
dnhester26 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
Jach has quit [Server closed connection]
Jach has joined #commonlisp
inline__ has joined #commonlisp
Inline has quit [Ping timeout: 260 seconds]
inline__ is now known as inline
jonlevin has quit [Server closed connection]
jonlevin has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
attila_lendvai has quit [Ping timeout: 246 seconds]
attila_lendvai has joined #commonlisp
zyd has quit [Server closed connection]
zyd has joined #commonlisp
sm2n has quit [Server closed connection]
sm2n has joined #commonlisp
jmbr has quit [Server closed connection]
jmbr has joined #commonlisp
msavoritias has quit [Ping timeout: 240 seconds]
zoglesby has left #commonlisp [ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
danza has joined #commonlisp
Perflosopher has quit [Server closed connection]
Perflosopher has joined #commonlisp
whereiseveryone has quit [Server closed connection]
whereiseveryone has joined #commonlisp
edgar-rft has quit [Server closed connection]
edgar-rft has joined #commonlisp
certainty has quit [Ping timeout: 260 seconds]
brettgilio has quit [Server closed connection]
brettgilio has joined #commonlisp
buffet has quit [Server closed connection]
artyn has quit [Server closed connection]
artyn has joined #commonlisp
buffet has joined #commonlisp
lucasta has quit [Quit: Leaving]
Krystof has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
jasom has quit [Server closed connection]
jasom has joined #commonlisp
smlckz has quit [Ping timeout: 264 seconds]
danza has quit [Ping timeout: 268 seconds]
mcoll has quit [Server closed connection]
mcoll has joined #commonlisp
srhm has quit [Server closed connection]
srhm has joined #commonlisp
tyson2 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
alethkit has quit [Server closed connection]
alethkit has joined #commonlisp
certainty has joined #commonlisp
certainty has quit [Ping timeout: 240 seconds]
igemnace has quit [Remote host closed the connection]
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
chiheisen has quit [Server closed connection]
chiheisen has joined #commonlisp
skin has quit [Server closed connection]
skin has joined #commonlisp
zetef has joined #commonlisp
thollief has quit [Quit: Leaving]
Oladon has joined #commonlisp
zetef has quit [Ping timeout: 260 seconds]
zetef has joined #commonlisp
cage has joined #commonlisp
rselim has quit [Server closed connection]
rselim has joined #commonlisp
akoana has joined #commonlisp
hide-difference has quit [Remote host closed the connection]
jmdaemon has joined #commonlisp
certainty has joined #commonlisp
certainty has quit [Ping timeout: 268 seconds]
inline has quit [Remote host closed the connection]
X-Scale has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.1]
notzmv has quit [Ping timeout: 240 seconds]
Grauwolf has quit [Server closed connection]
Grauwolf has joined #commonlisp
larix has quit [Ping timeout: 240 seconds]
larix1 has quit [Ping timeout: 252 seconds]
attila_lendvai has quit [Ping timeout: 260 seconds]
cpli has quit [Server closed connection]
cpli has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
habamax has joined #commonlisp
shka has quit [Ping timeout: 240 seconds]
zetef has quit [Read error: Connection reset by peer]
kevingal has quit [Ping timeout: 260 seconds]
kevingal_ has quit [Ping timeout: 260 seconds]
jladd has quit [Server closed connection]
certainty has joined #commonlisp
X-Scale has joined #commonlisp
jladd has joined #commonlisp
habamax has quit [Remote host closed the connection]
inline has joined #commonlisp
certainty has quit [Ping timeout: 260 seconds]
\f has quit [Server closed connection]
\f has joined #commonlisp
mgl_ has quit [Ping timeout: 252 seconds]
inline has quit [Remote host closed the connection]
chomwitt has quit [Ping timeout: 240 seconds]
pfdietz has quit [Quit: Client closed]
inline has joined #commonlisp
habamax has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
habamax has quit [Remote host closed the connection]
habamax has joined #commonlisp
certainty has joined #commonlisp
nathanb has quit [Server closed connection]
nathanb has joined #commonlisp
certainty has quit [Ping timeout: 256 seconds]
inline has quit [Remote host closed the connection]
hayley has quit [Changing host]
hayley has joined #commonlisp
akoana has quit [Quit: leaving]
inline has joined #commonlisp
bh34e5 has joined #commonlisp
pfdietz has joined #commonlisp
dino_tutter has quit [Ping timeout: 245 seconds]
X-Scale has quit [Quit: Client closed]
rgherdt has quit [Quit: Leaving]
mathrick has quit [Server closed connection]
mathrick has joined #commonlisp
X-Scale has joined #commonlisp
X-Scale has quit [Client Quit]
dnhester26 has quit [Remote host closed the connection]
random-nick has quit [Ping timeout: 268 seconds]
puke has quit [Ping timeout: 240 seconds]