nowhere_man has joined #lisp
engblom has quit [Ping timeout: 268 seconds]
engblom has joined #lisp
bmgxc9 has quit [Remote host closed the connection]
zotan has quit [Ping timeout: 255 seconds]
zotan has joined #lisp
FreeBirdLjj has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
rumbler31 has quit [Remote host closed the connection]
engblom has quit [Ping timeout: 272 seconds]
engblom has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
Kundry_Wag has joined #lisp
omilu has quit [Read error: Connection reset by peer]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
FreeBirdLjj has joined #lisp
quazimodo has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Ping timeout: 248 seconds]
lnostdal has quit [Ping timeout: 240 seconds]
BitPuffin|osx has quit [Ping timeout: 240 seconds]
lnostdal has joined #lisp
Jen has joined #lisp
Jen is now known as Guest20939
SuperJen has quit [Ping timeout: 240 seconds]
attila_lendvai has quit [Quit: Leaving.]
Cymew has joined #lisp
king_idiot has quit [Ping timeout: 264 seconds]
Cymew has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
SuperJen has joined #lisp
mejja has joined #lisp
Devon has quit [Ping timeout: 260 seconds]
Guest20939 has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 248 seconds]
momofarm has joined #lisp
momofarm has quit [Client Quit]
turkja has joined #lisp
lisp_guest has quit [Ping timeout: 260 seconds]
king_idiot has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
FreeBirdLjj has joined #lisp
aeth has quit [Read error: Connection reset by peer]
Kundry_Wag_ has joined #lisp
aeth has joined #lisp
ahungry has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
momofarm has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
jibanes has quit [Ping timeout: 248 seconds]
Kundry_Wag_ has quit [Ping timeout: 272 seconds]
jibanes has joined #lisp
smurfrobot has joined #lisp
Devon has joined #lisp
EvW has quit [Ping timeout: 246 seconds]
bugrum has joined #lisp
FreeBirdLjj has joined #lisp
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
FreeBirdLjj has quit [Ping timeout: 272 seconds]
fikka has joined #lisp
hexfive has quit [Quit: WeeChat 1.9.1]
fikka has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Remote host closed the connection]
cromachina has joined #lisp
king_idiot has quit [Ping timeout: 272 seconds]
king_idiot has joined #lisp
Cymew has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
d4ryus1 has joined #lisp
Cymew has joined #lisp
d4ryus has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 272 seconds]
Cymew has joined #lisp
DeadTrickster has quit [Read error: Connection reset by peer]
igemnace has joined #lisp
DeadTrickster has joined #lisp
Cymew has quit [Ping timeout: 272 seconds]
momofarm has quit [Read error: Connection reset by peer]
rm8 has quit [Quit: i slep]
smurfrobot has joined #lisp
fikka has joined #lisp
Cymew has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 248 seconds]
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
resttime has joined #lisp
test1600 has joined #lisp
Cymew has joined #lisp
mejja has quit [Quit: mejja]
Cymew has quit [Ping timeout: 264 seconds]
zooey has quit [Ping timeout: 248 seconds]
zooey has joined #lisp
eschulte has quit [Ping timeout: 255 seconds]
mnoonan has quit [Ping timeout: 255 seconds]
eschulte has joined #lisp
grublet has quit [Quit: Leaving]
Jen has joined #lisp
Jen is now known as Guest39874
mnoonan_ has joined #lisp
SuperJen has quit [Ping timeout: 264 seconds]
Guest39874 has quit [Remote host closed the connection]
Guest39874 has joined #lisp
QualityAddict has joined #lisp
Arcaelyx has joined #lisp
<Ober> is there a secure way to expose swank to an internet facing port?
Cymew has joined #lisp
bugrum has quit [Remote host closed the connection]
<beach> Good morning everyone!
<Ober> chau em
Cymew has quit [Ping timeout: 248 seconds]
<beach> Ober: Not quite, but thanks! :)
<Ober> oh right. sorry very late here
<Ober> well relative to me, perhaps
<beach> Unlikely, but possible.
<pillton> Ober: You can use SSH tunnelling.
<Ober> pillton: ok. that's what ive been doing. saw a shinmera video where he appeared to hit a swank server directly.
<Ober> just checking if something fancy was out there for that,
<pillton> You could probably use TLS with a predetermined key too.
<turkja> yeah i'd make swank to listen localhost only, then use SSH -L to redirect to that port
king_idiot has quit [Ping timeout: 272 seconds]
schoppenhauer has quit [Ping timeout: 260 seconds]
<Ober> thanks
schoppenhauer has joined #lisp
pierpa has quit [Quit: Page closed]
<aeth> Personally, I would rely on SSH over other solutions, where it works.
<aeth> The world runs on SSH at this point.
<Ober> but my browser does not
<Ober> the one protocol that matters most. :P
<aeth> Rewrite it in Common Lisp. Most of the content won't be there, but that's a feature, not a bug.
rumbler31 has joined #lisp
DeadTrickster has quit [Read error: Connection reset by peer]
DeadTrickster has joined #lisp
<loke> Hello DeadTrickster
fikka has joined #lisp
Bike has quit [Quit: Lost terminal]
fikka has quit [Ping timeout: 260 seconds]
Guest39874 has quit [Remote host closed the connection]
Guest39874 has joined #lisp
_cosmonaut_ has quit [Ping timeout: 255 seconds]
terpri has quit [Ping timeout: 240 seconds]
Devon has quit [Ping timeout: 256 seconds]
mathrick has quit [Read error: Connection reset by peer]
damke_ has joined #lisp
damke has quit [Ping timeout: 263 seconds]
cromachina has quit [Read error: Connection reset by peer]
cromachina_ has joined #lisp
cro__ has joined #lisp
moei has quit [Quit: Leaving...]
zulu_inuoe_ has joined #lisp
red-dot has joined #lisp
zulu_inuoe has quit [Ping timeout: 268 seconds]
cromachina_ has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
svgDelux has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
eSVG has quit [Ping timeout: 276 seconds]
<asarch> I made this script to render the book from HTML pages into PDF with HTMLDOC: https://github.com/asarch/pcl/blob/master/doit.sh
mishoo has joined #lisp
``Erik_ has quit [Ping timeout: 240 seconds]
``Erik has joined #lisp
rumbler31 has quit [Remote host closed the connection]
smurfrobot has joined #lisp
<beach> asarch: Why are you telling me this?
resttime has quit [Quit: Leaving]
jack_rabbit has quit [Ping timeout: 248 seconds]
nalkri has joined #lisp
<asarch> Well, you suggested me that book
<asarch> I thought... well...
<beach> I think you should buy it. I did.
<logicmoo> asarch: beach is not used to people ever taking his advice
<asarch> ?
<asarch> Oh, sorry. I didn't know :-(
<asarch> I can't buy it
<loke> asarch: PCL is a great advice.
<asarch> It's quite expensive :'-(
smurfrobot has quit [Remote host closed the connection]
<beach> asarch: gigamonkey worked pretty hard to write that. I think he deserves his royalties. Perhaps you should send him some money.
<asarch> Besides, I'm saving for "Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp", "The Elements of Artificial Intelligence" and "Introduction to Artificial Intelligence"
<asarch> Oh...
<asarch> I thought he was rich :-(
whyNOP_ has quit [Ping timeout: 248 seconds]
damke_ has quit [Ping timeout: 264 seconds]
whyNOP has joined #lisp
<asarch> But ok, I will send him the cost of the book
<beach> Some 10% would be fine. That would be his royalties.
damke_ has joined #lisp
<beach> I am the first to admit that publishing companies are unethical in the way they treat their authors, and in the way they make money. That is why I use self publishing when I write books.
jack_rabbit has joined #lisp
<asarch> I thought I could get the hard copy of the book the same way you can get books from the Free Software Foundation
<beach> What way is that?
vlatkoB has joined #lisp
<beach> Well, I haven't checked whether what you did is legal; perhaps it is. I just think that the author deserves to be compensated for his work. The FSF does not have as a goal to make money from their publications (though they would be happy for you to order a hard copy, or course). But I pretty sure that gigamonkey did not write that book just to be a nice guy and in order to spread the word about Common Lisp.
xrash has quit [Remote host closed the connection]
<asarch> If you need to change some parameters of the book, like the paper size, download the source code and compiles it
smurfrobot has joined #lisp
<asarch> Most of the Smalltalk books are in the PDF file format to download
<asarch> Oh, $70 USD :-(
<asarch> What do you think about "Let Over Lambda"?
<beach> But thanks for the information. I am now convinced that I absolutely should not make HTML versions of my books available online.
<asarch> D'oh!
<asarch> HTMLDOC is, after all, a great tool, isn't it?
<asarch> The new way to get PDF from DocBook is from HTML plus CSS style sheets
<asarch> Have you seen this?:
<asarch> 20 years ago was the way to say "Fuck the System" o/
<asarch> :-P
<asarch> Microsoft was the enemy back then
* logicmoo is a subversive nowadays reading the clhs in .chm form
<asarch> Even Wikipedia had a great conversion tool to get the PDF version of each article those days
<asarch> Now it really is a shame :'-(
elephanter has joined #lisp
bugrum has joined #lisp
ahungry has quit [Remote host closed the connection]
shka has joined #lisp
smurfrobot has quit [Remote host closed the connection]
zmt00 has quit [Quit: Leaving]
<jackdaniel> asarch: there is a huge gap between "fair share" and "free books", I think that you mistake these two terms
<jackdaniel> I'm pretty sure RMS doesn't promote idea of free labor in contrast to fair share and the consumer rights to have control over what he bought / use
neoncontrails has quit [Remote host closed the connection]
<jackdaniel> (re the article you have linked)
<asarch> D'oh! Ok, I will re-read it (maybe because my English was very limited back then)
<asarch> Where about in France are you in beach?
<jackdaniel> and generally, fsf encourages to buy the manuals from them, but doesn't close the door for people, who are not interested in spending money for other people effort (wikipedia, on the other hand, encourages donations, which for some reason outrage some people)
heurist has quit [Ping timeout: 256 seconds]
Karl_Dscc has joined #lisp
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #lisp
LocaMocha has joined #lisp
bugrum has quit [Remote host closed the connection]
heurist has joined #lisp
mishoo has quit [Ping timeout: 264 seconds]
<beach> My solution to expensive books is to self publish and to set a reasonable price on the book. That way, more people can afford it, and I get paid significantly more per copy sold than if I had used a publishing company.
terpri has joined #lisp
LocaMocha has quit [Ping timeout: 240 seconds]
oleo has quit [Quit: Leaving]
<jackdaniel> I like the idea promoted by leanpub (namely: author sets minimum price and suggested price, user may pay any amount [min-price; inf)) and service takes 10% itself
joast has quit [Ping timeout: 268 seconds]
<jackdaniel> so royalty for the author is 90% and it is possible to publish book with minimal price 0 (of course it is only for electronic books afaik)
<jackdaniel> study shows, that people often pay more for books which have minimal cost $0 if they find them useful
<beach> Yeah, it has to cover the cost of printing and distribution.
<jackdaniel> but that's offtopic from my side, sorry about that
LocaMocha has joined #lisp
pjb` has joined #lisp
<DeadTrickster> Hi loke
<jackdaniel> // one last remark, there is apparently service called lulu, which allows you to print electronical books *you own* for some reasonable fee
pjb has quit [Ping timeout: 272 seconds]
<shka> beach: when this book will be available?
momofarm has joined #lisp
<dmh> i have used lulu to print many reference manuals to great effect
dec0n has joined #lisp
<beach> shka: I have one book in English available.
neoncontrails has joined #lisp
HoloIRCUser has joined #lisp
<shka> oh well
<HoloIRCUser> Hello world
<beach> Hey HoloIRCUser.
fikka has joined #lisp
HoloIRCUser is now known as swhc
<shka> beach: is that first book you published?
<shka> *the first
<beach> Like that, yes.
<swhc> Which
<swhc> Book
<shka> yes
<beach> swhc: The one I gave a link to.
<swhc> I
<swhc> where is the link ? I can't see the history
LocaMocha has quit [Ping timeout: 264 seconds]
<beach> I think we should drop the subject now, and pick it up when I have Common Lisp related books to show.
<jackdaniel> speaking of books, I've ordered PAIP and it arrived on Monday
<jackdaniel> looks impressive :)
<beach> It is.
<beach> Very good book.
<swhc> Is it good for beginner s
fikka has quit [Ping timeout: 248 seconds]
swhc has quit [Remote host closed the connection]
HoloIRCUser has joined #lisp
<beach> HoloIRCUser: No.
HoloIRCUser has quit [Client Quit]
HoloIRCUser has joined #lisp
HoloIRCUser is now known as swhc
dddddd has joined #lisp
swhc has quit [Remote host closed the connection]
<jackdaniel> minion: tell swhc about pcl
<minion> swhc: please look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
<jackdaniel> minion: tell swhc about gentle
<minion> swhc: please see gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/
HoloIRCUser has joined #lisp
<jackdaniel> minion: tell swhc about ansi
<minion> ansi: No definition was found in the first 5 lines of http://www.cliki.net/ansi
<jackdaniel> hm
HoloIRCUser has quit [Remote host closed the connection]
<beach> jackdaniel: Since the maintainer of minion does not want to adapt it to the new format of cliki, I often give minion explicit entries so as to avoid that message.
<asarch> Marijn Haverbeke gives his book for free
mishoo has joined #lisp
HoloIRCUser has joined #lisp
LocaMocha has joined #lisp
HoloIRCUser is now known as swhc
<jackdaniel> asarch: this is not channel dedicated to javascript
<asarch> Packt once in a while lets you download some titles for free
<asarch> I mean, speaking about books
Karl_Dscc has quit [Remote host closed the connection]
<jackdaniel> asarch: I think this discussion fits better #lispcafe (and I'm aware I did carry offtopic myself ;)
swhc has quit [Remote host closed the connection]
HoloIRCUser has joined #lisp
<asarch> Anyway, thank you very much guys
<asarch> And I really sorry for stealing Peter Seibel's work. I promise I will compensate him
LocaMocha has quit [Ping timeout: 272 seconds]
greaser|q has quit [Changing host]
greaser|q has joined #lisp
<asarch> I will write a book about learning Lisp (Common Lisp) and I will give it for free
greaser|q is now known as GreaseMonkey
HoloIRCUser has quit [Read error: Connection reset by peer]
<beach> asarch: Good luck.
<asarch> Have a nice day :-)
<asarch> See you later
<asarch> Viel Spaẞ!
asarch has quit [Quit: Leaving]
flamebeard has joined #lisp
<jackdaniel> I'm pretty sure you didn't steal it, it is available for free after all
LocaMocha has joined #lisp
<jackdaniel> yet PCL is on my to-buy list, I want to have it in my collection
<phoe> jackdaniel: depends. MINIX is also available "for free" and yet it's possible to steal it; just don't obey the terms under which it is licensed.
* phoe afk
HoloIRCUser has joined #lisp
HoloIRCUser has quit [Remote host closed the connection]
quazimodo has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
tcr has joined #lisp
Mon_Ouie has joined #lisp
d4ryus1 is now known as d4ryus
fikka has joined #lisp
Cymew has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
neoncontrails has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
SaganMan has joined #lisp
neoncontrails has joined #lisp
odin has quit [Quit: ZNC - http://znc.in]
mrSpec` is now known as mrSpec
wigust_ has quit [Ping timeout: 255 seconds]
Amplituhedron has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
scottj has joined #lisp
felics has joined #lisp
felics has quit [Client Quit]
fikka has joined #lisp
murii has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
_cosmonaut_ has joined #lisp
AlexeyKamenew has joined #lisp
AlexeyKamenew has left #lisp [#lisp]
Cymew has quit [Remote host closed the connection]
fikka has joined #lisp
Cymew has joined #lisp
moei has joined #lisp
heurist` has joined #lisp
heurist has quit [Ping timeout: 256 seconds]
trosa-work has joined #lisp
jmercouris has joined #lisp
hhdave has joined #lisp
nullman has quit [Ping timeout: 250 seconds]
nullman has joined #lisp
momofarm has quit [Ping timeout: 264 seconds]
ebrasca has left #lisp ["ERC (IRC client for Emacs 25.2.1)"]
trosa-work has quit [Remote host closed the connection]
ryanbw has joined #lisp
elephanter has quit []
red-dot has joined #lisp
igemnace has quit [Quit: WeeChat 2.0]
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
<jmercouris> so, I've created this snippet of code here: https://gist.github.com/a16b5106ad918bbd843c304f09918e08
<jmercouris> I'm curious, how might some of you write it instead? would you have used map? checked the result of the function etc?
<jmercouris> E.g. what could be a better way to write it
<jmercouris> What is the goal of the snippet? To load quicklisp if it is in either one of those directories
<beach> I see two small problems. The first is the indentation of the DO clause of the call to LOOP. The second is the name of the function LOAD-QUICKLISP which suggest that it is always capable of loading Quicklisp.
<beach> Also, for that kind of loop, you can write it as (mapc #'load-quicklisp ...).
<beach> And you can use a quoted list rather than calling LIST, because the list is not going to be modified.
<beach> You might consider signaling an error if the file can not be found in any of those directories.
<beach> Like rename load-quicklisp to maybe-load-quicklisp and have it return a Boolean value indicating whether it found the file to load.
test1600 has quit [Quit: Leaving]
<pjb`> And you might consider shortcutting it when the loading has been done.
<beach> Yeah.
<pjb`> If you have both directories, it probably will be bad to load both.
pjb` is now known as pjb
<beach> Then you can write the loop like this (unless (loop for path in ... some (maybe-load-quicklisp ...)) (error ...))
<beach> Something like that.
<pjb> (find (function maybe-load-quicklisp) '(".quicklisp/setup.lisp" "quicklisp/setup.lisp"))
EvW1 has joined #lisp
<pjb> Since the current implementation of load-quicklisp will return true only if loaded.
<pjb> clhs load
<beach> pjb: find-if?
<pjb> Right, sorry, FIND-IF.
White_Flame has quit [Ping timeout: 255 seconds]
<beach> Well, if the current function is supposed to return a Boolean indicating success, it needs to be rewritten. Because as it is written now, it should only be used for side effect.
<pjb> Do you say that for the WHEN? It's already returning the wanted boolean.
White_Flame has joined #lisp
<beach> Semantically speaking yes, but not software-engineeringly speaking.
<pjb> How would you write it?
EvW1 has quit [Ping timeout: 272 seconds]
<beach> Hold on, I removed the page...
<beach> clhs load
<beach> checking the return value of LOAD.
<beach> It depends on whether you want an error to be signaled or not.
dddddd has quit [Remote host closed the connection]
<beach> Probably (and (probe-file ...) (load ... :if-does-not-exist nil))
White_Flame has quit [Ping timeout: 260 seconds]
<pjb> Right.
<beach> Maybe probe-file is unnecessary though.
<beach> clhs probe-file
<pjb> You don't need the probe-file, since it could be deleted between the two calls.
<pjb> (defun maybe-load-quicklisp (path) (load (merge-pathnames path (user-homedir-pathname)) :if-does-not-exist nil))
<beach> Indeed, so just (load ... :if-does-not-exist nil)
<pjb> ye.s
<beach> Good.
<pjb> Now there could be other errors while loading. Perhaps we want to ignore them to try the next one.
<beach> Possibly.
<pjb> (defun maybe-load-quicklisp (path) (ignore-errors (load (merge-pathnames path (user-homedir-pathname)) :if-does-not-exist nil)))
<beach> jmercouris: By the way, I like your approach to learning idiomatic code. Some people who come here couldn't care less.
quazimodo has quit [Ping timeout: 256 seconds]
lisp_guest has joined #lisp
<republican_devil> is lisp really more productive than smalltalk haskell prolog?
<republican_devil> i gave up
<republican_devil> but maybe I should go back to gentle intro
<republican_devil> and learn it
<republican_devil> seems complex
orivej has joined #lisp
<jmercouris> pjb: How can I shortcut when it is done if I do mapc?
<jmercouris> I will have to write a loop in this case, no?
<jmercouris> beach: Thanks, I am trying to understand how a Lisper thinks and what are the strengths of the language
<pjb> Using FIND-IF as indicated above is simplier than using MAPC. With MAPC you would have to wrap it in a BLOCK and RETURN-FROM it.
<pjb> republican_devil: it's actually quite simple.
<pjb> Way simplier than Haskell or Prolog.
<pjb> republican_devil: you may try Smalltalk, if you want to benefit from an integrated GUI IDE using eg. Squeak.
<jmercouris> pjb: Ah, somehow I missed that part after your nick changed, okay, I got it, thank you!
<pjb> republican_devil: http://squeak.org
<pjb> republican_devil: the gentle intro is smooth anyways. You may also consider other books or tutorial, see http://cliki.net for references.
AlexeyKamenew has joined #lisp
White_Flame has joined #lisp
guaqua_ is now known as guaqua
<republican_devil> I have tried a few times and then I stop and when I come back I forgot msot
<republican_devil> actually I rememebr liek 80%
<republican_devil> so overall programmign experience in lisp is still best once get hang of it?
<turkja> republican_devil: for me this was the gentle introduction: http://www.gigamonkeys.com/book/
<republican_devil> do you feel lisp>php etc for web?
wxie has joined #lisp
<turkja> productivity... is of course interesting, but personally i don't program in lisp for being productive. For that i'd choose python. Lisp programming is simply fun, and it feels right and correct. Purely personal opinion, obviously.
<jmercouris> turkja: As a "expert" python developer and "novice" lisp developer, I would say one is not necessarily more or less suited to productivity
<jmercouris> turkja: It depends on your application, if your spec will change and you must update a lot, lisp is infinitely more flexible
<jmercouris> if your goal is to hammer something out with a clear spec, python will oft be quicker
<turkja> jmercouris: i'm actually referring simply to available libraries etc
<jmercouris> turkja: ah, then yes, in this case python is unbeatable
<turkja> and to the hammering, which seems to be the way to do things
<jmercouris> though every library invents its own stupid paradigms
<pjb> republican_devil: try to write some lisp code everyday to keep sanity after 8 hours of torture with java or whatever.
<pjb> I find python way too limited: you only have OOP to work with python. In CL you can use any paradygm you want or need, and you can even invent new ones.
<jmercouris> pjb: There's a lot more than just OOP, you could program in a completely functional style in python, functions are first class citizens etc
<jmercouris> You could also do procedural code if you wanted to
<jmercouris> Also there are some limited "macros" like things called "decorators"
<pjb> jmercouris: no lambda worth it.
<jmercouris> pjb: You can create lambdas in python
<pjb> only oneliners.
<jmercouris> pjb: You could break it into multiple lines by using \
<pjb> :-)
<pjb> What a joke…
<jmercouris> ah, well, it is annoying to do, but there are other control structures that allow you to break across new lines
<pjb> It's turing complete so you can also use python to implement CL…
<jmercouris> Like if you have a function you can break the args on new lines without \
<jmercouris> I've actually done that
<jmercouris> I've also implemented a Lisp in C as well
<jmercouris> way back when I was going to try to make my browser emacs style with a "lisp interpreter" and "c functions" for fast things
<jmercouris> It's amazing what you don't know you don't know, that would have been a horrific codebase to work with
SuperJen has joined #lisp
<jmercouris> One of the best and worst decisions in python was to do code indenting with spaces and no brackets or anything
<jmercouris> forces your code to be very neat, and break apart complexities if you see that a line is getting too long, but it is also very infuriating sometimes
wxie has quit [Quit: Bye.]
<jmercouris> This isn't #python though, so I'll refrain from elaborating further :D
<Shinmera> Fare: Around?
Guest39874 has quit [Ping timeout: 272 seconds]
Sigyn has quit [Quit: People always have such a hard time believing that robots could do bad things.]
Sigyn has joined #lisp
Sigyn has quit [Read error: Connection reset by peer]
<turkja> For me the biggest strength of Lisp is the compiler integration with slime and friends, and the whole idea of iterative or interactive programming (sorry i can't find better term). That i simply cannot find in any other language
<turkja> actually the simple idea of "live compiler" living in my program makes me smile :D
Sigyn has joined #lisp
<Shinmera> What pains me most about my current Android development is the lack of function reloading and the lack of a REPL to try things.
<Shinmera> There's lots of stuff that annoys the hell out of me beside that, but that's what's costing me the most time.
<drdo> What annoys me most about android development is android
<turkja> Shinmera: you have been spoiled!
<Shinmera> I like to think that the rest of the world has been living with their legs chopped off instead.
Jen has joined #lisp
Jen is now known as Guest19887
<turkja> hehe
JenElizabeth has joined #lisp
<jmercouris> Shinmera: You can use ECL to develop on android
<jmercouris> You can also use it with EQL even
<jmercouris> if you were feeling particularly hard-core you might look at what is possible with NDK and make bindings
SuperJen has quit [Ping timeout: 248 seconds]
<Shinmera> No thanks
<jmercouris> Are you using java or kotlin?
Guest19887 has quit [Ping timeout: 264 seconds]
<Shinmera> Java
<Shinmera> I'm not going to switch, so no thanks in advance
<jmercouris> I understand, invested time
<jmercouris> I'm much more comfortable myself with java anyway
SaganMan has quit [Quit: WeeChat 1.6]
<jmercouris> I don't really feel limited at all actually, except for the REPL part
<jmercouris> You can do a lot of stuff though with the debugger, it would be worth exploring its capabilities imo
<jmercouris> Shinmera: This looks interesting: https://github.com/jasonwyatt/Android-DebugPort
<jackdaniel> havign repl on my phone is certainly fun
raynold has quit [Quit: Connection closed for inactivity]
jfb4 has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
jfb4 has joined #lisp
varjag has joined #lisp
EvW has joined #lisp
<Shinmera> To bring this back around to lisp, my Android work is to create a native app for my lisp chat system. https://filebox.tymoon.eu//file/TVRRM09RPT0=
wxie has joined #lisp
wxie has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
<logicmoo> trying to decide between *default-pathname-defaults* of "" or the current working dir when lisp starts up
FreeBirdLjj has quit [Ping timeout: 264 seconds]
foom2 has joined #lisp
<logicmoo> hyperspec suggests current working dir but everyone else does ""
<Shinmera> The trick is that once you hit the filesystem relative paths automatically get turned into absolute ones by being relative to the cwd
<Shinmera> So "" is a good choice as it avoids cluttering up pathnames that get merged with *d-p-d*
<logicmoo> ok i guess i might go with that
jmercouris has quit [Ping timeout: 240 seconds]
foom has quit [Ping timeout: 255 seconds]
hel-io has joined #lisp
Cymew has quit [Remote host closed the connection]
<logicmoo> oh hrrm (truename ".") doesnt work on clips to get the cwd
<logicmoo> clisp*
<logicmoo> does on sbcl
<logicmoo> i kind of understand that clisp is following the hyperspec in that "." is not an existing file
Amplituhedron has quit [Ping timeout: 272 seconds]
<logicmoo> " TRUENAME: "/home/dmiles/logicmoo_workspace/packs_usr/wam_common_lisp/t/." names a directory, not a file"
<mfiano> If you're working with pathnames you probably want to be using uiop anyway
hel-io has quit [Ping timeout: 248 seconds]
ninegrid has quit [Read error: Connection reset by peer]
ninegrid has joined #lisp
<logicmoo> mfiano: right on, currently i am writing truename and making sure uiop has somethuing to target https://github.com/TeamSPoon/wam_common_lisp/blob/master/prolog/wam_cl/pathnames.pl
<myrkraverk> Ok, there's something about macros in general, or with- macros in particular that I don't understand.
<myrkraverk> Given
<myrkraverk> (defun invoke-with-foo (continuation) (funcall continuation 'foo))
<myrkraverk> and
<myrkraverk> (defmacro with-foo ((foo) &body body) `(invoke-with-foo (lambda (,foo) ,@body)))
<myrkraverk> why does (with-foo (bar) (format t "~a~%" bar)) ; work?
<Shinmera> Why wouldn't it
<myrkraverk> That is, I don't "get" the (lambda (,foo) ...) part.
<TMA> myrkraverk: try (macroexpand '(with-foo (bar) (format t "~a~%" bar)))
<myrkraverk> ok.
<myrkraverk> Ah, so the ,foo turns it into bar during macro expansion.
<myrkraverk> That was the part that was puzzling me.
AlexeyKamenew has quit []
<basket> myrkraverk: Backquote is just shorthand for consing together lists, so if foo is bound to bar, then `(lambda (,foo) (fn ,foo)) is the same thing as (list 'lambda (list foo) (list 'fn foo))
<basket> myrkraverk: The unquoted expressions are just evaluated as normal
lnostdal has quit [Ping timeout: 272 seconds]
<myrkraverk> Right.
norserob has joined #lisp
<myrkraverk> Question, do compilers (sometimes) optimize away the extra funciton calls due to lambdas?
<Xach>
m00natic has joined #lisp
<myrkraverk> Not that it matters in my case, I'm just curious.
gigetoo has quit [Ping timeout: 246 seconds]
<logicmoo> in wam-cl i sometimes convert the lamda into a real call.. but in the case you gave there i probably wouldnt
gigetoo has joined #lisp
<logicmoo> naw i guess it could still conver to merely (format t "~a~%" bar)
joast has joined #lisp
lnostdal has joined #lisp
LiamH has joined #lisp
<jdz> logicmoo: did you intend (truename "./")?
<logicmoo> jdz: oh actualyl i did
<logicmoo> and clisp doesnt return the same error
<logicmoo> (although it could if it wanteD)
<phoe> beach: I just realized.
<phoe> I think the CL standard assumes that all pathnames create some kind of hierarchical tree-like structures.
<phoe> How would pathnames work in your LispOS?
norserob has quit [Quit: leaving]
attila_lendvai has quit [Quit: Leaving.]
<Shinmera> paths can be interpreted as a series of tags
<Shinmera> and truename would produce a canonical ordering of the tags.
<phoe> I see.
Bike has joined #lisp
Denommus has joined #lisp
<beach> phoe: I haven't really thought about it much. What Shinmera says sounds plausible.
<pjb> myrkraverk: theorically, they could. In practice, I don't know if many CL compilers do. This is something you'd find probably more in scheme compilers.
<myrkraverk> Ah.
<pjb> myrkraverk: similarly, all the functions in CL can be open-coded (implemented as special operators). So a CL compiler is free to transform a mapcar lambda whose result is ignored into a dolist.
<pjb> But I don't know any doing that.
Tobbi has joined #lisp
<pjb> Perhaps sicl will be able to do it.
<Bike> i think sbcl actually does that even if the result is ignored
warweasle has joined #lisp
<Bike> isn't ignored*
Sigyn has quit [Quit: People always have such a hard time believing that robots could do bad things.]
Cymew has joined #lisp
fikka has quit [Ping timeout: 272 seconds]
EvW has quit [Ping timeout: 255 seconds]
Sigyn has joined #lisp
Denommus has quit [Quit: restarting emacs]
<Shinmera> pjb: SBCL does a lot of special-case transforms.
<Bike> at least, it open codes mapcar so that (mapcar f ...) turns into a loop of (funcall f ...), and i think if f is a constant function it can inline that
EvW has joined #lisp
<beach> It looks like a normal case of inlining to me.
<Bike> pretty much
murii is now known as Murii
emacsoma` has quit [Ping timeout: 248 seconds]
_cosmonaut_ has quit [Ping timeout: 240 seconds]
<pjb> Ok. that's great that such an optimization be implemented.
<Shinmera> Other things have more interesting stuff going on with deftransform.
oleo has joined #lisp
jmercouris has joined #lisp
sjl has joined #lisp
Denommus has joined #lisp
zmt00 has joined #lisp
Denommus` has joined #lisp
vydd has joined #lisp
vydd has quit [Changing host]
vydd has joined #lisp
Denommus has quit [Ping timeout: 272 seconds]
mishoo has quit [Ping timeout: 260 seconds]
jfb4 has quit [Ping timeout: 248 seconds]
Denommus` has quit [Quit: rebooting]
EvW has quit [Ping timeout: 240 seconds]
jfb4 has joined #lisp
fikka has joined #lisp
smurfrobot has joined #lisp
EvW has joined #lisp
Cymew has quit [Remote host closed the connection]
Jesin has joined #lisp
neoncontrails has quit [Ping timeout: 256 seconds]
neoncont_ has joined #lisp
mathrick has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
cro__ has quit [Read error: Connection reset by peer]
Cymew has joined #lisp
smurfrobot has quit [Remote host closed the connection]
ski_ is now known as ski
fikka has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
Cymew has quit [Ping timeout: 272 seconds]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
Cymew has joined #lisp
mishoo has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
JuanDaugherty has joined #lisp
Cymew has joined #lisp
flamebeard has quit [Quit: Leaving]
Cymew has quit [Ping timeout: 260 seconds]
ryanbw has quit [Ping timeout: 248 seconds]
svgDelux has quit [Ping timeout: 246 seconds]
BitPuffin|osx has joined #lisp
eudoxia has joined #lisp
Rawriful has joined #lisp
rippa has joined #lisp
nullman has quit [Ping timeout: 240 seconds]
nullman has joined #lisp
dec0n has quit [Read error: Connection reset by peer]
attila_lendvai has quit [Quit: Leaving.]
smurfrobot has joined #lisp
hattkunskapz has joined #lisp
<jmercouris> I'm trying to develop a macro, but unfortunately, there are two variable length sections, normally I would use something like ,@rest but I can't see how that would work here:https://gist.github.com/07a0cbaedd4f0aebb8d05646c3397426
scymtym has quit [Ping timeout: 258 seconds]
<Bike> (defmacro defparen (name lambda-list &body body) ...) seems fine to me
<Bike> well, no idea about the innter html part
<jmercouris> Bike: how would lambda-list work if there are a variable number of args
<jmercouris> that's my question, will it treat (arg1 arg2) as one variable within the macro?
<Bike> It's one value. A list.
<jmercouris> Okay, that's what I wanted to clarify
<Bike> (defmacro test (thing) `(quote ,thing)) (test (arg1 arg2)) => (ARG1 ARG2) no problem.
<jmercouris> Ok, let me try writing it now, knowing this
<Bike> How else could it work?
<jmercouris> Yeah, I had this gap in my knowledge, I assumed it consumed every word as a new argument to the macro
<jmercouris> I assume now it just consumes every sexp as a new arg? or am I wrong here?
FreeBirdLjj has quit [Remote host closed the connection]
smurfrobot has quit [Remote host closed the connection]
<Bike> what is a word?
<jmercouris> Hmm, yes, I'm not sure how to describe it in this context, so I'll just list the words in my example
<jmercouris> so, defparen, namexy, help-contents I assumed were all words
<Bike> symbols?
<jmercouris> that would be individual "tokens" or whatever passed to the macro
<jmercouris> ok, so here's another thought, what if I wanted to get at the individual arguments within the list, how would I do that?
<Bike> it's a list. you use car, cdr, first, second, so on.
<jmercouris> I don't actually need to do this, I'm just trying to improve my understanding of macros
<jmercouris> Ah okay, so within the macro it is literally a list
karswell_ has joined #lisp
<Bike> So you were worried that if you wrote (defmacro defparen (name lambda-list &body body) ...) and then tried (defparen foo (a b) ...), it would bind lambda-list to a, and body to (cons b ...)?
<Bike> in other words, that it would just ignore what you wrote? that would be perverse.
orivej_ has joined #lisp
<jmercouris> Bike: Yes, that is what I was thinking it would do
<jmercouris> I guess I should have just tried it first, but I figured maybe there is something else I can learn as well by asking here
<phoe> What's the practical difference between (defmacro foo (bar baz qux) ...) and (defmacro foo (bar (&rest baz) qux) ...)?
<Bike> geez, the system isn't actively trying to fuck you over
orivej has quit [Read error: Connection reset by peer]
ahungry has joined #lisp
<Bike> phoe: (foo a b c) doesn't work in the latter case, eg
<jmercouris> I'm not saying the system is out to get me, but we don't exactly get a long 100% of the time :D
<jmercouris> Bike: Do you have a repository of your code I can look at?
<Bike> jmercouris: have you read PCL or something? i don't mean to be mean, but symbols are pretty fundamental and it worries me that you're so far into an involved program like a browser without knowing about them.
<Bike> Mine? I'm Bike on github. I mostly work on clasp at the moment, though.
<jmercouris> Bike: I've read it, the section about macros didnt really click with me
<jmercouris> Bike: I actually consulted my notes from the book on Macros while thinking about this issue
FreeBirdLjj has joined #lisp
<Bike> clasp and sicl. so drmeister/clasp and robert-strandh/sicl.
<jmercouris> In terms of symbols, I'm hesitant to use the word because it feels like I use it in the wrong way every time I talk about it :D
Jesin has quit [Quit: Leaving]
dyelar has joined #lisp
<jmercouris> I am well aware of what they are, I just avoid the term
<Bike> that's like avoiding talking about integers, you know?
dyelar has quit [Client Quit]
<jmercouris> It's hard for me to talk precisely
Mon_Ouie has quit [Ping timeout: 240 seconds]
<jmercouris> The concepts are clear in my head, but some part of the interface head:mouth jumbles things up
<Bike> Anyway here's a brief explanation of macros. Say the evaluator or compiler runs into the form (foo ...), as in a list where the first element is the symbol foo. It knows that there's a macro named by that symbol. To evaluate or compile the form, it looks up the macro function with that name, and calls it with two arguments: the form (foo ...), and the current environment. Then it proceeds recursively, evaluating or compiling, on the res
<Bike> In other words macro functions are normal functions.
<jmercouris> so a macro is a defun with some special syntax to output symbols?
<jmercouris> and expand lists of symbols etc?
<Bike> No. I didn't say that.
<jmercouris> Okay so let me start over then
<jmercouris> defmacro defines a function with some special name
<jmercouris> the compiler knows of that function and looks it up when finding a symbol with a special name
<jmercouris> all the arguments to the special macro function are the complete form body of the special named symbol
<jmercouris> yes?
karswell_ is now known as karswell
<Bike> The macro function gets two arguments. The first one is the form, the second one is the environment. defmacro arranges things so that it destructures the form into the lambda list you specify
<Bike> Like, you know you can do (destructuring-bind (foo bar) '(1 2) (+ foo bar)) => 3, right?
FreeBirdLjj has quit [Ping timeout: 264 seconds]
<jmercouris> I did not know that
<Bike> okay... let me take a different tack here
<Bike> Let's have a macro (defmacro my-let (var value &body body) `(let ((,var ,value)) ,@body))
<Bike> so (my-let x 3 (+ x 7)) expands into (let ((x 3)) (+ x 7)), basically trivial.
<jmercouris> yea, this so far I understand
rpg has joined #lisp
<Bike> We can have (defun my-let-mf (form environment) (declare (ignore environment)) (destructuring-bind (var value &body body) (rest form) `(let ((,var ,value)) ,@body))
khisanth_ has quit [Ping timeout: 248 seconds]
<Bike> my-let-mf is obviously just a normal function.
<Bike> and if we do (my-let-mf '(my-let x 3 (+ x 7)) nil), we get (LET ((X 3)) (+ X 7)) same as the macro expansion.
<jmercouris> Give me a second to process everything
<Bike> my-let-mf essentially implements the macro function of the original my-let macro.
<jmercouris> Ah, I get it
<Bike> If you don't know destructuring-bind, we can be more verbose and write (let ((var (second form)) (value (third form)) (body (cdddr form))) `(let ...)) instead.
<Bike> only list operations, in other words. no magic
<jmercouris> yes, I understand now
<jmercouris> Thank you for taking the time to explain it to me
<Bike> As it happens we can also get the macro function explicitly, with (macro-function 'my-let). If we do (funcall (macro-function 'my-let) '(my-let x 3 (+ x 7)) nil) it returns the same as my-let-mf.
<Bike> glad you get it
<jmercouris> I have read PCL a couple times now actually, and this is the only time it has made sense to me how they actually work
dyelar has joined #lisp
lisp_guest has quit [Ping timeout: 264 seconds]
scymtym has joined #lisp
White_Flame has quit [Ping timeout: 272 seconds]
dddddd has joined #lisp
nalkri has quit [Ping timeout: 272 seconds]
fikka has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
Achylles has joined #lisp
lisp_guest has joined #lisp
<beach> Bike: Great explanation!
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Bike> like most things about eval, it makes more sense once you've written eval
varjag has quit [Ping timeout: 272 seconds]
<beach> Heh, indeed.
attila_lendvai has quit [Client Quit]
BitPuffin|osx has quit [Ping timeout: 264 seconds]
<jackdaniel> (destructuring-bind (&key a b c) '(:a 3 :b 4 :c 6) …) ;is a nice way to destruct things too
Achylles has quit [Remote host closed the connection]
nalkri has joined #lisp
Murii has quit [Ping timeout: 248 seconds]
Jesin has joined #lisp
<jackdaniel> http://quickref.common-lisp.net/ – cool stuff
fikka has joined #lisp
<beach> Bah, Cluffer is not in there.
<jackdaniel> is it already in Quicklisp?
<beach> I hope so.
khisanth_ has joined #lisp
<beach> Maybe not.
<beach> :(
JenElizabeth has quit [Remote host closed the connection]
<jackdaniel> right, I can't see it with ql:system-apropos
<jackdaniel> but I don't have newest dist
<beach> Me neither.
<jackdaniel> just updated, still no cluffer
<beach> OK, I should submit it then.
<jackdaniel> did you make an issue on quicklisp-projects to add it?
<jackdaniel> right
<beach> I must have forgotten. It happens.
fikka has quit [Ping timeout: 256 seconds]
varjag has joined #lisp
Tobbi has joined #lisp
hattkunskapz has quit [Read error: Connection reset by peer]
rm8 has joined #lisp
<TMA> is there a way to distinguish between a list and nonlist argument to format? ~:[ and ~@[ can be used for NIL/non-NIL test, but I would like to wrap ~{ so that it will not error on non-list e.g. in (format t "~{~s~}" 4)
<Fare> quickref.quicklisp.org fails the usual way with uiop: it only looks at the first package, uiop/package.
<sjl> I wish these autogenerated doc systems had a way to link to the actual docs, for people like me who take the time to write them
<sjl> there's `:homepage` in ASDF's `defsystem`, maybe that's something that could be used
<jackdaniel> sjl: I think it links whole README.md toplevel file – that might be a good place to point all the pointers
<sjl> because if someone finds these "docs" for my stuff and thinks that's all there is, they're going to be disappointed https://i.imgur.com/5gebjQF.png
<Bike> TMA: what should it do instead?
<jackdaniel> s/to point/to put/
papachan has joined #lisp
<sjl> jackdaniel: it includes the raw README.markdown, but hilariously it strips out the documentation link in it: https://simple-monosnap.s3.amazonaws.com/The_beast_Reference_Manual_2017-12-13_17-11-17.png
<jackdaniel> access denied (re png)
<sjl> ugh
Kaisyu has quit [Quit: Connection closed for inactivity]
<jackdaniel> technically link is there, but the renderer doesn't interpret markdown
<sjl> wow it just shoves the markdown right in there without sanitizing it huh
<jackdaniel> right, simple text paste
<sjl> hope no one inserts a bitcoin-mining <script> tag in their readme
<jackdaniel> I suspect everything is quoted
<jackdaniel> but idk, getting back to my toys :)
<sjl> doesn't look like it https://i.imgur.com/oswAGOy.png
<pjb> TMA: you can add a parameter: (format t "…" (listp foo) foo) and then dispatch on it with ~:[
<pjb> TMA: otherwise you can always implement your own format specifier and call it with ~/
<TMA> Bike: in my special case I have either a number or a list that gets printed via "~{~*~:{~*functor(~d, id(\"~a\"), [~{~*~@{id(\"~A\")~#[~:;, ~]~}~}])~%~}~}" -- the list prints fine, the number errors out. I would like to print the number with some other string (say "~S")
<beach> sjl: I totally agree with you. I take the time to write the documentation, and this system ignores it. On top of that, it documents implementation details such as slots.
<Bike> ok, pjb's got it then.
DeadTrickster has quit [Ping timeout: 272 seconds]
milanj has joined #lisp
<Shinmera> sjl: Another problem with any system other than Staple is that it won't support custom definitions.
<TMA> adding (listp ...) there is not an option, so the only thing is a custom format specifier
<sjl> Shinmera: I don't know what a "custom definition" means in this context
<Shinmera> Staple has a specific extension mechanism so your system can define additional constructs like Radiance's routes: https://shirakumo.github.io/radiance/#ROUTE%20RADIANCE-CORE%3ADOMAIN
<pjb> TMA: why is it not an option?
<sjl> honestly I feel like autogenerating html pages from docstrings is the least important part of documenting a system, but the part that people spend most of their effort on
<pjb> TMA: Is your atom replacing the whole list?
<pjb> sjl: parsing and introspecting the system is indeed the most important part.
<TMA> pjb: because it is already nested in a ~@{ several levels deep
<sjl> I'd rather read a usage guide that outlines the high-level design/API written on a napkin and scanned in as a jpeg than a fancy HTML page that just formats docstrings nicely
<Shinmera> That's fine for you, but I frequently use the symbol index, and also refer other people to specific definitions in case questions come up.
<pjb> TMA: yes, in that case your only choice is a specific format specifier. You can write it like ~? so that it takes "~{~*~:{~*functor(~d, id(\"~a\"), [~{~*~@{id(\"~A\")~#[~:;, ~]~}~}])~%~}~}" as parameter!
<Shinmera> So it is very important to me that it can include any kind of definition.
<sjl> Shinmera: sure. it's nice to have
Karl_Dscc has joined #lisp
<sjl> pjb: I already have tools for parsing and instrospecting systems. Parsing is done by my Lisp implementation, and instrospecting via docstring lookup and jump-to-def in my editor.
<pjb> TMA: Something like: (format t "~@{ … ~/fmt:list-or-atom/ …~}" "~{~*~:{~*functor(~d, id(\"~a\"), [~{~*~@{id(\"~A\")~#[~:;, ~]~}~}])~%~}~}" "atom: ~S" list-containing-everything-including-list-or-atom)
<sjl> what I *want* from authors is the high-level lay of the land. What are the user-facing parts of the system? How am I intended to interact with them?
<pjb> sjl: then once you have that you need to decide on a generated format. Keep in mind pandoc to convert to other formats.
<pjb> TMA: I don't remember if it's possible…ee
<sjl> pjb: I'm saying that I don't care very much if authors generate some formatted output for their docstrings at all. I can look up the docstrings (or code) in my editor.
<sjl> I would much rather them spend time giving me a view into the design of the system in their brain
Murii has joined #lisp
<pjb> sjl: ok.
<sjl> But that requires writing prose, not coding, which people often don't like to do
<Shinmera> My question is why not do both
<_death> sjl: right, it reminds me of the "any idiot can code" remark by Moon on the runtime experts panel.. but then, the authors of the doc tools aren't going to write the documentation for these 3K libraries, so they write a tool to help a little
hexfive has joined #lisp
<pjb> TMA: I'm afraid you will have to make your format specifier very specific, by embedding the formats "~{~*~:{~*functor(~d, id(\"~a\"), [~{~*~@{id(\"~A\")~#[~:;, ~]~}~}])~%~}~}" and "~S" in it.
<sjl> Shinmera: I mean, yeah if I can have my cake and also eat it, sure. I do both.
<pjb> TMA: since you want to use it in a loop, you cannot pass those format strings as parameters using ~V,V/list-or-atom/
EvW has quit [Ping timeout: 246 seconds]
<sjl> _death: the problem is that now we have a broken version of my docs competing with my actual docs in the google results :\
<pjb> sjl: you should have stayed in the dark web :-)
<TMA> pjb: It will do with a specific formatter. It would be more elegant to be more general, but the specific will be fine.
<pjb> There's no way to take multiple arguments for a custom format specifier, contrarily to ~? which takes a format string, and any number of argument it needs for it.
<_death> sjl: right, maybe it'd be a good idea to have an asdf property linking to the official documentation, and such systems can take it into account
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
<sjl> _death: yeah, it would be nice if ASDF had a `:documentation` property next to `:homepage`, `:bug-tracker`, etc
<sjl> and if these autodoc systems would use that to just link to the real docs when they exist
<pjb> it has :description and :long-description
<sjl> catting out all the markdown files my documentation directory into a giant `:long-description` seems subpar
hhdave has quit [Ping timeout: 240 seconds]
<sjl> especially when they contain screenshots, etc
fikka has joined #lisp
wigust has joined #lisp
<_death> the quickref thingy also doesn't support package-inferred-systems style very well, for now
<_death> (and maybe quicklisp projects are the right place for such tags, not asdf systems..)
<sjl> _death: I mean, ASDF already has :bug-tracker. :documentation seems to be roughly the same kind of thing.
fikka has quit [Ping timeout: 240 seconds]
<_death> sjl: ok, but :documentation is a bad name :)
<sjl> sure
<sjl> :external-documentation? :documentation-link?
* sjl doesn't have strong opinions on the name
<_death> :manual would encourage people to write manuals :)
Poetichristmas is now known as Poeticode
<sjl> :manual sounds reasonable
josemanuel has joined #lisp
ahungry has quit [Remote host closed the connection]
<Xach> ASDF once supported arbitrary key/value properties, but it was purged.
<jmercouris> Are you guys critiquing quickref?
<Shinmera> Sort of, and sort of just your weekly "people don't document again" whine
<_death> maybe the asdf mailing list (which I'm not currently reading..) is a good place for discussing such properties
ahungry has joined #lisp
<jmercouris> Ah, but it feels so cathartic :P
orivej_ has quit [Ping timeout: 240 seconds]
<_death> Shinmera: I think sjl came from the opposite site.. the one with people who document..
fikka has joined #lisp
smurfrobot has quit [Remote host closed the connection]
orivej has joined #lisp
<sjl> I used to do a lot of Python (especially Django) which has a pretty good documentation culture, yeah
<_death> I don't document my public libraries.. my excuse is that they're not expressly intended for public use..
Denommus has joined #lisp
Denommus` has joined #lisp
orivej has quit [Ping timeout: 248 seconds]
<Xach> Hmm! I have a warning condition that is being signaled by someone else's code. Is there a nice way, without wrapping calls that might signal the warning, to neuter the warning by e.g. redefining the condition?
<Xach> By "neuter" I mean not show any output, however that might be achieved.
Denommus has quit [Ping timeout: 272 seconds]
<_death> is there an advice facility?..
<Xach> No.
orivej has joined #lisp
u0_a166 has joined #lisp
<jmercouris> speaking of advice facilities, how do those work?
<jmercouris> what does it mean to "advise" a function, and how is it implemented in practice?
<Shinmera> Advice is CLOS method combination for the poor.
<Xach> jmercouris: it is a little like clos before/after/around methods, and it is implemented via indirection of some sort.
<Xach> Like tracing
<jmercouris> Xach: What do you mean by "tracing"?
<Shinmera> CL:TRACE
<Xach> jmercouris: when you trace a function, it is a specific case of advising something to show output before and after it is called.
<Xach> Edi Weitz's regex coach app used LispWorks advice to build an app accessing the internals of the library without modifying the library. It looked like a cool example to me.
<jmercouris> I see, is there built in support for this, or does every piece of software have to implement its own advice pattern?
<Xach> jmercouris: it is an implementation-level feature. sbcl does not have it. many others do.
<Xach> it is not standard and required. the interfaces vary from implementation to implementation.
<jmercouris> I see, so it's not part of the core spec
<Shinmera> You can write your own advice facility, but that will lose most of the point of it (being able to advise arbitrary functions)
<jmercouris> Unless of course you are writing a platform that people will extend
<jmercouris> in which case, your own platform functions are arbitrary functions for those are on your platform, and the point is still kept
<Xach> I wish sbcl had some of the traditional bells and whistles like advice and stepping. (Maybe it has stepping now? I haven't checked.)
<u0_a166> are you trying to write an interpreter or understand others?
<Xach> jmercouris: if you're designing an interactive or extensible system, i think it would be interesting to study hooks and advice and such.
<_death> I don't see it as obsoleted by CLOS, although there is certainly an overlap
<Shinmera> Xach: SBCL has had STEP for a good long time
<jmercouris> Xach: In fact I am
igemnace has joined #lisp
<Xach> Shinmera: does it work?
<Shinmera> Sure
<jmercouris> that's why I asked that question about hooks the other day
<Xach> Ok.
<Shinmera> I've used it a couple of times, but usually it's cumbersome because it's too fine-grained.
<jmercouris> u0_a166: Designing an interactive system, I'm not writing an interpreter
<sjl> SBCL has a bunch of extensions to CL:TRACE as well http://www.sbcl.org/manual/#Function-Tracing
<Xach> I like the trace options. They are handy.
<sjl> yeah
<Shinmera> With SBCL's TRACE options you can simulate advice
<Shinmera> Since there's before and aftter options.
<_death> in Xach case it'd be around
<Xach> Hmm!
<u0_a166> in your function definitions you could have a slot for prolog and epilog hooks and a global flag for if inside a hook
<Fare> Xach: hash-tables with systems as keys are this-a-way. subclasses of system are that-a-way.
<Xach> And here I was thinking that you could add trace with advice, but not vice versa.
<_death> I suppose you could set trace output or whatever to a broadcast in before, and restore it in after
<sjl> huh, TIL about :wherein for sbcl's cl:trace
<Xach> Fare: what is the context?
<jmercouris> u0_a166: Do functions have slots? I thought they had only arguments?
<u0_a166> that way when your function dispatcher dalls a function it could check hooks before calling, set the flag to not recurse infnitely, cal hook when needed...
<jmercouris> Are functions objects in CL?
<Fare> and the properties are deprecated but still haven't been removed yet, for backward compatibility
<_death> jmercouris: everything is an object
<u0_a166> whatever data structure your interpreter stores function definitions
<jmercouris> _death: So, functions have slots?
<_death> jmercouris: not all objects have slots
<Xach> asdf kibo strikes again
<jmercouris> _death: why not?
smurfrobot has joined #lisp
<Fare> "<Xach> ASDF once supported arbitrary key/value properties, but it was purged."
<_death> jmercouris: because that's the design.. there was a Lisp that took a CLOS-like system more pervasively called GOO.. maybe they have slots there
<_death> jmercouris: for Common Lisp, the purpose was that you could have a CLOS-less subset of it and still be able to claim with a straight face that it's a Common Lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<Xach> Fare: When PRIMARY-SYSTEM-NAME moved from ASDF/FIND-SYSTEM to ASDF/SYSTEM, it broke mgl-pax and part of named-readtables.
<_death> jmercouris: but you can simulate slots using weak hash tables
<Fare> Xach: does this go away after cleaning the .fasl cache?
<Fare> Xach: if not, it's higher-priority
<Xach> Fare: you mean that without loading from fasl, there is a symbol asdf/find-system:primary-system-name?
<Xach> The code in mgl-pax has a reference to asdf/find-system:primary-system-name. I don't think that exists in ASDF 3.3.1 any more.
<Fare> I mean that it's bad if a new ASDF breaks old mgl-pax fasls, but it's worse if mgl-pax can't load at all
neoncont_ has quit [Ping timeout: 264 seconds]
<Xach> I don't think mgl-pax can load in sbcl 1.4.2 with asdf 3.3.1 under any circumstance outside of changing its code.
<Fare> BTW, I sent PRs to melisgl early this year to fix some of his packages, but I don't think any were merged.
Jesin has quit [Quit: Leaving]
<Fare> He didn't reply to email or twitter probing either.
neoncontrails has joined #lisp
<Shinmera> Fare: So in qt-lib-generator when it needs to download the archives, it has to optionally load drakma and zip. I can't make these hard-dependencies because that would force them to be unnecessarily installed on many setups. However, since qt-libs needs to ensure the libraries are ready after it's been loaded, this optional loading of drakma might happen during a current load-op. Any advice on how to circumvent
<Shinmera> this?
<Fare> after 6 months of neglect and no response, is it time to fork the repository?
Jesin has joined #lisp
turkja has quit [Ping timeout: 260 seconds]
<Fare> Shinmera, not sure what the right thing is, here.
<Fare> ASDF pretty much has a static model for system dependencies.
<jmercouris> _death: Weak hash tables?
<Shinmera> It seems to currently work on my system if I do a manual ql-dist:install of the dependency tree of the systems and then just asdf:load-system.
<Shinmera> But since you said that's a "no-no" I'd be open to other approaches.
Cymew has joined #lisp
<Fare> Typically things like loading are done outside of ASDF, in a setup script, or using Quicklisp or some such.
<jmercouris> Fare: I think its time for a fork
tcr has quit [Ping timeout: 272 seconds]
<Fare> if you fork, please also fork madeira-port by Nikodemus, who also won't reply to probing regarding https://github.com/nikodemus/madeira-port/pull/6
<Fade> nikodemus seems to have fallen off the world. :(
<jmercouris> Fare: why do you not want to just fork it yourself?
<Fade> then he would own both pieces...
<Shinmera> jmercouris: He doesn't want to maintain it.
<jmercouris> Fade: I'm not following
<jmercouris> Ah, I see
<Xach> nikodemus has responded to my messages about it and I expect things to improve.
<Fare> also worthy of fork: https://github.com/slyrus/cxml-rng/pull/1
<Fare> jmercouris, because I'm retiring from CL.
<jmercouris> Fare: What? How old are you?
<Fare> old enough to adopt #gerbil-scheme instead
<jmercouris> Fare: Are you joking?
<Fade> we're sorry to see you go, Fare.
Cymew has quit [Ping timeout: 272 seconds]
<Fare> But I don't want to drop the ball and with happily fix the glaring bugs I introduced.
<phoe> 18:16 < jmercouris> Fare: What? How old are you?
* phoe snorts
<jmercouris> livejournal, I take it you are very old :P
<Fade> are you trying to make the greybeards feel bad?
<jmercouris> Absolutely not :D
<Fare> I'm grateful to CL and the its community for all they brought to me, but I want things that can't reasonably be done in CL. I'm already enjoying (and cursing) actor programming in Gerbil, for instance. Or its module system.
<Xach> They don't seem to occur with older ASDF.
<Fare> Xach: lemme take a look
CrazyEddy has quit [Read error: Connection reset by peer]
<Fare> Xach: I suppose the examples define and export some symbols?
<u0_a166> jmercouris, all communities have elders whether actually old or not. i don't know everyone either
<Fare> what is interesting is that the error wouldn't appear if you only loaded that code once, but something about the system causes it to be loaded twice
<Fare> "WARNING: Computing just-done stamp in plan NIL for action (ASDF/LISP-ACTION:PREPARE-OP "cl-portaudio-tests"), but dependency (ASDF/LISP-ACTION:LOAD-OP "cl-portaudio") wasn't done yet!"
CrazyEddy has joined #lisp
smurfrobot has quit [Remote host closed the connection]
ryanbw has joined #lisp
vibs29 has quit [Ping timeout: 248 seconds]
<jmercouris> u0_a166: How long have you been around?
vibs29 has joined #lisp
<u0_a166> a week or two
ryanbw has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 256 seconds]
<Fare> I sent this PR https://github.com/filonenko-mikhail/cl-portaudio/pull/4 but it doesn't explain the WARNING above. Or if it does, that's surprising to me.
<beach> jmercouris: I suggest you read the Common Lisp HyperSpec entry for "object". Not everything is an object, but probably more than you think.
rumbler31 has joined #lisp
<beach> jmercouris: While we are at it, every object has a class, too.
<beach> clhs class-of
<Fare> I don't get this WARNING or what looks like your loading the asd file three times, when I run on ASDF 3.3.1
<jmercouris> Wait a second
<jmercouris> a Class is an object, and an object has a class?
<beach> Yes.
<Shinmera> Welcome to the MOP
<jmercouris> Hmmm
<sjl> Ouroboros Oriented Programming
<_death> beach: what constitutes the class of nonobjects
<beach> _death: Oh, many things. For example comments in source code, or the indentation of the lines in the source code of a function.
<Fare> Xach: in any case, whatever is causing this loading of portaudio.asd 4 times (there was another time below the first build) and then triggering the WARNING about just-done is triggering an error latent in cl-portaudio-tests.
<beach> _death: The time it takes to run a function.
<beach> _death: The number of page faults.
pseudonymous has joined #lisp
<Fare> My PR fixes the latent error, but not the underlying issue (maybe something in your quicklisp test infrastructure?)
<_death> beach: it seems you take the concept out of context..
<beach> _death: Not at all.
<Fare> How does the test infrastructure invoke ASDF?
<beach> _death: When people are questioned about the "everything" in "everything is an object", it always boils down to "every object is an object".
<Fare> beach: non-objects are not "things".
zooey_ has joined #lisp
<Fare> :-)
<beach> Then we have a tautology as usual.
<_death> beach: I think "any Lisp datum" passes "everything" given such a question
<_death> *for
<Fare> a place? it's not an object. A type? It's not an object. A continuation? What are you talking about?
<beach> _death: Exactly, and "object" is defined to be a Lisp datum, so again we have "every object is an object".
<_death> beach: right.. and that is why everything is an object
<Bike> well actually, if you look at the original etymology, a number of page faults is definitely something the icelandic parliament could talk about, so it's a thing. [nods sagely]
zooey has quit [Ping timeout: 248 seconds]
<jmercouris> Bike: What?
<beach> _death: No "thing" and "Lisp datum" are not the same.
<jmercouris> If anyone wants to answer this brief survey: how long have you been programming in common-lisp?
<_death> beach: ok.. I don't like to quibble about such things anyway
<Fare> jmercouris, thing is the judiciary council of free men judging a case. By extension, the case is the thing, or any potential topic for a case.
<jmercouris> Fare: That didn't clarify it at all :D
<beach> Bike: Indeed. And I have been to thingvedlir (or however it would be spelled in English).
nalkri has quit [Read error: Connection reset by peer]
<beach> þingvedlir, maybe?
* beach goes to look it up.
<Fare> jmercouris, my first "real" code in CL was probably my patches to cliki and araneida. Or maybe fare-matcher. Some time in 2004 or before for sure.
<Bike> Oh, really? Neat
<Bike> Is that where the althing used to be, or the modern government structure? I guess the former is probably lost
<beach> þingvellir, apparently.
<beach> Yes.
<Bike> jmercouris: the word "thing". it originally meant a kind of judicial council in germanic cultures. the icelandic parliament is still called the "Althing".
<Fare> Bike: David D. Friedman wrote neat things about the Icelandic saga-era judicial system. And he recently published a book about judicial systems very different from ours.
<jmercouris> Bike: Huh, that's strange, in modern german, it means thing
<Bike> it means thing in english too. icelandic is kind of retro.
<jmercouris> I don't speak old german, so I wouldn't know I guess
<beach> German?
<jmercouris> What about it?
<beach> Never mind.
<jmercouris> "ding" = thing
<beach> Sure.
<Bike> and yeah, i've read a lot of the old icelandic sagas. pretty weird structure. horse-eating.
<jmercouris> they have a lot of d -> th transitions
* beach goes to spend time with his (admittedly small) family.
<Bike> see ya.
* jmercouris scratches head in perplexion at conversation that unfolded
<Fare> Xach: Could the multiple loading of cl-portaudio.asd be caused by the quicklisp restarts? That would explain it. I don't have a model though for this WARNING about just-done. Maybe along those restarts ASDF gets confused in the multi-stage session support?
nalkri has joined #lisp
varjag has quit [Ping timeout: 256 seconds]
LocaMocha has quit [Ping timeout: 248 seconds]
neoncontrails has quit []
Xal has quit [Ping timeout: 272 seconds]
fikka has joined #lisp
rpg has quit [Ping timeout: 256 seconds]
varjag has joined #lisp
Cymew has joined #lisp
Xal has joined #lisp
<Shinmera> jmercouris: My earliest CL related commit seems to be from October of 2014.
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
<sjl> beach: thingvellir would be the anglicization
fikka has quit [Ping timeout: 268 seconds]
Cymew has quit [Ping timeout: 260 seconds]
shka has quit [Quit: Konversation terminated!]
orivej has quit [Ping timeout: 264 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
shka has joined #lisp
damke has joined #lisp
<Xach> Fare: the session that produced that log does not use Quicklisp. it has an asdf search function that makes every project visible to asdf, but generally nothing else too unusual.
EvW has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
quazimodo has joined #lisp
orivej has joined #lisp
<jmercouris> I'm having some issues with using ps:regex in parenscript
<jmercouris> It seems that (ps:regex) does not actually eval it's arg, it can only handle strings
rgrau has joined #lisp
<Bike> not that i'm ultra familiar with javascript, but i'm going to guess that ps:regex is duplicating javascript regex literals, rather than the regular constructor, which can hopefully be referred to like any other function call
Denommus` is now known as Denommus
<jmercouris> Bike: You are correct
<jmercouris> I was thinking of just doing new Regex('some regex string') to work around this
<jmercouris> Kind of dumb that it doesn't eval the arg, it totally should, and then convert that to a literal
<Bike> eval the arg as lisp?
<jmercouris> yeah
<Bike> i don't know if that comports with parenscript's usual evaluation rules.
mepian has joined #lisp
<Bike> as a workaround, could you do (ps:lisp `(ps:regex ,...))
king_idiot has joined #lisp
<jmercouris> That's getting a little too meta
<jmercouris> I'm going to do this: (ps:new (-reg-exp regex-string regex-flags))
<jmercouris> Thanks for your comment though, it spurred me in the right direction
<Fare> Xach: well -- how do you iterate over systems? Are you invoking asdf once or multiple times? Any nested invocation?
QualityAddict has quit [Ping timeout: 264 seconds]
QualityAddict has joined #lisp
<Fare> I find the multiple loading of the asd file weird. It ought to be loaded only once in the lisp image, unless it or a defssystem-dependency was modified.
Trystam has joined #lisp
Younder has joined #lisp
krwq has joined #lisp
Tristam has quit [Ping timeout: 260 seconds]
Trystam is now known as Tristam
Cymew has joined #lisp
<Xach> Fare: i start a fresh session for each system. i work alphabetically by project and then alphabetically by system within that project. i don't clear fasl caches between systems but no two systems are loaded in the same session.
<Xach> not directly, that is
vlatkoB has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
<pjb> _death: there are no non-object in lisp: all lisp data is first class lisp object, and each data has a class.
eudoxia has quit [Quit: Leaving]
<pjb> _death: (mapcar 'class-of '(nil 1 "foo" #(bar baz))) #| --> (#<built-in-class null> #<built-in-class fixnum> #<built-in-class simple-base-string> #<built-in-class simple-vector>) |#
Cymew has quit [Ping timeout: 240 seconds]
<_death> pjb: right, that's what I meant when I said that in Lisp everything is an object.
specbot has quit [*.net *.split]
josh5tone has quit [*.net *.split]
Posterdati has quit [*.net *.split]
vhost- has quit [*.net *.split]
mood has quit [*.net *.split]
elts has quit [*.net *.split]
azrazalea has quit [*.net *.split]
elts has joined #lisp
DeadTrickster has joined #lisp
josh5tone has joined #lisp
Posterdati has joined #lisp
mood has joined #lisp
specbot has joined #lisp
vhost- has joined #lisp
azrazalea has joined #lisp
raynold has joined #lisp
Cymew has joined #lisp
fikka has joined #lisp
mepian_ has joined #lisp
mepian_ has quit [Client Quit]
<_death> and if you want to represent Lisp source text, or running time, or number of page faults, then these would be objects as well
<_death> since Lisp data is the universe of discourse when the question is asked: is everything an object?
rm8 has quit [Quit: i slep]
mepian has quit [Ping timeout: 256 seconds]
<_death> and the glossary provides that any Lisp datum is an object
Cthulhux` has quit [Changing host]
Cthulhux` has joined #lisp
scymtym has quit [Ping timeout: 246 seconds]
nalkri is now known as GCHQ
Cymew has quit [Ping timeout: 272 seconds]
shka has quit [Remote host closed the connection]
GCHQ is now known as ambisinistrous
cess11__ has quit [Ping timeout: 260 seconds]
micro has quit [Ping timeout: 260 seconds]
cess11_ has joined #lisp
micro has joined #lisp
nullman has quit [Ping timeout: 248 seconds]
nullman has joined #lisp
earl-ducaine has quit [Remote host closed the connection]
earl-ducaine has joined #lisp
copec has quit [Quit: checkity check out.]
copec has joined #lisp
copec has quit [Remote host closed the connection]
copec has joined #lisp
<Fare> Xach: for this log, did you concatenate multiple sessions? One to discover all the systems defined in that file, then one for each system?
scymtym has joined #lisp
Jesin has quit [Ping timeout: 240 seconds]
alexmlw has joined #lisp
<flip214> Who could help me get more information about ELS 2018? Our HR needs some informations that are not on the website yet (don't know which ones, though); who could I send the questions to?
<Shinmera> The mailing list that's linked
<Shinmera> Or the webmaster, which is also linked.
<flip214> Shinmera: okay, thanks a lot... can you tell me the fees of 2017? I guess that's the data they want to know.
Jesin has joined #lisp
<Shinmera> No
<flip214> thanks all the same!
Murii has quit [Ping timeout: 272 seconds]
krwq has quit [Remote host closed the connection]
<Younder> That bot you have on this channel working?
<Shinmera> There's at least a dozen bots here.
<Shinmera> Which one are you talking about?
quazimodo has quit [Ping timeout: 240 seconds]
<Younder> I can't remember, I have always assumed there was just one
<flip214> Younder: I guess you think about minion?
<Younder> flip214, Yes
<Shinmera> There's minion, specbot, Colleen that I know of.
mishoo has quit [Ping timeout: 264 seconds]
<Younder> minion: (+ 1 2 3)
<minion> watch out, you'll make krystof angry
Cymew has joined #lisp
<flip214> clhs +
<flip214> Younder: minion's the one taking memos
shenghi has quit [Remote host closed the connection]
orivej has quit [Quit: No Ping reply in 180 seconds.]
<Shinmera> minion: chant
<minion> MORE INFORMATION
shenghi has joined #lisp
<Younder> flip214, Ahh, I was looking for the one doing lisp calculations. Anyhow is krystof still here?
orivej has joined #lisp
<jackdaniel> minion is not a bot
<jackdaniel> minion: are you a bot?
<minion> Would you /please/ stop playing with me? 3 messages in 27 seconds is too many.
<jackdaniel> eh
<Shinmera> Gotcha
<jmercouris> minion: What's your favorite food?
rm8 has joined #lisp
<rumbler31> minion: go fetch
Cymew has quit [Ping timeout: 272 seconds]
<jmercouris> It was worth a shot, best to head over to #emacs and type ",faith"
<jmercouris> rumbler31: Lol you posted just before me
<rumbler31> :-D
<rumbler31> there's a bot on here or #emacs that will crash with gently malformed urls
<Younder> minion store John is the best
<Younder> damn
<Younder> That was supposed to be worst..
<Younder> ;)
Jesin has quit [Ping timeout: 255 seconds]
orivej has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
rumbler3_ has joined #lisp
rumbler3_ has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 255 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
orivej has joined #lisp
<flip214> minion: memo for Younder: speak slowly and carry a megawatt-laser.
<minion> Remembered. I'll tell Younder when he/she/it next speaks.
quazimodo has joined #lisp
ikopico has quit [Ping timeout: 248 seconds]
<Xach> Fare: yes
<Xach> Though I don't know if system discovery is logged
ikopico has joined #lisp
Jesin has joined #lisp
ealfonso has joined #lisp
<ealfonso> is there a way to get rid of the surrounding |? (intern (format nil "xdotool-type-~A" "name")) => |xdotool-type-name|
<_death> it's just escaping, the symbol name does not contain any #\| characters
<ahungry> yes, make it upcase
<ealfonso> so I can't intern a lowercase symbol?
<ahungry> CL symbols are not case sensitive unless the pipes surround it
<ahungry> you are interning a lowercase, but the only way to tell the program its 'this' is |this| otherwise this = THIS
<_death> '\t\r\y\-\t\h\i\s
<aeth> You probably want to string-upcase it
<ealfonso> I got it
<ahungry> (setq |a| 1) (setq a 2) (symbol-value (intern "a")) => 1, (symbol-value (intern "A")) => 2
<u0_a166> (make-symbol "Hello,World!")
ahungry has quit [Remote host closed the connection]
<aeth> What I do for things like this is #.(symbol-name '#:whatever-the-prefix-is-) because technically you can change how the reader case works to not upcase things. So this makes it into an upper case string at read time through the otherwise not very useful #. read eval feature
<Fare> Xach: OK, I believe the build of influxdb is confused because cl-graph declares an absent file index.md, and this causes ASDF to think its build is incomplete
<aeth> #.(symbol-name '#:whatever-the-prefix-is-) => "WHATEVER-THE-PREFIX-IS-" or "whatever-the-prefix-is-" depending on the readtable case
<aeth> e.g. (let ((*readtable* (copy-readtable *readtable*))) (setf (readtable-case *readtable*) :preserve) (format t "~A~%" (read-from-string "hello")))
<oleo> eheh
<aeth> although, actually, that wouldn't help if they rebind the readtable like in that example, it would have to happen before the file is read, afaik
razzy_ is now known as razzy
shka has joined #lisp
scottj has left #lisp [#lisp]
ambisinistrous has quit [Ping timeout: 256 seconds]
<pjb> ealfonso: (SETF (READTABLE-CASE *READTABLE*) :PRESERVE *PRINT-CASE* :UPCASE)
<pjb> ealfonso: you may also try :INVERT instead of :PRESERVE, but it works only for symbols not having mixed case characters.
Cymew has joined #lisp
rgrau has quit [Read error: Connection reset by peer]
smurfrobot has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
smurfrobot has quit [Ping timeout: 264 seconds]
Cymew has quit [Ping timeout: 255 seconds]
smurfrobot has joined #lisp
Sovereign_Bleak has quit [Ping timeout: 240 seconds]
dahs81[m] has quit [Ping timeout: 240 seconds]
plll[m] has quit [Ping timeout: 240 seconds]
Princess17b29a has quit [Ping timeout: 240 seconds]
dahs81[m] has joined #lisp
plll[m] has joined #lisp
Sovereign_Bleak has joined #lisp
Bike has quit [Quit: Page closed]
Karl_Dscc has quit [Remote host closed the connection]
Princess17b29a has joined #lisp
sjl has quit [Ping timeout: 256 seconds]
damke_ has joined #lisp
orivej_ has joined #lisp
orivej has quit [Read error: Connection reset by peer]
ryanbw has joined #lisp
damke has quit [Ping timeout: 264 seconds]
Kundry_Wag has joined #lisp
LiamH has quit [Quit: Leaving.]
Xal has quit [Ping timeout: 248 seconds]
shka has quit [Ping timeout: 272 seconds]
Xal has joined #lisp
turkja has joined #lisp
wxie has joined #lisp
<Fare> Xach: it looks like badly named secondary systems for in defsystem-connection might be to blame.
Denommus has quit [Ping timeout: 272 seconds]
dtornabene has joined #lisp
pseudonymous has quit [Ping timeout: 248 seconds]
u0_a166 has quit [Quit: WeeChat 2.0]
vydd has quit [Ping timeout: 256 seconds]
Jesin has quit [Quit: Leaving]
wxie has quit [Quit: Bye.]
Cymew has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Ping timeout: 272 seconds]
Cymew has quit [Ping timeout: 240 seconds]
anunnaki has quit [Ping timeout: 255 seconds]
anunnaki has joined #lisp
smurfrobot has joined #lisp
Bike has joined #lisp
fikka has joined #lisp
dtornabene has quit [Quit: Leaving]
smurfrobot has quit [Ping timeout: 255 seconds]
smurfrobot has joined #lisp
rgrau has joined #lisp
smurfrobot has quit [Remote host closed the connection]
milanj has quit [Ping timeout: 260 seconds]
hexfive has quit [Quit: WeeChat 1.9.1]