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/> | News: ELS'22 this Monday (2022-03-21), see https://european-lisp-symposium.org
bilegeek has quit [Ping timeout: 240 seconds]
bilegeek has joined #commonlisp
Colleen has quit [Read error: Connection reset by peer]
Colleen has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
bilegeek has quit [Quit: Leaving]
orestarod has quit [Ping timeout: 244 seconds]
Volt_ has quit [Ping timeout: 248 seconds]
Volt_ has joined #commonlisp
bilegeek has joined #commonlisp
knusbaum has quit [Quit: ZNC 1.8.2 - https://znc.in]
notzmv has quit [Ping timeout: 248 seconds]
knusbaum has joined #commonlisp
Oladon has quit [Quit: Leaving.]
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life has joined #commonlisp
ChibaPet is now known as mason
waleee has quit [Ping timeout: 248 seconds]
<dbotton> I may have asked before, does anyone know of a package for manipulating asd files (loading and most importantly saving them, adding dependancies, components (files))?
<dbotton> this would be more about file manipulation as do not want to alter the files beyond the ability to add or remove dependancies and components
<dbotton> and who knows what is in their asd files
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
jolby has joined #commonlisp
jolby has quit [Client Quit]
jmdaemon has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
<dbotton> looking through asdf docs towards what I need to do. What is a :module and :static-file component type?
Bike has quit [Quit: Lost terminal]
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 240 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
notzmv has joined #commonlisp
Volt_ has quit [Quit: ]
<beach> Good morning everyone!
bilegeek has quit [Quit: Leaving]
tyson2 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
anticomputer_ has quit [Remote host closed the connection]
__gyr has quit [Ping timeout: 248 seconds]
anticomputer has joined #commonlisp
lisp123 has joined #commonlisp
paul0 has joined #commonlisp
<mfiano> dbotton: the system definition is a tree of modules, with the root being the defsystem itself.
<dbotton> so a component module is a dependency statement?
<mfiano> any module level parameters can be defined for submodules, and asdf can treat submodules as sub-directories on the filesystem.
<mfiano> It can be. It doesn't have to be.
<dbotton> not sure I fully understand
<mfiano> It is a way to group related files together and define different asdf options for them, such as :serial, :dependencies, :components, etc
<mfiano> Modules form a tree structure.
<mfiano> This is all explained in the manual if I am not making much sense.
rainthree has joined #commonlisp
<dbotton> ok, so a logical directory to files
<dbotton> i didn't see anything about modules why asking
<dbotton> same for :static-file
<mfiano> 6.2 has an example snippet
<mfiano> The toplevel defsystem form is an implicit module itself.
<dbotton> got it, so logical tree of file components
thomaslewis has joined #commonlisp
<mfiano> Assuming you have :file components in a module, then yes. components can be customized to be anything.
<dbotton> and :static-file
<dbotton> it seems just any file, is that for documentation purposes? what would be the point of some raw data file as a component?
<dbotton> I see can also be a lisp file, is that compiled if is?
<mfiano> Check out the BNF grammar description. You can see that anything you can declare for a defsystem can also be declared for a module, such as version, description, etc etc.
<mfiano> Including children modules
<mfiano> This is because the defsystem forms an implicit module of its own.
<mfiano> Not that some options are not transitive. :serial for example does not apply to children modules. I brought this up as an issue a while ago, and they are hesitant to change it because it would break a lot of existing code.
<mfiano> s/Not/Note/
<mfiano> dbotton: asd files are never COMPILE'd, only LOAD'd.
<dbotton> they define what is to be compiled no?
<dbotton> I understand it is only loaded.
<mfiano> I don't understand what you mean. Not all files can be compiled.
<mfiano> asdf is a build system, which may manage other non-lisp files, or anything at all, since it is extensible with generic functions.
<dbotton> that is my question, so what would someone include a :static-file ("README")
<mfiano> Infact, :static-file is one builtin for non-lisp files.
<dbotton> right, so what does it do with :static-file?
<mfiano> To make it part of the asd object to process by extension with one of the asdf generic functions, etc
<mfiano> ANything you desire.
<dbotton> So it is there for documentation that it is part of the system?
<dbotton> I assume there is no built in operation for README
<mfiano> No, you are not listening.
<dbotton> not understanding for sure yes
<mfiano> It is for depending on non-lisp files or directories. asdf has generic functions that can operate on components, define new components, etc.
<mfiano> Maybe you want to add a static-file that is not lisp code and transform it into lisp code when loaded.
<mfiano> You can do anything you want with the asdf extension mechanism
<dbotton> ok, so there is no built in action for it, I would have to define one
Josh_2 has quit [Remote host closed the connection]
<mfiano> I'm not sure. You will have to check what methods are defined for that component type.
Josh_2 has joined #commonlisp
<dbotton> since state-file just is a file name it is using file extensions to know what component type it is?
<mfiano> No. :static-file requires a file extension, and if one is not given, it refers to a directory pathname.
causal has quit [Quit: WeeChat 3.5]
<dbotton> an example in the doc is (:static-file "LICENCE")
<dbotton> I don't think a directory was intended
<mfiano> Note that it doesn't have to be a file. It is just a pathname, which you can use to create a file/files with.
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
<mfiano> asdf is just very extensible and well thought out. There is no concrete answer to most of your questions. The only thing I can say is it does what you tell it to do.
karlosz has joined #commonlisp
<dbotton> ok, thank you. It does seem like I should be able to include builder files as components *,clog files to then generate lisp and compile them which would be cool'
<dbotton> I'll keep reading and testing things. thanks
saura has joined #commonlisp
karlosz has quit [Quit: karlosz]
azimut has joined #commonlisp
saura has quit [Ping timeout: 260 seconds]
saura has joined #commonlisp
saura has quit [Ping timeout: 240 seconds]
jack_rabbit has joined #commonlisp
knusbaum has quit [Ping timeout: 260 seconds]
rotateq has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
leo_song has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
saura has joined #commonlisp
saura has quit [Remote host closed the connection]
saura has joined #commonlisp
leo_song has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
leo_song has joined #commonlisp
saura has quit [Ping timeout: 276 seconds]
leo_song has quit [Client Quit]
leo_song has joined #commonlisp
leo_song has quit [Client Quit]
leo_song has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
leo_song has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
leo_song has joined #commonlisp
leo_song has quit [Client Quit]
leo_song has joined #commonlisp
leo_song has quit [Client Quit]
leo_song has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
shka has joined #commonlisp
vassenn has joined #commonlisp
leo_song has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
leo_song has joined #commonlisp
leo_song has quit [Remote host closed the connection]
leo_song has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
thomaslewis has left #commonlisp [#commonlisp]
szkl has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
thomaslewis has joined #commonlisp
prokhor__ has joined #commonlisp
<mfiano> Any known utility functions to eat the beginning of a string until a certain character, allocating a new string, or should I just write my own two-line function? ex: (chomp-until "foo-bar-baz-qux" #\-) ; => "bar-baz-qux"
<Josh_2> mfiano: gonna check out that book you mentioned :thumbsup:
<Josh_2> Its a scheme book, very cool :)
aartaka has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
dec0d3r has joined #commonlisp
<Alfr> mfiano, have a look at peek-char when peek-type is a character.
pjb has joined #commonlisp
<Alfr> mfiano, hm ... string not stream.
lisp123 has quit [Remote host closed the connection]
ttree has quit [Ping timeout: 258 seconds]
thomaslewis has joined #commonlisp
<jdz> mfiano: In Emacs the function is called `zap-to-char'.
thomaslewis has left #commonlisp [#commonlisp]
rainthree has quit [Ping timeout: 260 seconds]
lisp123 has joined #commonlisp
saura has joined #commonlisp
leo_song has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
anticomputer has quit [Remote host closed the connection]
leo_song has joined #commonlisp
<contrapunctus> mfiano: at a cursory glance, I couldn't find anything in STR, Serapeum, or Alexandria
anticomputer has joined #commonlisp
saura has quit [Ping timeout: 240 seconds]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
rainthree has joined #commonlisp
aartaka has joined #commonlisp
<pjb> mfiano: do you really need a library for: (subseq string (or (position char string) (length string))) ???
<mfiano> Nobody can read it seems.
<splittist> or perhaps the problem statement is unclear. What is in the newly allocated string?
<pjb> (let ((string "Hello World") (char #\space)) (subseq string (or (position char string) (length string))) ) #| --> " World" |#
* splittist finally reads the example ...
<mfiano> The problem statement included that it is a trivial 2-line function (including the defun/lambda-list).
<mfiano> I was simply asking if a utility existed.
<pjb> Examples are not normative. You didn't say until after, you said until.
<pjb> But it's trivial to add 1+ ! (let ((string "Hello World") (char #\space)) (subseq string (1+ (or (position char string) (1- (length string)))))) #| --> "World" |#
<mfiano> Forget it
<mfiano> This is too noisy and not answering the question. contrapunctus had the best answer.
<mfiano> Thanks contrapunctus
<Josh_2> mfiano: perhaps you can use #'str:split ... :count 1 ?
<Josh_2> (str:split #\- "foo-bar-quux" :limit 2) -> ("foo" "bar-quux")
<lisp123> _death: Thanks for your help on reddit re Zipper, that data structure is like fine wine :perfect:
<lisp123> I'm not a big fan of the str library because it switches around the order of the arguments IIRC
<lisp123> Although that example did teach me to be very careful and follow existing norms around API usage
Algernon69 has joined #commonlisp
<hayley> That library uses regular expressions when you least expect it, a bit like Java from memory.
<hayley> I once got an assignment at university where they used a delimiter character which was used for regex syntax, so just calling .split() wouldn't work. Fun times.
<lisp123> hayley: oh do most split() implementations rely on regex?
<hayley> Usually not.
<lisp123> Ah ok
<hayley> I had meant that .split in Java lets you use a regex to specify delimiters, and not just one string. I remembered that some cl-str functions would use regexp when you didn't expect them, but I remembered wrong.
<lisp123> (sorry for my lack of understanding), but if you supply regex to specify delimiters, wouldn't the algorithm need to use regex to do the split in some way?
<lisp123> Otherwise, how would you match on the delimiter
Algernon69 has quit [Quit: Leaving]
vassenn has quit [Quit: Good bye!]
anticomputer has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 240 seconds]
<hayley> It would.
<hayley> I mean, if you split on just one string, you don't need a regex engine. If you split on a regex, you probably will need a regex engine.
anticomputer has joined #commonlisp
prokhor_ has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
prokhor__ has quit [Ping timeout: 260 seconds]
treflip has joined #commonlisp
manykwh has quit [Quit: loosening the belt]
Josh_2 has quit [Remote host closed the connection]
subpsunym has quit [Quit: brb]
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
subpsunym has joined #commonlisp
mon_aaraj has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
random-nick has joined #commonlisp
mon_aaraj has quit [Ping timeout: 260 seconds]
mon_aaraj has joined #commonlisp
lisp123 has joined #commonlisp
axel-bee has joined #commonlisp
<lisp123> hayley: thanks
axel-bee has quit [Remote host closed the connection]
citizenandrew has quit [Quit: Client closed]
pranavats has joined #commonlisp
mixotricha has joined #commonlisp
Th30n has joined #commonlisp
<jackdaniel> o/
aartaka has quit [Ping timeout: 240 seconds]
<hayley> \o
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 260 seconds]
<jmes> What is the difference between :keyword and #:keyword?
<mfiano> One is a symbol interned in the keyword package and one is a symbol not interned
<jmes> I see, so #:keyword is not interned in the keyword package? What is a possible benefit of this?
<mfiano> When a symbol is read, it is interned into the current package. If you use uninterned symbols, you don't pollute any package, which might help with things like completion systems not returning results you don't want, and for writing macros.
<mfiano> Among many other uses
MajorBiscuit has joined #commonlisp
<mfiano> Two uninterned symbols of the same name have different identities, because they are not stored anywhere, unless you do so yourself manually.
<mfiano> Try (eq '#:keyword '#:keyword) for example
<jmes> mfiano: Thanks, I understand that bit but maybe I'm shortsighted about what you may use keywords for. I thought they would only be used to basically represent themselves so I am myopically missing the benefit of two keywords with different identities
<jackdaniel> uninterned symbol is not a keyword
<jackdaniel> a keyword is a symbol in keyword package, i.e :foobar (but not #:quxbar)
<jmes> oh, so I'd call #:a an uninterned symbol and :b a keyword, gotcha jackdaniel
<jackdaniel> purpose of keywords is convenience - when you have named parameters in a lambda list, like
<mfiano> (symbol-package :foo)
<jackdaniel> (defun xxx (a b &key c) …)
<mfiano> (symbol-package '#:foo)
<jackdaniel> then you type (xxx 1 2 :c 42)
aartaka has joined #commonlisp
<jackdaniel> but if you had used a parameter that is not in the keyword package, if you were in a different package, then you'd need to write (xxx 1 2 'the-second-package:c 42)
<jmes> jackdaniel: Yes, that's the benefit of keywords, in the keyword package
<mfiano> There are only keywords in the keyword package
<jmes> sorry
<mfiano> There are no other kinds of keywords
<mfiano> Except loop keywords as they are called, which can be in any package.
<jmes> I mean to ask what the benefits are to uninterned symbols, other than not cluttering a namespace
<mfiano> Macro hygeine
<mfiano> (make-gensym "FOO")
<mfiano> returns an uninterned symbol
<mfiano> Sorry
<jackdaniel> ah, well, they are not often used, but consider that you write a macro. then you don't want to use some known symbol 'foo, because if you use twice this macro, then the second definition will overwrite the previous one
<mfiano> (gensym "FOO")
<jackdaniel> that's why you use a function gensym like mfiano says, that returns an uninterned symbol
<jmes> mfiano: right, that makes sense!
<jmes> jackdaniel: gotcha, I wasn't thinking lispy enough.. I should've realized that macros are users of lisp features.. I was only thinking as someone who uses gensym, not as gensym :P
<jmes> mfiano, jackdaniel: Well sorry for that, and thanks for helping me get it!
<mfiano> Anytime
* jackdaniel wonders why are you sorry
* jmes is Canadian
<jmes> ;)
Oddity has quit [Ping timeout: 260 seconds]
<TMA> jmes: that's not something to be ashamed of I guess ;)
lisp123 has quit [Remote host closed the connection]
thuna` has joined #commonlisp
Oddity has joined #commonlisp
mixotricha has quit [Quit: Client closed]
aartaka has quit [Ping timeout: 255 seconds]
lisp123 has joined #commonlisp
Josh_2 has joined #commonlisp
Oddity has quit [Ping timeout: 276 seconds]
<Josh_2> I am trying to quickload my project and quicklisp is just stopping
<Josh_2> its hanging
lisp123 has quit [Ping timeout: 248 seconds]
<Josh_2> Huh
<Josh_2> a macro I have written is causing the compiler to hang... how strange
<jackdaniel> perhaps infinite recursion in macroexpansion?
<Josh_2> This is the macro (defmacro with-env (variables status &body body)`(destructuring-bind (&key ,@(mapcan #'identity variables) &allow-other-keys) (env ,status)(locally ,@body)))
<Josh_2> (with-env ((object)) status ..) no hanging. (with-env ((object)(type)(field)) status..) hangs
jmdaemon has quit [Ping timeout: 246 seconds]
zak1 has quit [Quit: WeeChat 3.5]
orestarod has joined #commonlisp
<Josh_2> Well I changed the macro to remove to change from ((object)(type) ..) to just (object type ..) and it works :shrug:
zak1 has joined #commonlisp
aartaka has joined #commonlisp
zak1 is now known as z4kz
aartaka has quit [Ping timeout: 246 seconds]
Bike has joined #commonlisp
aartaka has joined #commonlisp
<Bike> Josh_2: mapcan uses nconc, so that version with alter the literal code data, which can cause various issues.
<Bike> version will*
<Josh_2> huh
aartaka has quit [Read error: Connection reset by peer]
<Josh_2> Well I will assume that was the problem, even though the expansions were correct
aartaka has joined #commonlisp
<beach> jmes: To me, the main benefit over an uninterned symbol versus a keyword symbol when both will work, is that with an uninterned symbol, you are clearly communicating to the person reading your code that the package of the symbol is not important; only its name.
<beach> *the main benefit of an uninterned...
<beach> jmes: The argument that you avoid "polluting the keyword package" is of course valid as well, but not as important.
<jackdaniel> somewhat orthogonal, but why don't people use a string for the package name instead?
<jackdaniel> or, to be more exact, they rarely use a string
<beach> You could do that, but I personally find it ugly that you would type "NAME" in capital letters, say when you :USE a package, but then you use "name:" with lower-case letters as a package prefix.
<beach> Same thing for exported symbols.
<jackdaniel> I see
waleee has joined #commonlisp
<contrapunctus> I was just about to ask about that. So far I've been using :keywords for everything in my defpackage forms, but I've been facing a problem that goes something like - 1. I use an unqualified symbol in some code without importing it to the package 2. I get an error about it, so I fix the package definition 3. I get an error about the package definition introducing conflicting symbols (I choose the
<contrapunctus> shadow restart, as PCL suggests) 4. I get an error about symbols _again_, so I kill the Lisp image and REPL buffer, and start a new one /o\
tibfulv has quit [Remote host closed the connection]
<jackdaniel> maybe first unintern the offending symbol, then re-evaluate defpackage form
<beach> I think SBCL lets you choose which one you want.
<contrapunctus> jackdaniel: that's what that restart does, IIRC
tibfulv has joined #commonlisp
<contrapunctus> s/image/process/
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
citizenandrew has joined #commonlisp
Guest74 has joined #commonlisp
igemnace has joined #commonlisp
utis_ has quit [Ping timeout: 244 seconds]
utis has joined #commonlisp
citizenandrew has quit [Quit: Client closed]
waleee has quit [Ping timeout: 255 seconds]
rainthree has quit [Ping timeout: 260 seconds]
ec has quit [Quit: ec]
lisp123 has joined #commonlisp
Th30n has quit [Quit: WeeChat 3.5]
lisp123 has quit [Ping timeout: 240 seconds]
vassenn has joined #commonlisp
thomaslewis has joined #commonlisp
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare has joined #commonlisp
Demosthenex has quit [Remote host closed the connection]
Demosthenex has joined #commonlisp
saura has joined #commonlisp
saura has quit [Ping timeout: 248 seconds]
thomaslewis has left #commonlisp [#commonlisp]
citizenandrew has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
vassenn has quit [Quit: Good bye!]
aartaka has joined #commonlisp
ec has joined #commonlisp
dec0d3r has quit [Quit: Leaving]
saura has joined #commonlisp
thomaslewis has joined #commonlisp
saura has quit [Remote host closed the connection]
saura has joined #commonlisp
saura has quit [Ping timeout: 256 seconds]
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
rotateq has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
hineios has joined #commonlisp
aartaka has quit [Ping timeout: 258 seconds]
Bike has quit [Quit: Connection closed]
Bike_ has joined #commonlisp
Bike_ is now known as Bike
hineios has quit [Quit: The Lounge - https://thelounge.chat]
hineios has joined #commonlisp
citizenandrew has quit [Quit: Client closed]
citizenandrew has joined #commonlisp
pranavats has left #commonlisp [#commonlisp]
lisp123 has joined #commonlisp
aartaka has joined #commonlisp
rainthree has joined #commonlisp
lisp123 has quit [Ping timeout: 250 seconds]
attila_lendvai has joined #commonlisp
Posterdati has quit [Ping timeout: 255 seconds]
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
Catie has quit [Ping timeout: 255 seconds]
<shka> hi all
<shka> i think that i've just found bug in agnostic-lizard
Josh_2 has quit [Remote host closed the connection]
<shka> (agnostic-lizard:walk-form '(nth-value 1 a) nil) expands into invalid code on SBCL
Josh_2 has joined #commonlisp
<shka> can someone please confirm I am right here?
<rotateq> shka: Oh that's a library too? I just know the logo.
<jackdaniel> why do you think that it is invalid? I see the expansion
<jackdaniel> (CAR (NTHCDR 1 (MULTIPLE-VALUE-CALL #'LIST A)))
<shka> jackdaniel: yeah, i should specify that i use SBCL
<shka> and here, part of expansion contains LAMBDA (&OPTIONAL () () &REST #:G986)
<shka> which is neither consistent with macroexpand-all nor correct CL
<jackdaniel> yes, it seems to be botched
<shka> i will try to figure what is wrong here, but I don't have my hopes high
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
citizenandrew has quit [Quit: Client closed]
luis has quit [Ping timeout: 276 seconds]
<shka> yeah, this magic is way to powerful for my tiny brain, I will just open issue
ttree has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 256 seconds]
trumae has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
saura has joined #commonlisp
aartaka has joined #commonlisp
saura has quit [Remote host closed the connection]
saura has joined #commonlisp
saura has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
paul0 has quit [Read error: Connection reset by peer]
paul0 has joined #commonlisp
attila_lendvai has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
aartaka has joined #commonlisp
Posterdati has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
Oladon has joined #commonlisp
aartaka has joined #commonlisp
<Shinmera> A new demo of my lisp game is now live in the Steam Next Fest! Check a look: https://store.steampowered.com/app/1261430/Kandria/
Dynom has joined #commonlisp
thomaslewis has joined #commonlisp
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
lisp123 has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
morganw has joined #commonlisp
lisp123 has quit [Ping timeout: 255 seconds]
<shka> Shinmera: cool!
<shka> i really like your animations
<Shinmera> Thanks! :)
mon_aaraj has quit [Ping timeout: 276 seconds]
mon_aaraj has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
<Bike> looks neat. i linked this to someone and they downloaded the demo, so word of mouth works
aartaka has joined #commonlisp
azimut has joined #commonlisp
Catie has joined #commonlisp
<Shinmera> Great, thanks a lot!
<Shinmera> Now we just need a couple thousand more such words :)
<Bike> (i will also try the demo later)
Guest74 has quit [Quit: Connection closed]
aartaka has quit [Ping timeout: 248 seconds]
livoreno has joined #commonlisp
aartaka has joined #commonlisp
Oladon has quit [Quit: Leaving.]
rainthree has quit [Ping timeout: 250 seconds]
kaskal has joined #commonlisp
kaskal- has quit [Ping timeout: 255 seconds]
rodicm has joined #commonlisp
Catie has quit [Ping timeout: 255 seconds]
rainthree has joined #commonlisp
saura has joined #commonlisp
thomaslewis has joined #commonlisp
<mfiano> Please refresh my memory: Assuming the same exact specializers, which is invoked first, a :before or :around method?
<mfiano> Away from REPL and thinking about some design
<rotateq> mfiano: I have in mind :around is invoked first.
rainthree has quit [Remote host closed the connection]
Noisytoot_ has joined #commonlisp
saura has quit [Ping timeout: 276 seconds]
rainthree has joined #commonlisp
<yitzi> mfiano `:around :before no-qual :after :around`
<mfiano> Thank you
Noisytoot has quit [Ping timeout: 258 seconds]
<rotateq> Okay.
analogsalad has joined #commonlisp
<jackdaniel> usually it is `:spaghetti-from-other-specializers no-qual :spaghetti-from-other-specializers`
lisp123 has joined #commonlisp
<yitzi> I prefer `:bowl :spaghetti no-qual :meatball`
thomaslewis has left #commonlisp [#commonlisp]
trumae has quit [Ping timeout: 246 seconds]
trumae has joined #commonlisp
lisp123 has quit [Ping timeout: 248 seconds]
<shka> :around is for establishing scopes for file opening and such, so it is a very practical decision that it runs around everything else
<shka> i don't know if this was the motivation behind this design, but i strongly suspect so
thomaslewis has joined #commonlisp
trumae has quit [Read error: Connection reset by peer]
trumae has joined #commonlisp
<mfiano> I disagree.
<mfiano> It makes it more convenient to perform things around supplier protocols.
<shka> yeah... i personally don't do that anymore
<mfiano> You can't decline to invoke the next method with anything else.
Noisytoot_ is now known as Noisytoot
rainthree has quit [Ping timeout: 276 seconds]
<shka> the problem with this style of programming is that it can turn really hard to debug
<mfiano> Not in my experience.
<shka> :around methods are awesome, but not as extension points IMHO
<yitzi> Its's also useful to change the dynamic bindings of :before, :after and no-qual.
<shka> yitzi: oh, that i agree
Oddity has joined #commonlisp
<shka> i just don't think that designing protocol with intention of :around method to be specialized by the user is particularly good idea in the long run
<yitzi> And I have used it at a protocol interface point before.
<shka> so did i
<shka> that's why i don't think it is a good idea :D
* |3b| tends to expose an "run the event loop" method specifically for users to bind specials and unwind-protect in :around
wmblathers has quit [Quit: Leaving...]
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
Posterdati has quit [Read error: Connection reset by peer]
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
jmdaemon has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Posterdati has joined #commonlisp
lottaquestions has joined #commonlisp
<jackdaniel> around methods are a poor-man's aspect programming ;) (defmethod handle :around (…) (if (authorized) (call-next-method) (error "not authorized")))
wmblathers has joined #commonlisp
<jackdaniel> allow*, aspect-oriented programming*
jmd_ has joined #commonlisp
jmdaemon has quit [Ping timeout: 276 seconds]
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
rodicm has quit [Quit: Leaving]
analogsalad has quit [Quit: bye]
saura has joined #commonlisp
treflip has quit [Quit: i slep]
pranavats has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #commonlisp
Dynom has quit [Quit: WeeChat 3.5]
rogersm has joined #commonlisp
mon_aaraj has quit [Ping timeout: 244 seconds]
mon_aaraj has joined #commonlisp
rogersm has quit [Quit: Leaving...]
trumae has quit [Ping timeout: 246 seconds]
trumae has joined #commonlisp
hashfunc1b96 has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 250 seconds]
shka has quit [Ping timeout: 240 seconds]
thomaslewis has joined #commonlisp
orestarod has quit [Quit: Leaving]
paul0 has quit [Ping timeout: 256 seconds]
son0p has joined #commonlisp
paul0 has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
thomaslewis has joined #commonlisp
orestarod has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
_paul0 has joined #commonlisp
paul0 has quit [Remote host closed the connection]
rotateq has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
lisp123 has joined #commonlisp
akoana has joined #commonlisp
lisp123 has quit [Ping timeout: 248 seconds]
hashfunc1b96 has quit [Ping timeout: 250 seconds]
random-nick has quit [Ping timeout: 255 seconds]
trumae has quit [Ping timeout: 255 seconds]
trumae has joined #commonlisp
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
Madsy has joined #commonlisp
trumae has quit [Read error: Connection reset by peer]
trumae has joined #commonlisp
thuna` has quit [Remote host closed the connection]
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
orestarod has quit [Ping timeout: 260 seconds]
Madsy has quit [Quit: Leaving]
attila_lendvai has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #commonlisp
thomaslewis has joined #commonlisp
Brucio-61 has quit [Ping timeout: 248 seconds]
thomaslewis has left #commonlisp [#commonlisp]
scymtym has quit [Ping timeout: 240 seconds]
Demosthenex has quit [Ping timeout: 246 seconds]
thomaslewis has joined #commonlisp
Demosthenex has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
Brucio-61 has joined #commonlisp
resttime has quit [Ping timeout: 240 seconds]
_death has quit [Ping timeout: 250 seconds]
BytesAndCoffee has quit [Ping timeout: 240 seconds]
prokhor has quit [Ping timeout: 240 seconds]
gabc has quit [Ping timeout: 240 seconds]
prokhor_ has quit [Ping timeout: 256 seconds]
ns12 has quit [Ping timeout: 248 seconds]
mht- has quit [Ping timeout: 240 seconds]
attila_lendvai has quit [Ping timeout: 260 seconds]
lisp123 has joined #commonlisp
adeht has joined #commonlisp
prokhor has joined #commonlisp
prokhor_ has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
lisp123 has quit [Ping timeout: 258 seconds]
resttime has joined #commonlisp
BytesAndCoffee has joined #commonlisp
ns12 has joined #commonlisp
gabc has joined #commonlisp
prokhor__ has joined #commonlisp
prokhor has quit [Ping timeout: 252 seconds]