phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.16, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
robdog_ has joined #lisp
robdog__ has joined #lisp
makomo has quit [Ping timeout: 245 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog__ has quit [Ping timeout: 250 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
Kaisyu has joined #lisp
phlm has joined #lisp
loli has quit [Ping timeout: 250 seconds]
rumbler31 has joined #lisp
<Xach> dxtr: hey i have a question!
<Xach> dxtr: what will you do when you have that kind of info handy?
<dxtr> Xach: Huh?
<dxtr> I'm making lists with that info?
loli has joined #lisp
robdog_ has joined #lisp
themsay has quit [Ping timeout: 250 seconds]
themsay has joined #lisp
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
phlm has quit [Quit: WeeChat 2.3]
robdog__ has quit [Ping timeout: 250 seconds]
pierpal has quit [Ping timeout: 245 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
adulteratedjedi has joined #lisp
pent has joined #lisp
tazjin has joined #lisp
stylewarning has joined #lisp
Duns_Scrotus has joined #lisp
anewuser has joined #lisp
<Xach> dxtr: what does the input and output look like in an ideal world?
<Xach> dxtr: i have a trick i use but i don't know if it fits your situation, just curious about it.
Achylles has joined #lisp
robdog_ has joined #lisp
<Xach> dxtr: what do you do at the start of the list?
Achylles has quit [Ping timeout: 250 seconds]
karlosz has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
python476 has joined #lisp
robdog_ has joined #lisp
robdog__ has joined #lisp
loli has quit [Ping timeout: 272 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
markoong has quit [Quit: Konversation terminated!]
Denommus has quit [Ping timeout: 246 seconds]
markoong has joined #lisp
robdog__ has quit [Ping timeout: 245 seconds]
markoong has quit [Ping timeout: 250 seconds]
<LdBeth> GG
robdog_ has joined #lisp
loli has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
FoxyBoxes has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
karlosz has quit [Quit: karlosz]
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
ebrasca has quit [Remote host closed the connection]
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
torbo has joined #lisp
robdog__ has quit [Ping timeout: 250 seconds]
holycow has joined #lisp
robdog_ has joined #lisp
lavaflow has quit [Ping timeout: 245 seconds]
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
qx201 has joined #lisp
FreeBirdLjj has joined #lisp
robdog__ has quit [Ping timeout: 250 seconds]
pierpal has joined #lisp
loli has quit [Ping timeout: 245 seconds]
robdog_ has joined #lisp
pierpal has quit [Ping timeout: 246 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
CCDelivery has joined #lisp
robdog_ has joined #lisp
lavaflow has joined #lisp
marusich has joined #lisp
loli has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
libertyprime has quit [Quit: leaving]
marvin3 has quit []
robdog_ has joined #lisp
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog__ has quit [Ping timeout: 252 seconds]
milanj has quit [Quit: This computer has gone to sleep]
python476 has quit [Ping timeout: 245 seconds]
nowhere_man has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
pierpal has joined #lisp
robdog__ has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
robdog_ has joined #lisp
FreeBirdLjj has joined #lisp
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
karlosz has joined #lisp
karlosz has quit [Client Quit]
robdog__ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
akoana has left #lisp ["Leaving"]
robdog_ has joined #lisp
sjl has quit [Ping timeout: 272 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
Bike has quit [Quit: Lost terminal]
robdog_ has joined #lisp
loli has quit [Ping timeout: 240 seconds]
karlosz has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
robdog__ has joined #lisp
FreeBird_ has joined #lisp
FreeBirdLjj has quit [Ping timeout: 246 seconds]
robdog__ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
loli has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
anewuser has quit [Quit: anewuser]
CCDelivery has quit [Read error: Connection reset by peer]
karlosz has quit [Quit: karlosz]
gigetoo has quit [Ping timeout: 245 seconds]
robdog_ has joined #lisp
robdog__ has joined #lisp
esrse has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog__ has quit [Ping timeout: 250 seconds]
karlosz has joined #lisp
karlosz has quit [Client Quit]
notzmv has quit [Ping timeout: 250 seconds]
dale has quit [Quit: dale]
<beach> Good morning everyone!
robdog_ has joined #lisp
<holycow> mornin
robdog_ has quit [Ping timeout: 250 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
robdog_ has joined #lisp
dgtlcmo has quit [Ping timeout: 250 seconds]
karlosz has joined #lisp
karlosz has quit [Client Quit]
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
dddddd has quit [Read error: Connection reset by peer]
robdog_ has quit [Ping timeout: 240 seconds]
torbo has left #lisp ["ERC (IRC client for Emacs 26.1)"]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
FreeBird_ has quit [Remote host closed the connection]
robdog_ has joined #lisp
holycow has quit [Quit: leaving]
impulse has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
robdog_ has joined #lisp
impulse has quit [Client Quit]
karlosz has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
<nydel> morning
robdog_ has joined #lisp
hah47 has joined #lisp
loli has quit [Ping timeout: 245 seconds]
hah47 has quit [Remote host closed the connection]
robdog_ has quit [Ping timeout: 252 seconds]
mulk has quit [Quit: ZNC - http://znc.in]
loli has joined #lisp
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
rumbler31 has quit [Remote host closed the connection]
<fiddlerwoaroof> dxtr: one trick I've thought of is to use a cons cell where the car is a stack of previous items and the cdr is the remaining list
<fiddlerwoaroof> Then you have FORWARD that is essentially (push (cadr cursor) (car cursor))
<fiddlerwoaroof> ... (push (pop (cdr cursor)) (car cursor)
karlosz has quit [Quit: karlosz]
<fiddlerwoaroof> and BACKWARD that is (push (pop (car cursor)) (cdr cursor))
<fiddlerwoaroof> (possibly with copying logic, if you don't want to mutate your inputs)
mulk has joined #lisp
karlosz has joined #lisp
robdog_ has joined #lisp
space_otter has joined #lisp
dgtlcmo has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
lavaflow has quit [Read error: No route to host]
lavaflow has joined #lisp
lavaflow has quit [Read error: Connection reset by peer]
lavaflow has joined #lisp
robdog_ has joined #lisp
akater has quit [Quit: WeeChat 2.3]
akater has joined #lisp
sjl has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
Inline has quit [Quit: Leaving]
robdog_ has joined #lisp
mange has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Read error: Connection reset by peer]
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
loli has quit [Ping timeout: 245 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
dgtlcmo has quit [Ping timeout: 245 seconds]
AndreasO has joined #lisp
AndreasO has quit [Remote host closed the connection]
loli has joined #lisp
robdog_ has joined #lisp
ym has quit [Ping timeout: 244 seconds]
zmt01 has quit [Read error: Connection reset by peer]
robdog_ has quit [Ping timeout: 268 seconds]
zmt00 has joined #lisp
asarch has joined #lisp
<asarch> Just in the case if you are wondering if PortableAllegroServe can do REST API, the answer is yes:
<asarch> BTW, the port 5477 is 'LISP' in the telephone keypad
<asarch> Perl people used to use the port 7375
<asarch> Excellent, isn't it?!
<asarch> A 40 years old programming language can use a 20 years old program to develop nowadays web applications!
Lycurgus has joined #lisp
sjl has quit [Ping timeout: 246 seconds]
karlosz has quit [Quit: karlosz]
zmv has joined #lisp
buffergn0me has quit [Remote host closed the connection]
asarch has quit [Quit: Leaving]
robdog_ has joined #lisp
scymtym has quit [Ping timeout: 250 seconds]
zmv has quit [Read error: Connection reset by peer]
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
sauvin has joined #lisp
<splittist> morning
loli has quit [Ping timeout: 268 seconds]
mrSpec has joined #lisp
milanj has joined #lisp
robdog__ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
karlosz has joined #lisp
karlosz has quit [Client Quit]
robdog_ has quit [Ping timeout: 250 seconds]
loli has joined #lisp
robdog_ has joined #lisp
nowhere_man has joined #lisp
<beach> Hello splittist.
powerbit has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
keep_learning has quit [Quit: Ping timeout (120 seconds)]
nowhere_man has quit [Ping timeout: 250 seconds]
robdog_ has quit [Ping timeout: 250 seconds]
space_otter has quit [Remote host closed the connection]
robdog_ has joined #lisp
Lycurgus has quit [Quit: Exeunt]
robdog_ has quit [Ping timeout: 250 seconds]
cantstanya has quit [Remote host closed the connection]
cantstanya has joined #lisp
robdog_ has joined #lisp
atgreen has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
robdog_ has joined #lisp
igemnace has quit [Quit: WeeChat 2.3]
<splittist> Once again I am amazed by how a short period of concentrated thought is a substitute for hours of key bashing. And how hard it is to carve out time for concentrated thought.
hhdave has joined #lisp
vertigo has quit [Ping timeout: 246 seconds]
vertigo has joined #lisp
hhdave_ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
DGASAU has quit [Read error: Connection reset by peer]
robdog_ has joined #lisp
igemnace has joined #lisp
hhdave has quit [Ping timeout: 268 seconds]
hhdave_ is now known as hhdave
robdog_ has quit [Ping timeout: 250 seconds]
heisig has joined #lisp
makomo has joined #lisp
DGASAU has joined #lisp
loli has quit [Ping timeout: 240 seconds]
scottj has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
loli has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
phoe has joined #lisp
q3d has joined #lisp
fiddlerwoaroof has quit [Remote host closed the connection]
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog__ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
milanj has joined #lisp
xrash has joined #lisp
<beach> splittist: Is this from personal experience, or something you observed?
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
m00natic has joined #lisp
robdog_ has joined #lisp
loli has quit [Ping timeout: 250 seconds]
robdog__ has quit [Ping timeout: 268 seconds]
cpape has joined #lisp
<splittist> beach: personal experience
robdog_ has quit [Ping timeout: 240 seconds]
fiddlerwoaroof has joined #lisp
loli has joined #lisp
amerlyq has joined #lisp
kenu has quit [Ping timeout: 268 seconds]
Achylles has joined #lisp
random-nick has joined #lisp
<pjb> beach: idem.
<beach> Hmm.
atgreen has joined #lisp
<splittist> Hmm you don't agree? Or Hmmm you doubt my capacity for concentrated thought? (:
markoong has joined #lisp
Achylles has quit [Ping timeout: 264 seconds]
<pjb> Plus, key bashing looks more like work to managers.
Zaab1t has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
<beach> splittist: "Hmm" as in splittist is not alone.
robdog_ has joined #lisp
ggole has joined #lisp
<dim> well there's also the interactive discovery of the problem at hand, which often requires a fair amount of key bashing
<_death> a method that has definitely proven to work this past year was to let my subconscious do the hard work.. but that presupposes you can manage your own time
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
Zaab1t has quit [Ping timeout: 245 seconds]
Achylles has joined #lisp
robdog_ has quit [Ping timeout: 252 seconds]
<margaritamike> Does common lisp have the amb operator
<beach> What does an amb operator do?
Achylles has quit [Read error: Connection reset by peer]
<_death> On Lisp has a chapter about nondeterminism
<margaritamike> Not sure. Think it's a prologgy search pattern. Just saw this HN thread that was posted and wondered: https://news.ycombinator.com/item?id=19141197
<beach> If you are not sure what it does, what do you need it for?
robdog_ has joined #lisp
matijja has joined #lisp
<margaritamike> I was curious after seeing that thread and since McCarthy invented it.
loli has quit [Ping timeout: 244 seconds]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Bike has joined #lisp
q9929t has joined #lisp
pierpal has quit [Remote host closed the connection]
robdog_ has quit [Ping timeout: 240 seconds]
Lord_of_Life has joined #lisp
robdog_ has joined #lisp
Nilby has quit [Ping timeout: 246 seconds]
esrse has quit [Ping timeout: 246 seconds]
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
makomo has quit [Ping timeout: 240 seconds]
loli has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
q9929t has quit [Quit: q9929t]
dddddd has joined #lisp
gxt has quit [Ping timeout: 246 seconds]
robdog_ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
Achylles has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
robdog_ has joined #lisp
makomo has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
frodef has joined #lisp
robdog_ has joined #lisp
marusich has quit [Remote host closed the connection]
robdog_ has quit [Ping timeout: 240 seconds]
quazimodo has quit [Ping timeout: 245 seconds]
quazimodo has joined #lisp
robdog_ has joined #lisp
Bike is now known as Bicyclidine
amerlyq has quit [Quit: amerlyq]
robdog_ has quit [Ping timeout: 252 seconds]
robdog_ has joined #lisp
milanj has joined #lisp
robdog__ has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
themsay has quit [Ping timeout: 250 seconds]
themsay has joined #lisp
robdog__ has quit [Ping timeout: 250 seconds]
loli has quit [Ping timeout: 268 seconds]
gxt has joined #lisp
robdog_ has joined #lisp
gxt has quit [Ping timeout: 250 seconds]
gxt has joined #lisp
anewuser has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #lisp
<jackdaniel> since it is so quiet here, I'll drop an output of a tool I've hacked a moment ago (dependency graph of systems in McCLIM): https://files.mastodon.social/media_attachments/files/011/321/125/original/ad53eb257ca058e5.png
loli has joined #lisp
<phoe> that's pretty rad
wxie has joined #lisp
<jackdaniel> 30 lines of code give or take
<jackdaniel> nb, that shows clearly, that trivial-file-size doesn't have support for ECL
<makomo> is there a solution to the "package problem" regarding anaphoric macros? you could export the symbol and make your clients use that symbol/your whole package
<makomo> you could provide the symbol yourself, but then it kinda beats the purpose
<splittist> use string comparison
<makomo> is there any other way to get at the package in which the macro is being expanded?
gxt has quit [Ping timeout: 245 seconds]
<makomo> splittist: the use-case isn't like LOOP. i'm kind of "injecting" a macrolet within a body
Bike has joined #lisp
gxt has joined #lisp
<makomo> i'm not sure how horrible it is to rely on the value of *PACKAGE* within a macro
robdog_ has joined #lisp
angavrilov has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
<Bike> well, defstruct does it, but sometimes people get annoyed at defstruct
robdog_ has quit [Ping timeout: 250 seconds]
robdog_ has joined #lisp
FoxyBoxes has quit [Remote host closed the connection]
drewlander has joined #lisp
gxt has quit [Ping timeout: 250 seconds]
robdog_ has quit [Ping timeout: 240 seconds]
gxt has joined #lisp
robdog_ has joined #lisp
<makomo> Bike: hm, right. what would be a good example of an annoying case?
<Bike> well, it uses the current package to make symbols. if you want one of those symbols to be in a different package that has to be done specially
robdog_ has quit [Ping timeout: 240 seconds]
emar has quit [Ping timeout: 244 seconds]
<makomo> Bike: something like manually creating those functions and forwarding the calls to the ones made by DEFSTRUCT?
robdog_ has joined #lisp
<Bike> or just naming the symbols more explicltyy, but yeah
<makomo> Bike: what do you mean more explicitly?
dale has joined #lisp
<Bike> like using :constructor instead of conc-name so you can specify the whole symbol and *package* isn't used
<makomo> Bike: ah, i just skimmed the clhs and saw "interning the name in whatever package is current at the time" under the documentation for :constructor as well so i assumed it only uses the name of the provided symbol, without reading further
<Bike> well, "whatever package is current at the time" is of course *package*
<makomo> right, yeah
<makomo> but that's only done in the case where no :constructor is given so it pieces it together with "MAKE-", bla bla
robdog__ has joined #lisp
emar has joined #lisp
<Bike> generally speaking, i'd rather manually specify a symbol than have to worry about *package*
dgtlcmo has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
robdog__ has quit [Ping timeout: 252 seconds]
<makomo> Bike: yeah, i agree (in general), but for certain macros that beats their purpose :(
veckon has joined #lisp
<makomo> ugh, it always comes down to the same old code walking problem
<jackdaniel> code walking?
<makomo> i wonder, would it require some big changes to include a portable code walker within the standard?
<jackdaniel> agnostic-lizard depends only on cltl2 interface. but what do you need code walking for?
<jackdaniel> cltl2 environment interface*
<makomo> jackdaniel: yeah, the "non-portableness" of code walkers. i'm trying to avoid the problem by using a MACROLET to do the walking for me (but even that isn't really perfect, as i have to use MACROEXPAND-ALL)
<makomo> jackdaniel: macros such as LoL's defmacro/g! and defmacro! for example
robdog_ has quit [Ping timeout: 252 seconds]
<jackdaniel> I haven't read let over lambda, so I don't know what these are
<makomo> i guess i'll take a better look at agnostic lizard this time
<Bike> they replace symbols named like g!name with gensyms
<makomo> jackdaniel: basically, symbols of the form "g!<something>" evaluate to one and the same gensym
robdog_ has joined #lisp
<Bike> mostly memorable to me because the method they use to do it is nonconforming and people sometimes come in here to ask why sbcl is broken
<makomo> Bike: indeed :-). i still recall when i asked that same question
<jackdaniel> thanks for the explanation
<jackdaniel> I usually use with-clean-symbols macro for that
<jackdaniel> I assume (given there are semi-popular operators for that) what I use is a simplified hack though
<makomo> jackdaniel: first time i hear of WITH-CLEAN-SYMBOLS, got a link?
<makomo> i'm assuming that's something like alexandria's WITH-GENSYMS?
<jackdaniel> it was part of cmuutil afair
<jackdaniel> alongside collect macro
<Bike> yes, it's basically like with-gensyms
<Bike> (with-clean-symbols (x) (let ((x y)) (+ x x))) -> (let ((#1=#:x y)) (+ #1# #1#)) i think
<Bike> using sublis instead of bindings is kind of unfortunate, o well
<makomo> it seems WITH-UNIQUE-SYMBOLS is more like WITH-GENSYMS
<makomo> ah
<Bike> similar to defmacro/g!, even
<makomo> yeah, it does naive code walking
<jackdaniel> it is worth putting the quote here:
<jackdaniel> "Good notation eliminates thought." -- Eric Siggia
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
wxie has quit [Ping timeout: 268 seconds]
<makomo> jackdaniel: indeed, which is why i find macros such as defmacro/g! and defmacro! useful :-)
<jackdaniel> (I want to note, that these names are not self-descriptive (to me at least), while with-clean-symbols is obvious (once again, to me))
<makomo> yeah, true. to the uninitiated it's not clear what they do, but once you know what they do, it's really easy to look at a macro defined using defmacro/g!
heisig has quit [Quit: Leaving]
loli has quit [Ping timeout: 240 seconds]
<makomo> the definition of defmacro! (which automatically avoids multiple evaluation for arguments named like "o!<something>") is really neat (and imo much easier to understand than the definition of once-only)
robdog_ has quit [Ping timeout: 268 seconds]
<makomo> it's defined using defmacro/g! and this layering of macros/introduction of new syntax is very nice
<Bike> i don't think it's that bad explicitly specifying what symbols you want to be gensyms or once-only or whatever.
robdog_ has joined #lisp
<jackdaniel> I personaly dislike a "magic" syntax which treats things differently depending on what name they have
<makomo> yeah, this is where opinions start to differ, but i think that if it was easier (i.e. portable) to write such macros, we would have more of them and would explore these "radical" ideas further
<makomo> jackdaniel: in a certain sense it might be "magic", but then again, that's what non-lispers think of ordinary macros. they say how they don't want to learn a thousand custom macros/languages that someone cooked up for a project of theirs, or something
<makomo> they prefer to have the various constructs of the language set in stone
<jackdaniel> I won't engage with this discussion, I just *personally* don't like such things
<makomo> yeah, i get you
<makomo> nothing is good when used excessively, but i think there are very interesting things to be found
robdog_ has quit [Ping timeout: 250 seconds]
<akater> makomo: What is the issue with anaphoric macros? Is it about providing them from your system or using them cleanly?
<makomo> akater: yeah. the user/client has to use the same symbol within its body as the one that the anaphoric macro injects
<makomo> if the user of the macro and the macro itself are within the same package, there's no problem. the problem comes up when they're not
<makomo> then you have to either import the symbol/use the package or do ugly stuff like explicitly specifying the package prefix
loli has joined #lisp
<makomo> s/its body/the body/
<makomo> or, you could write the anaphoric macro in such a way that it injects a different symbol depending on the value of *PACKAGE* at the time the macro is expanded
<akater> makomo: I never exported anaphoric macros but I would export the symbol without thinking twice. Or maybe used a keyword symbol.
robdog_ has joined #lisp
<makomo> i'm not sure if there are any radically different solutions
<makomo> akater: i guess, but it annoys me a bit, especially when the anaphoric macro is there to ease the writing of certain stuff/provide syntactic shortcuts
<makomo> then you usually have short non-unique names which might end up clashing if other packages export them as well
<jackdaniel> are you certain it is not that you overthink the problem? maybe you had a higher purpose for using this anaphoric macro and gone down a rabbit hole?
<akater> makomo: I'm relatively new to CL and have not released libraries yet but if a user wants a package, they will use the package.
<akater> makomo: So it looks a bit like overthinking to me as well.
<makomo> jackdaniel: well, i don't know yet, but to me it doesn't seem like overthinking. i've had multiple problems basically boil down to this
milanj has quit [Quit: This computer has gone to sleep]
<makomo> the problem is that it's not really solveable in any satisfactory *and* standard way, so it's not something that's usually done
robdog_ has quit [Ping timeout: 250 seconds]
Josh_2 has joined #lisp
<makomo> but i think if it was, the ideas would be explored further
<akater> Actually, I would often prefer foo:operation to foo-operation but this seems to go against the traditions so I'm still observing.
<makomo> solvable*
<jackdaniel> what I mean is that either you try to implement something (and then resolving IT is trivial like importing "it" symbol from the package, having ^IT name convention [like I do], or writing symbol-macrolet if you really must); or you think really really hard how to solve it in a systematic and portable way, getting into code walkers and other esotery and lose sight of the thing you wanted to implement at
<jackdaniel> the very beginning. Of course it is not my bussiness what you do with your time
<akater> By the way, suppose I release a library which provides something:make instead of make-something. Will this be considered a mortal sin?
<shka__> akater: not really
<Xach> akater: no
<shka__> (defgeneric make (what &key &rest all)) is pretty common i would say
<Xach> make-instance is v. common
<Xach> common lisp, that is!
<shka__> heh
<akater> That's a relief!
Oladon has joined #lisp
<Xach> akater: you can get very idiosyncratic if what you make is super-useful!
<makomo> jackdaniel: yeah, there's a certain truth to that i guess. it's very similiar, if not the same as, the performance vs. perfection problem that beach talks about
rippa has joined #lisp
robdog_ has joined #lisp
ebrasca has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
Achylles has quit [Remote host closed the connection]
Inline has joined #lisp
veckon has left #lisp ["ERC (IRC client for Emacs 26.1)"]
robdog_ has quit [Ping timeout: 240 seconds]
robdog_ has joined #lisp
xrash has quit [Read error: Connection reset by peer]
robdog_ has quit [Ping timeout: 240 seconds]
makomo has quit [Quit: WeeChat 2.2]
makomo has joined #lisp
robdog_ has joined #lisp
robdog__ has joined #lisp
prite has quit [Ping timeout: 240 seconds]
amerlyq has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
robdog__ has quit [Ping timeout: 240 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
FreeBirdLjj has quit [Remote host closed the connection]
robdog_ has joined #lisp
FreeBirdLjj has joined #lisp
AndreasO has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
loli has quit [Ping timeout: 272 seconds]
milanj has joined #lisp
robdog_ has joined #lisp
loli has joined #lisp
marvin2 has joined #lisp
robdog_ has quit [Ping timeout: 240 seconds]
Oladon has quit [Quit: Leaving.]
zmv has joined #lisp
zmv is now known as ntozmv
ntozmv is now known as notzmv
ym has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
<flip214> What's the easiest safe way to parse a string to a symbol name? Just READ isn't [or is (SETF *READ-EVAL* NIL) enough?],
xkapastel has joined #lisp
<flip214> but the split by ":", lookup package, lookup symbol dance is a bit heavy, too (|symbols|, etc.)
FreeBirdLjj has joined #lisp
edgar-rft has quit [Quit: Leaving]
schjetne has quit [Ping timeout: 246 seconds]
robdog has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #lisp
AndreasO has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 250 seconds]
AndreasO has joined #lisp
AndreasO has quit [Remote host closed the connection]
jmercouris has joined #lisp
<jmercouris> Hey everyone
<jmercouris> I'm having a weird error saying that my initarg doesn't exist for my class
<akater> flip214: intern?
<jmercouris> however, I'm quite sure it does
beach has quit [Ping timeout: 240 seconds]
<makomo> jmercouris: ":init-arg" :D
<makomo> it's :initarg :-)
<jmercouris> man, I've spent like 45 minutes on this :D
<jmercouris> makomo: thank you
beach has joined #lisp
<makomo> jmercouris: :-)
<jmercouris> man it should totally be init-arg, the dash just makes more sense lol
<jmercouris> they are two different words, right? initialization-argument
<jmercouris> anyways, lesson learned, don't code tired
LiamH has joined #lisp
<beach> Do you also want de-fun def-generic def-method def-class?
<jmercouris> I'm not sure, I might
<jmercouris> I would almost actually prefer typing (define-function () ...)
<jmercouris> then again, I used to be an objective-c developer, so take that with a grain of salt
<jmercouris> I understand I'm a minority...
<akater> jmercouris: Nothing prevents you from using define-function. define- macros are often defined.
<jmercouris> I'm not about to make my code painful for everyone else in the world to use
<jmercouris> I try to stick to the standard as much as possible, hence why I'm against efforts such as cl21
* akater binds abbrevs like th and eu to often-used symbol-names
<akater> ^ th, eu --- dvorak
<beach> jmercouris: That's the right attitude.
<jmercouris> Thanks :D
AndreasO has joined #lisp
<akater> By the way, several times I encountered hu.dwim libraries. There's a fairly large repository with lots of custom syntax defined and consistently used. But it looks obscure.
<jmercouris> akater: what is hu.dwim?
AndreasO has quit [Remote host closed the connection]
<ebrasca> Hi
prite has joined #lisp
<akater> I tried to read one library, and even though it's custom syntax all over the place, it's fairly readable.
<jmercouris> that really doesn't clarify anything
<jmercouris> it just looks like a listing of some code
<jmercouris> is dwim some individual or organization?
Zaab1t has joined #lisp
<jmercouris> that's strange M Wallen Software LTD, but registered with a Hungarian domain
<akater> jmercouris: dwim is Do What I Mean, I guess.
<jmercouris> I'm glad it works for them, but to be completely frank, I find the source in that file unacceptable
anewuser has quit [Quit: anewuser]
<jmercouris> I understand it is sophisticated and difficult code, but I don't like it
<Fade> That's the hungarian dialect of CL.
<jmercouris> Lol
<jmercouris> It also makes it way harder for something like emacs to do proper indentation
<jmercouris> or any editor for that matter, unless that editor were written in Common Lisp
<jmercouris> *cough* climacs
q3d has quit [Ping timeout: 256 seconds]
<akater> I'd say if indentation or highlight is difficult to adjust, it is a flaw of its implementation in the editor.
<ebrasca> jmercouris: How good is climacs compared to emacs?
<jmercouris> ebrasca: I'm not using climacs, just waiting patiently
charh has quit [Ping timeout: 244 seconds]
<akater> I have managed to build Second Climacs. It's not usable yet.
<jmercouris> akater: I would say its really hard to make an editor for Common Lisp due to the control you have over the language
<jmercouris> the user could do all sorts of things to sabotage the effectiveness of the editor :D
nowhere_man has joined #lisp
<jmercouris> I feel like Lisp is the ultimate quine language
nowhere_man has quit [Read error: Connection reset by peer]
<akater> If emacs had indentation/highlighting templates along the lines of "indent this form like defclass", there would be no issues with non-standard syntax at all, I believe.
nowhere_man has joined #lisp
<akater> Maybe it has, and I just did not discover it. But when I tried to highlight everything that starts with def the way defun is highlighted, I failed.
<akater> Have to admit, I'm never happy when programming Elisp. Would like to jump ship as soon as somewhat decent alternative is there.
loli has quit [Ping timeout: 246 seconds]
<jmercouris> who is happy to program Elisp?
<jmercouris> it is a necessary evil
<jmercouris> s/necessary/necessary
<ggole> Emacs does have indentation control, see the docstring of common-lisp-indent-function
sjl has joined #lisp
<ggole> I don't think there is a particularly smooth way to automatically set that up when editing some random file of CL code, though
<dlowe> It does occur to me that since guile supports elisp and guile supports scheme, that it might be possible to write a CL frontend to guile
<dlowe> and then piggy-back on top of guile-emacs
FreeBirdLjj has quit [Remote host closed the connection]
<jmercouris> guile is another one of those projects about the FSF that just intrigues me
<jmercouris> why does it need to exist? it really doesn't, could have easily been an implementation of CL
FreeBirdLjj has joined #lisp
<jmercouris> they could have even used ABCL and called it a day
<dlowe> It was the official extension language - I imagine a scheme was just easier to sandbox
varjag has joined #lisp
<jmercouris> not ABCL, that one with the manora as the icon
<jmercouris> I forget which one
<dlowe> clisp
<jmercouris> s/manora/menorah
charh has joined #lisp
FreeBirdLjj has quit [Ping timeout: 246 seconds]
tempate has joined #lisp
loli has joined #lisp
ggole has quit [Quit: Leaving]
jmercouris has quit [Remote host closed the connection]
shka_ has joined #lisp
dgtlcmo has quit [Ping timeout: 268 seconds]
hhdave has quit [Ping timeout: 250 seconds]
dgtlcmo has joined #lisp
lumm has joined #lisp
robdog has joined #lisp
m00natic has quit [Remote host closed the connection]
gxt has quit [Ping timeout: 272 seconds]
v0|d has joined #lisp
robdog_ has joined #lisp
charh has quit [Remote host closed the connection]
charh has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
lumm has quit [Quit: lumm]
lumm has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
hiroaki has joined #lisp
karlosz has joined #lisp
karlosz has quit [Client Quit]
lumm_ has joined #lisp
robdog has joined #lisp
karlosz has joined #lisp
lumm has quit [Ping timeout: 258 seconds]
lumm_ is now known as lumm
robdog_ has joined #lisp
karlosz has quit [Client Quit]
robdog has quit [Ping timeout: 240 seconds]
karlosz has joined #lisp
karlosz has quit [Client Quit]
robdog_ has quit [Ping timeout: 240 seconds]
q3d has joined #lisp
lumm_ has joined #lisp
Nilby has joined #lisp
robdog has joined #lisp
lumm_ has quit [Client Quit]
lumm_ has joined #lisp
lumm has quit [Ping timeout: 259 seconds]
lumm_ is now known as lumm
robdog_ has joined #lisp
karlosz has joined #lisp
gxt has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
loli has quit [Ping timeout: 258 seconds]
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
Nilby has quit [Remote host closed the connection]
Nilby has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
loli has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
cage_ has joined #lisp
gxt has quit [Ping timeout: 250 seconds]
edgar-rft has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
Ukari has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
Jesin has quit [Quit: Leaving]
robdog_ has quit [Ping timeout: 252 seconds]
karlosz has quit [Quit: karlosz]
_whitelogger has quit [Remote host closed the connection]
themsay has quit [Ping timeout: 250 seconds]
Zaab1t has quit [Quit: bye bye friends]
loli has quit [Ping timeout: 246 seconds]
grumble has quit [Read error: Connection reset by peer]
cage_ has quit [Remote host closed the connection]
prite has quit [Ping timeout: 272 seconds]
_whitelogger has joined #lisp
actuallybatman has joined #lisp
shka_ has quit [Ping timeout: 244 seconds]
rpg has joined #lisp
Lycurgus has joined #lisp
loli has joined #lisp
AndreasO has quit [Ping timeout: 250 seconds]
random-nickname has joined #lisp
random-nickname has quit [Read error: Connection reset by peer]
robdog has joined #lisp
random-nickname has joined #lisp
random-nick has quit [Ping timeout: 250 seconds]
<LdBeth> verisimilitude: I guess not using git for development suggests it haven’t been updated for a while.
<phoe> hey, other version systems are still kickin'
<phoe> and more than that, they're useful and functional
robdog has quit [Ping timeout: 250 seconds]
<rpg> Hey, I have a pragmatic question about SLIME usage. Is there some way I can associate SLIME hints (e.g., "this is how you should indent this construct") with an ASDF system? I'm not sure if a CL system can push information at a SLIME client.
<LdBeth> As long as there’s no other evidence suggest they are active
robdog has joined #lisp
<_death> rpg: generally you do that alongside the construct.. see trivial-indent
amerlyq has quit [Quit: amerlyq]
<rpg> _death: Will check now, thanks!
robdog has quit [Ping timeout: 250 seconds]
quazimodo has quit [Ping timeout: 246 seconds]
Jesin has quit [Quit: Leaving]
moei has quit [Quit: Leaving...]
Nilby has quit [Read error: Connection reset by peer]
Jesin has joined #lisp
frodef has joined #lisp
q3d has quit [Ping timeout: 256 seconds]
loli has quit [Ping timeout: 246 seconds]
zaquest has quit [Ping timeout: 245 seconds]
izh_ has left #lisp [#lisp]
dgtlcmo has quit [Read error: Connection reset by peer]
Jesin has quit [Quit: Leaving]
emaczen has joined #lisp
frodef has quit [Read error: No route to host]
frodef has joined #lisp
q9929t has joined #lisp
karlosz has joined #lisp
frodef has quit [Remote host closed the connection]
loli has joined #lisp
q9929t has quit [Client Quit]
Jesin has joined #lisp
Bike has quit []
karlosz has quit [Quit: karlosz]
varjag has quit [Ping timeout: 246 seconds]
Lycurgus has quit [Quit: Exeunt]
libertyprime has joined #lisp
drolax has quit [Ping timeout: 252 seconds]
makomo has quit [Ping timeout: 258 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Inline has quit [Read error: Connection reset by peer]
Inline has joined #lisp
marvin2 has quit []
robdog has joined #lisp
loli has quit [Ping timeout: 272 seconds]
random-nickname has quit [Ping timeout: 245 seconds]
robdog has quit [Ping timeout: 250 seconds]
Bicyclidine is now known as Bike
loli has joined #lisp
rumbler31 has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life