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.
<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?
<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
<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?