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
orivej_ has quit [Ping timeout: 252 seconds]
Bike has quit [Quit: Lost terminal]
Inline has quit [Quit: Leaving]
moei has quit [Ping timeout: 252 seconds]
gigetoo has quit [Ping timeout: 245 seconds]
_whitelogger has joined #lisp
Jesin has quit [Quit: Leaving]
defunkydrummer has joined #lisp
Jesin has joined #lisp
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
elazul_ has joined #lisp
beach has joined #lisp
caltelt has quit [Ping timeout: 252 seconds]
nullman` has quit [Ping timeout: 252 seconds]
nullman` has joined #lisp
nowhereman has joined #lisp
orivej has joined #lisp
longshi has joined #lisp
kajo has joined #lisp
anamorphic has joined #lisp
fivo has quit [Ping timeout: 264 seconds]
dtornabene has joined #lisp
ggole has quit [Quit: Leaving]
lumm has quit [Quit: lumm]
lumm has joined #lisp
grewal has quit [Quit: leaving]
<asdf_asdf_asdf> Hi. Why in Emacs after press: C-c @ C-h not fold code?
<asdf_asdf_asdf> Where is pattern before and after code, that it will work?
anamorphic has quit [Quit: anamorphic]
milanj has quit [Quit: This computer has gone to sleep]
anamorphic has joined #lisp
nowhereman has quit [Ping timeout: 268 seconds]
lumm has quit [Quit: lumm]
lumm has joined #lisp
grewal has joined #lisp
defunkydrummer has left #lisp [#lisp]
<dlowe> maybe the fine folks in #emacs would know
Lord_of_Life has quit [Ping timeout: 248 seconds]
Lord_of_Life has joined #lisp
orivej_ has joined #lisp
jessup has joined #lisp
orivej has quit [Ping timeout: 252 seconds]
orivej_ has quit [Ping timeout: 250 seconds]
cosimone has quit [Ping timeout: 252 seconds]
cosimone has joined #lisp
sauvin has quit [Ping timeout: 246 seconds]
lavaflow_ has joined #lisp
lavaflow has quit [Read error: Connection reset by peer]
SenasOzys has joined #lisp
makomo has quit [Quit: WeeChat 2.4]
edgar-rft has joined #lisp
nowhere_man has joined #lisp
igemnace has quit [Ping timeout: 252 seconds]
nullman` has quit [Ping timeout: 248 seconds]
nullman` has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
Lord_of_Life has quit [Ping timeout: 246 seconds]
nowhereman has joined #lisp
nowhere_man has quit [Ping timeout: 245 seconds]
slyrus_ has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
orivej has joined #lisp
Lord_of_Life has joined #lisp
orivej_ has joined #lisp
orivej has quit [Ping timeout: 244 seconds]
cage_ has quit [Remote host closed the connection]
defunkydrummer has joined #lisp
anamorphic has quit [Quit: anamorphic]
oni-on-ion has joined #lisp
anamorphic has joined #lisp
milanj has joined #lisp
SenasOzys has quit [Remote host closed the connection]
dtornabene has quit [Quit: Leaving]
vlatkoB has quit [Remote host closed the connection]
cosimone has joined #lisp
manualcrank has joined #lisp
amerlyq has quit [Quit: amerlyq]
pfdietz has joined #lisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life has joined #lisp
orivej_ has quit [Ping timeout: 245 seconds]
manualcrank has quit [Quit: WeeChat 1.9.1]
scymtym has quit [Ping timeout: 248 seconds]
longshi has quit [Ping timeout: 252 seconds]
t58 has joined #lisp
gxt has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
longshi has joined #lisp
caltelt has joined #lisp
anamorphic has quit [Quit: anamorphic]
anamorphic has joined #lisp
<pfdietz> Oh what fun: the ITERATE macro has the property that subforms are not necessarily EQL after macroexpansion. Thanks for the gratuitous loss of object identity.
<aeth> I like the idea of ITERATE more than ITERATE itself. I'm going to write a DO-LOOP that's basically a superset of LOOP with parens, when I get the time. Getting the time is the hard part.
asdf_asdf_asdf has quit [Ping timeout: 245 seconds]
karlosz has joined #lisp
<defunkydrummer> i like LOOP so far
<defunkydrummer> has that sweet homely COBOL style that makes me feel so business, so corporate, so IBM.
<grewal> defunkydrummer: Are you sure you're not talking about DO?
elazul_ has quit [Ping timeout: 248 seconds]
<anamorphic> There was a hilarious meme recently about LOOP
<Bike> pfdietz: you mean the regular lisp subforms? why's that?
<Bike> ...also, how did you notice this
<Bike> boy, is the whole system one file?
<LdBeth> defunkydrummer: no, LOOP is MIT
<dlowe> I like the the conceptual model of SERIES more than LOOP or ITERATE, but I'm not a fan of the SERIES library contortions that don't compose well
<oni-on-ion> i know what he meant and i agree; lots of CL feels that way
<Bike> huh, why does it walk code even...
<defunkydrummer> When we set out to create a programming language that was unmistakably IBM Lisp, our own history was our greatest source of inspiration. IBM Lisp has always served as a medium between programmers and pointy-haired bosses. Between the natural and the engineered. The emotional and rational. The classic and the cutting-edge. Our most important job i
<defunkydrummer> s to help buzzword-mongers and technology move forward together. IBM Lisp LOOP brings these relationships to life through brutally imperative constructs.
<Bike> can you macroexpand into clauses?
<defunkydrummer> just joking friends... BTW, you can generate your own marketing text here: https://www.reddit.com/r/pcjcopypasta/comments/8h0pv9/ibmapproved_generic_copypasta_for_extolling/
<oni-on-ion> =) =) =)
<LdBeth> So I think MIT used DEC mostly
SenasOzys has joined #lisp
<defunkydrummer> grewal: i can never remember what goes where in DO. It must be the most unergonomic macro in the whole CL spec
<aeth> defunkydrummer: DO is just LET with some additions
<Bike> that's a silly thing to say.
<aeth> The only confusing part imo is that they tried to be economical and combined (end-test implicit-progn-ending-in-return)
<aeth> Bike: The first part of DO is the first part of LET, with the addition of an optional step.
<Bike> loop is let with some additions, you just have to add "with" and "="
<Bike> it's so simpl
asdf_asdf_asdf has joined #lisp
dyelar has joined #lisp
<aeth> Bike: (let ((x 42)) ...) vs. (do ((x 42)) (end-test return) ...)
<aeth> No need to even have a step if you have side effects in the body
dyelar has quit [Client Quit]
<aeth> It is essentially LET with additions syntactically. LOOP is essentially ALGOL
<defunkydrummer> i prefer LOOP (seriosly)
<defunkydrummer> easier to remember everything. And yes, it could even replace LET if you wanted it to.
<anamorphic> LOOP is so lispy tho
<anamorphic> I mean change the language to meet the problem has been said to be the lispy thing - LOOP does it for iteration I suppose
<jackdaniel> regarding DO vs LOOP, it is matter of having experience looking at the code
<jackdaniel> if you rarely write do you have problems reading it
<jackdaniel> same thing as with reading s-expressions really, people often complain it is not easy to read, but after they get used to it they start to appreciate it
<jackdaniel> so it is mistaking cognitive effort to learn new things with actual complexity
* defunkydrummer agrees with anamorphic
Folkol has joined #lisp
<davve> they say lisp is a simple language but there are sooo many functions
<davve> each ever more intruiging
anamorphic has quit [Quit: anamorphic]
<davve> (as a noob)
<davve> loop and friends seem useful
<pfdietz> Bike: I wrote a simple function to record the subforms of a lisp form, call macroexpand-1, then see which ones were still there.
<pfdietz> The motivation for this is trying to get traceability from expanded code back to the original source code.
<Bike> oh, is this in relation to the discussion of racket's syntax objects or whatever
<Bike> right
<oni-on-ion> loop has no friends
<pfdietz> Not to do with racket, but with things like coverage tools.
<Bike> do you know why iterate is doing that?
SenasOzys has quit [Ping timeout: 246 seconds]
<Bike> i glanced through but 90s code is kinda...
<pfdietz> I looked. It descends into forms to translate COLLECT and the like. But the walker doesn't bother to check if anything changes; it just copies anyway.
<pfdietz> The #L reader syntax is funky, yes.
<Bike> oh, so iterate semantics actually involve that. weird
anamorphic has joined #lisp
<pfdietz> What I really want in a macro is that it provide a mapping from the generated forms back to the original forms. But that's not standard at all.
<oni-on-ion> oh, if lisp eval was reversable/invertable...
<Bike> well, that's what i meant. as i understand, in racket, macro functions receive 'syntax objects' as arguments instead of forms. the 'syntax objects' include things like source information.
<pfdietz> So you could modify the code to do various kinds of dynamic analysis, but link that information back to the source code.
<Bike> of course that means you don't get regular ol conses, which is kind of annoying
shifty has joined #lisp
<pjb> davve: what are you taking about? There are about 600 functions in CL. Last time I looked, there are about 3500 classes and 360,000 methods in Android!
<davve> thats comforting
<pfdietz> CL has been standardized long enough that its size as shrunk in comparison to everything else. :)
<aeth> pjb: Are you saying LispOS won't have more than 3,500 classes and 360,000 methods eventually?
<davve> I am just crying a bit cause i am still trying to remember how to declare stuff
<pjb> aeth: a modern LispOS, could be smaller than Android indeed, for the same functionality.
<pjb> Java classes don't lead to much reuse…
<oni-on-ion> LOL. i read about "whats new in .NET 5" and they were proud to have added something like "thirty thousand new APIs" .... !!!!!
<davve> pjb: you wouldn't happent to know of a good reference to them? :)
<aeth> pjb: Afaik, any given Android apk (or whatever they call it) is large because it has to support like 10 versions of Android simultaneously.
saravia has quit [Quit: Leaving]
<oni-on-ion> Data Locality --- with namespaces, you wont need to know whats going on in africa, just your home+neighborhood
<aeth> pjb: So a lot of that bloat is probably having e.g. 4 different UIs
<davve> i am always worried some stuff won't work in other dialects of scheme. but all of them share these 600?
<davve> sorry dialects of lisp
<pjb> And you have to learn also https://developer.apple.com to port your app to iOS too.
<pfdietz> I assume you all saw that Windows will soon be shipping with an entire (GPLed) Linux kernel included. Finally, the year of Linux on the desktop!
<oni-on-ion> pfdietz, link ? why dont they just sell a VM tho
libertyprime has joined #lisp
<davve> is there something like a standard library?
<pjb> davve: all implementations of CL share those 600 functions, and the rest, which are macros and special operators.
<pjb> davve: the CL package is the standard library.
<aeth> pfdietz: And in 10 years they can silently get rid of NT...
<davve> pjb: thanks
<aeth> pfdietz: I wonder if Apple will switch to the Linux kernel eventually because it's GPLv2 and what they hate is GPLv3
<davve> nice to see it's structured by chapter too
<aeth> It would be amusing if in 2035 iOS uses Linux and Android uses Fuchsia
<pfdietz> davve: if you mean, is there a standard library beyond the CL standard itself? Not really, but it would be nice. That's the direction to extend "the standard", IMO.
<oni-on-ion> iOS macOS watchOS tvOS will all be the same thing well before 2035
<pjb> aeth: nope, mach is essential to macOS.
<pjb> aeth: it's a microkernel.
<pfdietz> There are de facto popular libraries, but they could use some curation and consolidation, IMO.
<oni-on-ion> cant we make a linux kernel module that simulates mach =P
<pjb> and iOS too.
cosimone has quit [Quit: WeeChat 2.3]
<grewal> oni-on-ion: Just use hurd at that point
<oni-on-ion> ah, cool. what is mirageOS ? tried to understand what it means, 'unikernel' ?
<oni-on-ion> is it a thing more related to Docker, VMs and such ?
<davve> i am trying to find a ebook readable friendly format of the hyperspec
longshi has quit [Ping timeout: 248 seconds]
<no-defun-allowed> jackdaniel: you around?
<defunkydrummer> davve: the idea of the hyperspec is to jump around using the hyperlinks. If you want something that can be read in a more linear form, see Common Lisp The Language (book, aka "CLTL") which is available online
<defunkydrummer> or CLTL2. Neither CLTL1 or CLTL2 are exactly equal to the ANSI CL spec, but they are the same language for the most part.
trocado has joined #lisp
karlosz has quit [Quit: karlosz]
<LdBeth> So, Hurd is a set of utils built around Mach or L4
<LdBeth> Hurd can’t run by itself
<davve> defunkydrummer: thanks the tip
<davve> by 1 2 you mean first and second edition?
<LdBeth> davve: the second edition includes all texts from the first ed
<LdBeth> So don’t bother to get them all
<davve> ok
karlosz has joined #lisp
xkapastel has joined #lisp
makomo has joined #lisp
corvidzz has quit [Ping timeout: 258 seconds]
<davve> good since it was quite expensive :)
longshi has joined #lisp
corvidzz has joined #lisp
<davve> but book looks good enough to make a purchase
<davve> will add it to my rotation of sicp and land of lisp
<davve> maybe some day i will be like you guys
neirac has joined #lisp
karlosz has quit [Quit: karlosz]
Lord_of_Life has quit [Ping timeout: 248 seconds]
varjag has quit [Ping timeout: 248 seconds]
moei has quit [Quit: Leaving...]
karlosz has joined #lisp
smokeink has joined #lisp
anamorphic has quit [Quit: anamorphic]
anamorphic has joined #lisp
anamorphic has quit [Client Quit]
Bike has quit []
anamorphic has joined #lisp
<defunkydrummer> davve: either CLTL1 or CLTL2 is available free online
<anamorphic> I once made a shirt with the old lisp logo using CLTL2's book color
anamorphic has quit [Quit: anamorphic]
karlosz has quit [Quit: karlosz]
<davve> I am in the process of downloading it with WGET and will make a hyperlink navigatable book out of it ^^
<defunkydrummer> davve: here's a PDF version of cltl1 http://freecomputerbooks.com/Common-LISP-The-Language-2nd-Edition.html
<defunkydrummer> sorry, it's cltl2 :)
<defunkydrummer> btw CLTL2 includes some things that aren't on ANSI Common Lisp, however some implementations have also added said features
neirac has quit [Remote host closed the connection]
<defunkydrummer> then, of course, neither "The Language" nor the ANSI Standard speak about things like threads or sockets, however we already have quasi-standard libs for using them in the same way across all impkementations: bordeaux-threads (for threading) for example
<defunkydrummer> or usocket (for sockets)
<defunkydrummer> etc
<defunkydrummer> those 'compatibility libs' or 'portability libs' often work across all popular implementations -- them being (imo) SBCL, CCL, ABCL, ECL and the commercial LW and ACL
pfdietz has quit [Ping timeout: 256 seconds]
<davve> defunkydrummer: I see
<davve> not there yet but good to know
karlosz has joined #lisp
sjl_ has quit [Ping timeout: 246 seconds]
oni-on-ion has quit [Ping timeout: 248 seconds]
karlosz has quit [Quit: karlosz]
nullman` has quit [Ping timeout: 252 seconds]
comborico1611 has joined #lisp
defunkydrummer has quit [Remote host closed the connection]
Bike has joined #lisp
orivej has joined #lisp
lumm has quit [Remote host closed the connection]
wxie has joined #lisp
karlosz has joined #lisp
manualcrank has joined #lisp
_ark_ has joined #lisp
karlosz has quit [Quit: karlosz]
angavrilov has quit [Remote host closed the connection]
LiamH has quit [Quit: Leaving.]
pjb has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
pjb has joined #lisp
mindCrime has quit [Ping timeout: 258 seconds]
nowhereman has quit [Ping timeout: 244 seconds]
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #lisp
longshi has quit [Ping timeout: 258 seconds]
p9fn has quit [Ping timeout: 276 seconds]
wxie has quit [Quit: wxie]
wxie has joined #lisp
asarch has joined #lisp
<asarch> How would you do a test if a file/directory exists?
wxie has quit [Client Quit]
wxie has joined #lisp
<grewal> are you looking for probe-file?
wxie has quit [Client Quit]
<asarch> Thank you!
<asarch> Thank you very much! :-)
comborico1611 has quit [Quit: Konversation terminated!]
<asarch> "Examples: None." <- D'oh!
jessup has quit [Remote host closed the connection]
<no-defun-allowed> (ensure-directories-exist #p"/") => #p"/", NIL
xkapastel has quit [Quit: Connection closed for inactivity]
asdf_asdf_asdf has quit [Remote host closed the connection]
idlus has quit [Remote host closed the connection]
idlus has joined #lisp
mindCrime_ has joined #lisp
khisanth_ has quit [Ping timeout: 245 seconds]