p_l changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | ASDF 3.3.4
jfrancis_ has joined #lisp
EvW1 has quit [Ping timeout: 246 seconds]
jfrancis has quit [Ping timeout: 240 seconds]
phlim has joined #lisp
werpan has quit [Quit: Leaving]
iAmDecim has joined #lisp
iAmDecim has quit [Ping timeout: 256 seconds]
jprajzne has quit [Ping timeout: 240 seconds]
buffergn0me has quit [Ping timeout: 272 seconds]
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
jfrancis_ has quit []
libertyprime has joined #lisp
Josh_2 has quit [Ping timeout: 258 seconds]
Jeanne-Kamikaze has joined #lisp
bitmapper has quit [Ping timeout: 258 seconds]
gioyik has joined #lisp
abhixec has quit [Remote host closed the connection]
abhixec has joined #lisp
abhixec has quit [Client Quit]
buffergn0me has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
renzhi has joined #lisp
Oladon has joined #lisp
shukryzablah has joined #lisp
Blukunfando has joined #lisp
kosmos_Aurora has joined #lisp
Aurora_iz_kosmos has quit [Ping timeout: 240 seconds]
iridioid has joined #lisp
smasta has quit [Ping timeout: 265 seconds]
dddddd has quit [Ping timeout: 240 seconds]
abhixec has joined #lisp
abhixec has quit [Client Quit]
abhixec has joined #lisp
kosmos_Aurora is now known as Aurora_iz_kosmos
troydm has quit [Ping timeout: 256 seconds]
rpg has joined #lisp
buffergn0me has quit [Ping timeout: 272 seconds]
kam1 has quit [Ping timeout: 256 seconds]
rpg has quit [Quit: Textual IRC Client: www.textualapp.com]
sfa has joined #lisp
sfa has quit [Client Quit]
sfa has joined #lisp
iAmDecim has joined #lisp
efm_ has quit [Ping timeout: 264 seconds]
Kundry_W_ has joined #lisp
efm has joined #lisp
kam1 has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
renzhi has quit [Ping timeout: 256 seconds]
iridioid has quit [Ping timeout: 264 seconds]
hdasch has quit [Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in]
Bourne has quit [Read error: Connection reset by peer]
hdasch has joined #lisp
sfa has quit [Quit: leaving]
slyrus__ has quit [Read error: Connection reset by peer]
iridioid has joined #lisp
ahungry has joined #lisp
iridioid has quit [Ping timeout: 272 seconds]
rtoy has quit [Ping timeout: 252 seconds]
rtoy1 has joined #lisp
<beach> Good morning everyone!
sfa has joined #lisp
ayuce has quit [Remote host closed the connection]
ayuce has joined #lisp
abhixec has quit [Quit: leaving]
kam1 has quit [Ping timeout: 256 seconds]
pilne has quit [Quit: Make it idiot proof and someone will make a better idiot.]
iAmDecim has quit [Ping timeout: 240 seconds]
Bourne has joined #lisp
troydm has joined #lisp
Aurora_iz_kosmos is now known as Aurora_v_kosmose
iridioid has joined #lisp
Bike has quit [Quit: Lost terminal]
iridioid has quit [Ping timeout: 246 seconds]
Jeanne-Kamikaze has quit [Remote host closed the connection]
Kundry_W_ has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
kam1 has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
vlatkoB has joined #lisp
orivej has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
kam1 has quit [Ping timeout: 265 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
Inline has joined #lisp
Lycurgus has joined #lisp
sfa has quit [Quit: leaving]
ahungry has quit [Ping timeout: 256 seconds]
specbot has quit [Disconnected by services]
specbot has joined #lisp
DGASAU` has quit [Ping timeout: 240 seconds]
kam1 has joined #lisp
modula2 has joined #lisp
Kundry_Wag has joined #lisp
defaultxr has quit [Ping timeout: 256 seconds]
modula2 is now known as defaultxr
Kundry_Wag has quit [Ping timeout: 256 seconds]
kopiyka has quit [*.net *.split]
voidlily has quit [*.net *.split]
arbv has quit [*.net *.split]
felideon has quit [*.net *.split]
beaky has quit [*.net *.split]
markasoftware has quit [*.net *.split]
xristos has quit [*.net *.split]
rtoy1 has quit [Quit: rtoy1]
beaky_ has joined #lisp
gko has joined #lisp
beaky_ is now known as beaky
felideon has joined #lisp
arbv has joined #lisp
kopiyka has joined #lisp
xristos has joined #lisp
voidlily has joined #lisp
markasoftware has joined #lisp
sauvin has joined #lisp
markasoftware has quit [Max SendQ exceeded]
markasoftware has joined #lisp
narimiran has joined #lisp
Inline has quit [Quit: Leaving]
wooden has quit [Ping timeout: 256 seconds]
shangul has joined #lisp
wooden has joined #lisp
ebrasca has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
karlosz has quit [Quit: karlosz]
gravicappa has joined #lisp
JohnMS_WORK has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
karlosz has joined #lisp
torbo has quit [Remote host closed the connection]
shka_ has joined #lisp
_paul0 has quit [Remote host closed the connection]
paul0 has joined #lisp
shka_ has quit [Read error: No route to host]
shka_ has joined #lisp
rwcom9 has joined #lisp
rwcom has quit [Ping timeout: 258 seconds]
rwcom9 is now known as rwcom
iridioid has joined #lisp
ayuce has quit [Ping timeout: 250 seconds]
akssri has joined #lisp
Lycurgus has quit [Quit: Exeunt]
ljavorsk has joined #lisp
akssri has left #lisp [#lisp]
iridioid has quit [Ping timeout: 256 seconds]
phlim has quit [Ping timeout: 240 seconds]
varjag has joined #lisp
v_m_v has joined #lisp
v_m_v has quit [Ping timeout: 265 seconds]
jeosol has joined #lisp
v_m_v has joined #lisp
Kundry_Wag has joined #lisp
<jeosol> Good morning everyone
<no-defun-allowed> jeosol: Here, you dropped a !
Cymew has joined #lisp
<jeosol> no-defun-allowed: I didn't get that
<jeosol> I get it
<jeosol> Good morning everyone!
<no-defun-allowed> DavdL: No, apparently not. I did message someone in control, and they sounded like they were going to fix it, but nothing happened evidently. When in doubt, blame timezones.
Kundry_Wag has quit [Ping timeout: 240 seconds]
<beach> Hello jeosol.
<no-defun-allowed> (Then there was an argument about having to throw money at the programmers to get anything fixed, which also could have distracted them. Maybe I will have to ask again.)
<jeosol> Hi beach. Been a while
<jeosol> I wanted to see if anyone here is doing machine-learning type work with CL. I want to replicate an example using CL(SBCL) with jupyter notebook but the setups appear complicated and I gotten some error.
<jeosol> I recently spent some hours replicating an example (linear regression) from a 2019 python book and ran into version problems, deprecated keywords, arguments, etc. It was a nightmare, just to run an example in a book that's recent.
<jeosol> I am not trying to rant against python, it has it merits and have used it fairly, but I wonder how much is spent, trying to sort this type of things out.
<jeosol> if reached out to Mike Maul who appears to be maintaining CLML and he also has plans to extend the toolkit to use connectionist methods in the CLML library
<pjb> jeosol: python is not one language, but a family of languages, numbered, from 1.0 to 3.8.2 and increasing!
jprajzne has joined #lisp
<jeosol> hahah. Ok, that's true. And the massive divide between 2 and 3. Point taken
<jeosol> That will help next time, and not expect same type of stability on the CL side.
<jeosol> Usually, you have to hunt down the specific version for things to work.
<pjb> exactly. Or be prepared to update the code.
<jeosol> damn. I thought the issue is not that severe.
<jeosol> I worked a project with some colleagues last here, the guy doing the backend said the code needs 3.6, and another machine for testing had 3.7.
<jeosol> it makes sense now to have the different family of language mindset.
<LdBeth> DavdL: identify via NickServ not working?
SGASAU has joined #lisp
<phoe> FYI, I can't see any posts for DavdL myself.
<beach> phoe: It's a known problem, apparently.
retropikzel has joined #lisp
v_m_v has quit [Remote host closed the connection]
<phoe> beach: yep
v_m_v has joined #lisp
Oladon has quit [Quit: Leaving.]
pve has joined #lisp
retropikzel has quit [Quit: Leaving]
flip214 has quit [Remote host closed the connection]
decent-username has joined #lisp
retropikzel has joined #lisp
ljavorsk has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
shangul has quit [Ping timeout: 265 seconds]
gioyik has quit [Quit: WeeChat 2.8]
v_m_v has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
dddddd has joined #lisp
Kundry_Wag has quit [Ping timeout: 258 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
pyx has joined #lisp
pyx has quit [Client Quit]
random-nick has joined #lisp
v_m_v has joined #lisp
v_m_v has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
jprajzne has quit [Quit: jprajzne]
karlosz has quit [Quit: karlosz]
Lycurgus has joined #lisp
jprajzne has joined #lisp
libertyprime has quit [Read error: Connection reset by peer]
Bourne has quit [Ping timeout: 260 seconds]
Bourne has joined #lisp
sunwukong has joined #lisp
Lycurgus has quit [Ping timeout: 256 seconds]
fivo has joined #lisp
kam1 has quit [Ping timeout: 260 seconds]
joshcom has joined #lisp
Kundry_Wag has joined #lisp
cosimone has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
kam1 has joined #lisp
shifty has joined #lisp
narimiran has quit [Ping timeout: 264 seconds]
retropikzel has quit [Quit: Leaving]
shangul has joined #lisp
cosimone has quit [Quit: Terminated!]
cosimone has joined #lisp
cosimone has quit [Remote host closed the connection]
Bourne has quit [Ping timeout: 250 seconds]
heisig has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
retropikzel has joined #lisp
jeosol has quit [Remote host closed the connection]
<Xach> darn it, postmodern is broken today.
vms14 has joined #lisp
<phoe> Xach: oh!
<phoe> might be the last commits that sabrac has pushed to it
<phoe> how exactly did it break?
<Xach> duplicate definition
<Xach> list-installed-extensions is duplicated
wheelsucker has quit [Ping timeout: 256 seconds]
<phoe> Xach: made a more detailed issue on the repository. let's wait for Sabra.
Lycurgus has joined #lisp
sunwukong has quit [Quit: Leaving]
Kundry_Wag has quit [Ping timeout: 240 seconds]
theruran has quit [Quit: Connection closed for inactivity]
westerns has joined #lisp
Bike has joined #lisp
joshcom has quit [Ping timeout: 256 seconds]
Lycurgus has quit [Quit: Exeunt]
* Xach can't wait, MUST POSTMODERN IMMEDIATELY
<phoe> OMG
<phoe> then just delete either of these
<phoe> likely the one that is added last, since it breaks protocol with the previous version of the function
iridioid has joined #lisp
Kundry_Wag has joined #lisp
iridioid has quit [Ping timeout: 265 seconds]
v_m_v has joined #lisp
v_m_v has quit [Ping timeout: 265 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
scymtym_ has joined #lisp
narimiran has joined #lisp
scymtym has quit [Ping timeout: 250 seconds]
shangul has quit [Ping timeout: 264 seconds]
<phoe> Xach: done
vap1 has quit [Quit: Leaving]
SGASAU has quit [Remote host closed the connection]
<Xach> i want faster than immediate gratification!
sabrac has joined #lisp
SGASAU has joined #lisp
<sabrac> phoe: Xach: Thank you.
<phoe> Xach: you must invent time travel for that
<phoe> sabrac: no problem
<Xach> sabrac: do you use rss? i have a feed of postmodern build failures
<Xach> (rarely updated)
cosimone has joined #lisp
Inline has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
<sabrac> Xach: Thank you. Will look at it.
Kundry_Wag has joined #lisp
decent-username has quit [Remote host closed the connection]
chip2n has quit [Ping timeout: 240 seconds]
keep_learning has quit [Quit: This computer has gone to sleep]
iAmDecim has joined #lisp
pilne has joined #lisp
EvW has joined #lisp
fivo has quit [Quit: WeeChat 1.9.1]
davd has joined #lisp
hiroaki has joined #lisp
wxie has joined #lisp
Josh_2 has joined #lisp
flip214 has joined #lisp
bitmapper has joined #lisp
<phoe> blah
<Shinmera> halb
<phoe> RESTART-CASE is one of the places where &KEY foo bar &REST forms would make sense in a destructuring lambda list
heisig has quit [Quit: Leaving]
FreeBirdLjj has joined #lisp
scymtym__ has joined #lisp
scymtym_ has quit [Ping timeout: 265 seconds]
westerns has left #lisp [#lisp]
ayuce has joined #lisp
monokrom has joined #lisp
scymtym__ has quit [Ping timeout: 256 seconds]
scymtym__ has joined #lisp
wxie has quit [Remote host closed the connection]
wxie has joined #lisp
v_m_v has joined #lisp
scymtym__ has quit [Ping timeout: 252 seconds]
ahungry has joined #lisp
v_m_v has quit [Ping timeout: 264 seconds]
shukryzablah has quit [Remote host closed the connection]
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
easyAnalyst has joined #lisp
easyAnalyst has quit [Client Quit]
vms14 has quit [Remote host closed the connection]
Bourne has joined #lisp
davsebamse has joined #lisp
davsebam1e has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 240 seconds]
SGASAU has quit [Remote host closed the connection]
iAmDecim has quit [Ping timeout: 256 seconds]
SGASAU has joined #lisp
sjl_ has joined #lisp
xlei has quit [Ping timeout: 256 seconds]
wxie has quit [Ping timeout: 265 seconds]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
xlei has joined #lisp
FreeBirdLjj has quit []
efm has quit [Ping timeout: 256 seconds]
<phoe> well
<phoe> I've just discovered a good reason why I actually want to rewrite Kent's v18 conditions using DEFCLASS
<phoe> I have no multiple inheritance with DEFSTRUCT!
<phoe> but - restarts first
efm has joined #lisp
<Bike> does it use defstruct for conditions too?
<phoe> yes
<Bike> clasp uses a descendent of kent's code but the conditions were classes when we got it from ECL
<phoe> correct
<phoe> it's a CLtL1 condition system and CLtL1 did not even have defclass
<Bike> (restart was still a defstruct, but i changed that a few weeks ago)
<Bike> oh.
<Bike> condition system without multiple inheritance sounds annoying.
knicklux has joined #lisp
theseb has joined #lisp
<phoe> it certainly did
<phoe> I'll gut out the condition internals and use defclass instead - that solves all of my problems with defstruct
<phoe> in the worst case, I'll write a paragraph or two about the basics of DEFSTRUCT
<theseb> When you set a variable to a value, is that added to the current environment or is a NEW environment created? I believe you only get NEW environments when you call a function or something like that?
<phoe> theseb: depends
<phoe> in general, a variable must already exist *before* you set any new value to it
<Bike> "setting" means changing an existing binding. implementations will sometimes implicitly add a binding first, but it's generally to the same environment.
<phoe> anything otherwise is undefined behaviour
<phoe> implementations will permit stuff like (setq foo 42) but that's formally UB and also damn dirty code anyway.
<phoe> the important question is: *which* variable are you trying a set? have you declared it previously?
<phoe> ;; sigh, I might want to write an article about variables in Lisp someday
<theseb> phoe: I'm actually writing a little lisp and was planning to just have a "define" command that created new variables as well as reset existing ones
<theseb> phoe: Maybe I'm nieve but it seems easier to not sweat the distinction?
<theseb> naive*
<theseb> phoe: why not just have one "define" func that does both?
SGASAU has quit [Remote host closed the connection]
<beach> theseb: That kind of thing is very error prone, which is why Common Lisp has different operators for creating and assigning to variables.
<theseb> phoe: actually....regardless...I'm still not clear WHEN a lisp actually makes a new environment level
SGASAU has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
<beach> theseb: There is a distinction between global environments, lexical environments created by the compiler, and local run-time environments created by function enclosures.
<Bike> theseb: Say you have (define FOO 4) (define FO0 5). You've defind two variables instead of defining one and then setting it. Having a separate (set FO0 5) could find the variable hasn't been defined and signal an error instead.
<Bike> theseb: generally you make a new environment when you enter a lexical scope, like by entering a function or LET body.
<theseb> Bike: do even simple func invocations like (+ 3 4) need a new env level to hold the arg values? i'm thinking yes
<beach> theseb: Yes, that's what he said, entering a function.
<theseb> ok
<beach> Like + in this case.
<theseb> thanks..i get it now
<phoe> theseb: when I was implementing a tiny lisp, I used the paper Roots of Lisp
<phoe> it has the concept of environments
<beach> theseb: and (let ((<var> <form>)) <body>) is essentially equivalent to a function call, like ((lambda (<var>) <body>) <form>)
cosimone has quit [Excess Flood]
cosimone has joined #lisp
scymtym has joined #lisp
<phoe> another small enlightenment about the restart system!
<beach> What's that?
<phoe> with-condition-restarts accepts a list of restarts, right?
<phoe> if the implementation does restarts via clusters - as it should - then it is able to pass (car *restart-clusters*) to it to associate all recently bound restarts (the last cluster) with a given condition
<phoe> that's a very nice thing!
whiteline has quit [Remote host closed the connection]
<theseb> beach: make sense
<theseb> phoe: yea i love that paper
<theseb> phoe: i think a simple lisp is a nice way to understand even languages like python...some say python is like a lisp w/o parens
<theseb> loosely speaking
<travv0> word on the street is that python is an "acceptable lisp"
whiteline has joined #lisp
whiteline has quit [Remote host closed the connection]
<beach> Yeah, for some reason, lots of people who invent new languages want to categorize them as "a Lisp". I don't understand why since Lisp is not very popular, and if they want Lisp they can just use Common Lisp.
<_death> python is an acceptable lisp compiler
libertyprime has joined #lisp
Josh_2 has quit [Read error: Connection reset by peer]
whiteline has joined #lisp
whiteline has quit [Remote host closed the connection]
<theseb> beach: I don't know the innards of the C implementation of Python but it would be very interesting to me if they basically created a sort of proto-lisp in C to do it right
<_death> python is written in lisp
<theseb> beach: to answer your question....it seems advisable and less error prone in language design to first create a Turing complete tiny lisp and then build the rest of your language from that core....but what do i know
<theseb> _death: yes...common lisp even
<theseb> _death: actually python has been implemented in many langs
<phoe> ;; _death: means the common lisp compiler named Python, which has nothing to do with the whitespace-indented programming language
iAmDecim has joined #lisp
<theseb> _death: but I wonder if under the hood they all had to implement some kind of crude lisp we don't know about
<_death> the "whitespace-indented programming language" is off topic
Josh_2 has joined #lisp
<Bike> also lisps have been written in C many times. imagining one in python is not necessary
flip214 has quit [Read error: Connection reset by peer]
<beach> theseb: Actually, when it comes to handling environments, most languages do it roughly the same way. There are not many alternatives really.
flip214 has joined #lisp
whiteline has joined #lisp
narimiran has quit [Ping timeout: 265 seconds]
<beach> So if handling environments the same way that Lisp does is a sufficient criterion for calling the language "a Lisp", then there are lots of them out there.
iAmDecim has quit [Ping timeout: 264 seconds]
hiroaki has quit [Ping timeout: 264 seconds]
<theseb> I was surprised to read that Lisp isn't really based on lambda calculus....Yes McCarthy used the keyword "lambda" in his language but he says he didn't really understand lambda calculus at the beginning
<theseb> So that sort of bugged me because it would have been elegant to me if Lisp could be understood as an extension of lambda cal
<Bike> lambda calculus is usually expressed in terms of renaming, rather than environments per se.
<theseb> is that right?
iridioid has joined #lisp
<beach> Renaming and outermost evaluation, a.k.a. "lazy" evaluation.
<beach> theseb: If Lisp had been done that way, it would have been very slow.
<theseb> Bike: yes you are right...lambda calculus has no concept of an environment
Lycurgus has joined #lisp
<Bike> i mean, renaming versus environments doesn't affect semantics so much (unlike evaluation order)
<theseb> Bike: Did McCarthy invent the concept of an environment? if so that would be quite impressive
<Bike> beats me.
<theseb> imagine inventing a whole new way of doing languages
narimiran has joined #lisp
iridioid has quit [Ping timeout: 258 seconds]
<phoe> eh, that's already deeply theoretical
<theseb> phoe: huh? is that bad?
gko has quit [Ping timeout: 256 seconds]
<phoe> not necessarily
<phoe> ;; just remember to keep something that holds you to the ground while theorizing
kartikay has joined #lisp
dilated_dinosaur has quit [Ping timeout: 240 seconds]
emacsomancer has quit [Read error: Connection reset by peer]
whiteline has quit [Remote host closed the connection]
narimiran has quit [Ping timeout: 260 seconds]
whiteline has joined #lisp
emacsomancer has joined #lisp
whiteline has quit [Remote host closed the connection]
whiteline has joined #lisp
libertyprime has quit [Read error: Connection reset by peer]
<phoe> well
<phoe> working on kmp's code is mostly a pleasure
<phoe> mostly when one realizes that a lot of his code can be simplified via modern wonders such as print-unreadable-object or destructuring-bind
<Bike> yeah, clasp had that unique-id thing up until like last month when i noticed i should get rid of it
<phoe> that was one of the first things I threw out
narimiran has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
gko has joined #lisp
<phoe> oh, by the way - if you have clasp installed, could you check if trivial-custom-debugger works there? I assumed that it should work the same as in ECL
dilated_dinosaur has joined #lisp
<Bike> your repo? i'm rebuilding right now, but i'll check in a few minutes
<phoe> yes, my repo
<Bike> so this is basically invoke-debugger-hook the library?
<phoe> yes
<phoe> since literally everyone has it and literally everyone does it differently
<phoe> business as usual in the Lisp world™
<Bike> i assume you just pulled this from swank.
<phoe> Bike: not all of it
<phoe> I had to work on clisp a little bit to hammer it into shape and I dug into ACL and LW on my own to find their hooks
<phoe> the LW solution in swank works only if you are not using their CAPI frontend
<Bike> hrm. well, in any case i'd be surprised if it didn't work, but i'll check anyway
<phoe> which is because the LW code in swank is weird and for whatever reason it seems to hook into GUI-related code in order to display SLDB
<phoe> I found a lower-level solution and opened a slime issue with details.
<phoe> Bike: thanks a million
knicklux has quit [Ping timeout: 265 seconds]
gko has quit [Ping timeout: 260 seconds]
<phoe> okay
<phoe> the fun thing about the condition system is that there's already piles of code for testing it
<phoe> I just need to gut ANSI-TEST out and run these against the kmp code that I work on
beach` has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
beach has quit [Disconnected by services]
beach` is now known as beach
narimiran has quit [Remote host closed the connection]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
gko has joined #lisp
knicklux has joined #lisp
samebchase has quit [Ping timeout: 256 seconds]
samebchase has joined #lisp
narimiran has joined #lisp
iAmDecim has joined #lisp
Lycurgus has quit [Remote host closed the connection]
abhixec has joined #lisp
gko has quit [Ping timeout: 260 seconds]
iAmDecim has quit [Ping timeout: 265 seconds]
<Bike> phoe: the readme example works identically in clasp.
<phoe> Bike: <3
<phoe> perfect, thank you
<Bike> no problemo
<phoe> we have therefore successfully enslaved all standard debuggers in all alive Lisp implementations I'm aware of
ATuin has joined #lisp
<phoe> hm, except SICL
<Bike> i don't think scil has a debugger, let alone invoke-debugger-hook.
<phoe> it has the former but not the latter
narimiran has quit [Ping timeout: 264 seconds]
<Bike> why didn't that show up on github search... why is github search so bad...
<Bike> this manages to not be standard conforming, because it can return normally, and because it ignores debugger-hook
<phoe> clearly not yet complete
shukryzablah has joined #lisp
<phoe> the only two options in the debugger are printing "this should be some help" and returning from it
<Bike> if it was only the first option that would be conforming.
<phoe> well
<phoe> technically, you're right
<Bike> the best kind of right.
<ATuin> what's the difference between directories "sbcl-bundle-systems" and "sbcl-source" for asdf files?
<ATuin> i see safe ASDF files in both places so i'm a bit confused
cosimone has quit [Quit: Terminated!]
karlosz has joined #lisp
z147 has joined #lisp
kartikay has quit [Ping timeout: 265 seconds]
[rg] has joined #lisp
<[rg]> what happens when you create a cons cell?
<[rg]> just a single one
<[rg]> like `(cons 1 2)`
<Bike> What do you mean what happens? A cons cell is made.
<Bike> What reference frame are you asking from?
<[rg]> what does the structure look like
kartikay has joined #lisp
<[rg]> does it just make a container to hold 1, 2
<[rg]> or is it, 1, 2, NULL
<Bike> Just 1 2.
<Bike> You can get the 1 with CAR and the 2 with CDR. there's no way to get nil from that cons.
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
<[rg]> ok, do you get nil when you use `list`
<[rg]> ?
<[rg]> `(list 1 2)`
<phoe> (list 1 2) gives you (1 2)
<phoe> which is (1 . (2 . NIL))
<[rg]> ok, are all elements in those list are "pointers"
EvW has joined #lisp
<jackdaniel> minion: tell [rg] about gentle
<minion> [rg]: look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/
<Bike> this is what i meant by reference frame.
<Bike> lisp does not have a concept of pointers. pointers might come up in the implementation, though.
kartikay has quit [Client Quit]
ljavorsk has joined #lisp
[rg]_ has joined #lisp
[rg] has quit [Read error: Connection reset by peer]
[rg]_ is now known as [rg]
abhixec has quit [Ping timeout: 250 seconds]
rpg has joined #lisp
EvW has quit [Ping timeout: 246 seconds]
[rg] has quit [Ping timeout: 240 seconds]
[rg] has joined #lisp
davd has quit [Remote host closed the connection]
v_m_v has joined #lisp
[rg] has quit [Ping timeout: 256 seconds]
cosimone has joined #lisp
dddddd has quit [Ping timeout: 250 seconds]
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
Lord_Nightmare has joined #lisp
v_m_v has quit [Ping timeout: 240 seconds]
frgo has quit [Ping timeout: 240 seconds]
frgo has joined #lisp
narimiran has joined #lisp
hhdave has quit [Ping timeout: 250 seconds]
iAmDecim has joined #lisp
narimiran has quit [Quit: leaving]
iAmDecim has quit [Ping timeout: 256 seconds]
sugarwren has joined #lisp
retropikzel has quit [Quit: Leaving]
retropikzel has joined #lisp
sauvin has quit [Ping timeout: 256 seconds]
hhdave has joined #lisp
rpg has quit [Remote host closed the connection]
<phoe> Is thre a format control will print all of its arguments?
<phoe> I want something that will allow me to print arbitrary args, from 0 to N.
<phoe> Or should I not use FORMAT in that case?
EvW1 has joined #lisp
<Xach> (format t "~v@{~A~}" 2 'a 'b 'c) => AB
shka_ has quit [Ping timeout: 250 seconds]
<phoe> Xach: thanks!
<phoe> clhs ~v
iAmDecim has joined #lisp
<Xach> phoe: v is a modifier
<phoe> wait, really?
<phoe> clhs ~{
<Xach> yes. it took the 2 from the arg list as though i had written ~2@{...}
<Xach> and that means iterate twice.
<Bike> v is explained just above figure 22-6 in the page specbot came up with.
<Bike> "In place of a prefix parameter to a directive, V (or v) can be used." and so on
<phoe> oooooooh
<Xach> i like to use lowercase v and uppercase format letters to distinguish them
<phoe> woah
<jackdaniel> format control strings look like obj-apl++
<jackdaniel> and are equally readable ,)
shukryzablah has quit [Quit: ERC (IRC client for Emacs 27.0.90)]
antaoiseach has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
<antaoiseach> Whoa... quite a lot of folks in here. Good to see so many Lispers!
iridioid has joined #lisp
<phoe> antaoiseach: did you expect a cemetery?
<phoe> I mean, it's nothing strange, given how some people say that Lisp is Dead™
<theseb> ( (lambda (a b) (car '(a b))) 8 9 ) <--- Why does this return 'a' instead of 8?
<phoe> you quoted the cons
<phoe> that's why it's passed as a literal
<theseb> if do (car (8 9)) it crashes
<phoe> yes
<antaoiseach> phoe: *Groan*... why do I get comp.lang.lisp vibes?
<phoe> because (8 9) is not a good function call
<theseb> phoe: how fix?
<phoe> antaoiseach: well, this place has fewer spammers
<antaoiseach> Hah
<phoe> and Naggum is also not around anymore
<antaoiseach> Yeah, kinda miss his rants
<phoe> theseb: ((lambda (a b) (car (cons a b))) 8 9)
<theseb> oh my
<phoe> antaoiseach: I don't. I wasn't around when he ranted, but I read lots of his mail
<theseb> phoe: ok thanks
<Aurora_v_kosmose> ( (lambda (a b) (car (list a b))) 8 9 )
<phoe> he was as much of a genius as he was an asshole, and I, personally, am thankful that most of the pearls from his mails have already been extracted and implemented elsewhere
<phoe> nowadays it's rare when someone *really* needs to go cesspool diving into the archives of comp.lang.lisp.naggum
<antaoiseach> ((lambda (a b) (car `(,a ,b))) 8 9) should work too
iridioid has quit [Ping timeout: 260 seconds]
<Bike> really advanced programmers might do ((lambda (a b) a) 8 9)
<antaoiseach> phoe: Hmmm... he did seem to have some mental issues for sure, but it's fine by me... I enjoyed it at times! :D
<phoe> Bike: that causes stylewarnings to occur though
<Bike> advanced programmers know they're always in style
<phoe> antaoiseach: `(,a ,b) is not a cons
<antaoiseach> Bike: Hahaha
<antaoiseach> phoe: yes, but OP just wanted the first element right?
<Aurora_v_kosmose> lol
<phoe> antaoiseach: oh I'm blind
<phoe> that wasn't a cons, that was a two element list
<phoe> yes, you are correct
<antaoiseach> no worries!
v_m_v has joined #lisp
<antaoiseach> btw, is this for all Lisp "dialects" or only for CL? first time in here...
<phoe> Common Lisp
<Aurora_v_kosmose> It works for Elisp too
<phoe> ##lisp is for general lisp, #emacs is for elisp, #lispcafe is for offtopic stuff
<phoe> #clschool for newbies, #scheme for conspirators, #clojure for Java programmers, etc..
<antaoiseach> phoe: Oh, nice!
<antaoiseach> phoe: Hahaha - that dig at Clojure... oh man!
<phoe> antaoiseach: just playing towards your c.l.l vibes now
<antaoiseach> hahaha
v_m_v has quit [Ping timeout: 258 seconds]
antaoiseach has left #lisp [#lisp]
z147 has quit [Ping timeout: 240 seconds]
ebrasca has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
cosimone has quit [Quit: Quit.]
ebrasca has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
ljavorsk has quit [Ping timeout: 256 seconds]
<alandipert> i made a simple website for JACL and also posted code in case anyone is interested: https://tailrecursion.com/JACL/
* alandipert is excited about ELS
<phoe> alandipert: posted on Reddit, thank you for flying phoe airlines
arduo has joined #lisp
<phoe> will you consider eventually putting it on Quicklisp?
<alandipert> my inclination is no but for reasons i haven't fully convinced myself of
<Aurora_v_kosmose> So long as it's referenced on Cliki it's fine.
ardoc has joined #lisp
<alandipert> even once it's usable jacl's capabilities are severely limited compared to other CLs, so i want to be thoughtful about how to link jacl to the wider ecosystem
<alandipert> otoh, it's MIT licensed, so if anyone else wanted to run with it in that direction i couldn't stop them :-)
rpg has joined #lisp
arduo has quit [Ping timeout: 265 seconds]
jprajzne has quit [Quit: Leaving.]
sabrac has quit [Quit: Konversation terminated!]
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
ayuce has quit [Remote host closed the connection]
<phoe> hmm
<phoe> should I implement {e,c}{type,}case from scratch
<phoe> or base them off case and typecase
iAmDecim has quit [Ping timeout: 264 seconds]
<alandipert> phoe is this related to your condition system alternative?
<aeth> phoe: isn't an etypecase or ctypecase just a typecase with an implicit t clause at the end?
<aeth> and probably the same for ecase/ccase
<phoe> alandipert: yes
<phoe> aeth: yes, it is
<phoe> that's why I'm thinking of piggybacking the host's case/typecase implementation
<aeth> yeah
<aeth> it should be no different from the implementation, unless the implementation *really* cheats, as long as you base it on case/typecase
<aeth> s/the implementation/the Lisp implementation/
<alandipert> phoe are you going for different semantics, or is this for pedagogical purposes?
<phoe> alandipert: pure pedagogical purpose
<phoe> I am reworking kmp's original CLCS implementation right now
<phoe> cleaning it up and uplifting it from CLtL1 code into ANSI CL code
<phoe> already got the restarts done and like 40% of conditions; remaining is 60% of conditions/handlers and the debugger
iridioid has joined #lisp
shangul has joined #lisp
ATuin has quit [Quit: WeeChat 2.8]
iridioid has quit [Ping timeout: 256 seconds]
<alandipert> phoe that's awesome, i look forward to it. re: your earlier q. if i were you i'd try to focus on implementing exactly what's important to demonstrate and as little else as possible, a la Closette
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
<phoe> alandipert: I was thinking of that, but that would mean that I skip things like condition-restart association which are not strictly necessary but a) nice to have, b) standard
pve has quit [Quit: leaving]
<phoe> I think it's doable to implement the full condition system while keeping it pedagogically viable
<alandipert> very cool. well i'm excited to check it out, i would love to have a deep understanding of that stuff
<phoe> alandipert: I have a mostly-ready WIP if you feel like giving it a review.
<phoe> it's mostly ready until the "Why not?" chapter
* alandipert will read... eventually
<phoe> which is a giant TODO that waits while I'm yak shaving a portable implementation of condition system
theBlackDragon has quit [Ping timeout: 246 seconds]
shangul has quit [Ping timeout: 258 seconds]
Codaraxis has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
iAmDecim has joined #lisp
theBlackDragon has joined #lisp
iAmDecim has quit [Ping timeout: 258 seconds]
ArthurStrong has joined #lisp
TwoNotes has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
<TwoNotes> The LMDB package from quicklisp gets an "Unhandled memory fault at #x0" as soon as I do a PUT. Are there any other LMDB wrappers? Or is this still being maintained?
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
gxt has joined #lisp
<phoe> TwoNotes: https://github.com/antimer/lmdb shows no commits since 2017
<TwoNotes> I guess that answers that.
<TwoNotes> I need a fast kay-value store from Lisp
<TwoNotes> Looking at (ql:system-apropos "sql") I see just about all of them are quite old
<Xach> 2017 is not so distant as to mean unmaintained!
<Xach> old does not mean that it does not work well automatically
<TwoNotes> Even the latest open issue for antimer/lmdb is form 2017
q-u-a-n2 has joined #lisp
iridioid has joined #lisp
q-u-a-n22 has quit [Read error: Connection reset by peer]
<p_l> TwoNotes: a lot of lisp code is very stable
<TwoNotes> Still, the source code is only 600 lines - I supposed I could dig into it. But I hate debugging someone else's code when I am trying to get something done.
<p_l> unless the external interface changes then usually there's no need to update
<TwoNotes> It might be that the underlying liblmdb has changed in some inc,ompatible way
<Xach> I use postmodern a lot but I don't know if it fits your need for a fast key-value store.
<phoe> TwoNotes: I was about to suggest postgres
<phoe> ;; it's a NoSQL database with its binary JSON support
<TwoNotes> phoe as far as I know, postgres is a SQL database. Like MariahDB
<Xach> Out of curiosity, what will you make with a fast key-value store?
sugarwren has quit [Quit: Leaving]
<TwoNotes> It is a backing store form some natural language processing. The data is a bunch of Merkle trees representing parses of text into b-trees.
<TwoNotes> I am going to poke at this library a bit more though - perhaps I am using it wrong
<TwoNotes> It never actually creates the disk files, which is suspicous
<Xach> TwoNotes: i tried the example code and it worked ok for me.
<TwoNotes> Aha
<Xach> not an endorsement, but it did make some progress
<TwoNotes> It may be I passed the wrong sort of pathname. I had not wrapped it in that system-relative-pathname thingy
<TwoNotes> Now that I see how the test case works
ardoc has quit [Ping timeout: 258 seconds]
iAmDecim has joined #lisp
<Xach> good luck with it!
kam1 has quit [Ping timeout: 264 seconds]
ardoc has joined #lisp
<pjb> theseb: because of the Turing Equivalence, all TC languages are extensions of other TC languages!
ahungry has quit [Remote host closed the connection]
<pjb> theseb: the only thing, is that if you start from lambda calculus, you will have to simulate a whole universe to implement a complete CL, because CL has I/O and lambda-calculus none.
iAmDecim has quit [Ping timeout: 256 seconds]
<pjb> theseb: (you must at least implement a file system, and a terminal input/output, and of course, some entity "user" to read and type at the terminal; you may not have to simulate the Milky Way…).
bars0 has joined #lisp
<TwoNotes> You could take the view that I/O is merely a run-time library and not part of the language proper
<TwoNotes> I include the XKCD episode about Lisp only be reference
kam1 has joined #lisp
<pjb> minion: memo for [rg]: (shadow '(cons consp car cdr)) (defstruct (cons (:constructor cons (car cdr)) (:conc-name nil) (:predicate consp)) car cdr) (cons 1 2) -> #S(cons :car 1 :cdr 2)
<minion> Remembered. I'll tell [rg] when he/she/it next speaks.
<pjb> minion: memo for [rg]: that said, on a lot of processors, storing the cdr before the car may be advantageous (optimizes cdr-following).
<minion> Remembered. I'll tell [rg] when he/she/it next speaks.
<phoe> How does PROGV help user debug lexical variables?
<phoe> I don't understand that part of the code.
<phoe> I can trace this code all the way back to kmp.
<Bike> initial revision of sbcl, lol
<phoe> it's older than that, that code is from 1988
<Bike> i guess it means you have access to whatever the old value was
<Bike> or well, maybe not, since if it's a lexical variable it's not actually declared special probably, so you'd have to use symbol-value
<phoe> this PROGV is only effective inside READ-IT
<phoe> so literally only for a single READ+EVAL
<Bike> sure.
<Bike> i mean that the user could do like (1+ x) if x is the place
<phoe> so it grabs a lexical variable, proclaims it locally special---
<phoe> ooooooh
<Bike> (except, again, not actually, unless x is a special variable)
<Bike> it doesn't proclaim it locally special, it just binds it.
<phoe> wait a second then
<Bike> i think maybe this is _supposed_ to allow the (1+ x) thing but accidentally doesn't.
<phoe> it binds a special variable... but then the user keeps on nonetheless using the lexical one for whatever reason?
<Bike> i'm guessing, of course.
<Bike> well, they won't have access to the lexical variable, the eval is done in a null lexical environment
<phoe> I mean, if we have a symbol named X
<phoe> PROGV causes X to be dynamically bound to, uhh, its previous value or something
<Bike> it causes x to be bound but doesn't effect whether it is declared special.
<phoe> but we still cannot use it without proclaiming it special
nchambers has quit [Quit: ZNC 1.7.5 - https://znc.in]
nchambers has joined #lisp
<phoe> why?
<Bike> why what
<phoe> what's the purpose of that?
<Bike> of progv?
<phoe> no, of that binding
<phoe> of that particular progv in that particular place
<Bike> well, like i said, i think they fucked it up
<phoe> all that comes to my mind is SYMBOL-VALUE which will correctly fetch the bound dynavalue
<phoe> but that in turn might screw up already bound dynamic variables
TwoNotes has quit [Quit: Leaving]
bars0 has quit [Quit: leaving]
SGASAU has quit [Remote host closed the connection]
SGASAU` has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
SGASAU` has quit [Client Quit]
SGASAU has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
<theseb> say pedantically speaking....(lambda (x) (+ x 3)) is actually a function *definition* rather than a function right? .....just like + is really not a function but rather a symbol that evaluates to a function yes?
<phoe> theseb: (lambda ...) evaluates to a function object
<phoe> if you use it as a form, that is
<Xach> theseb: you can talk about what something reads as vs what it evaluates to, sure.
<phoe> if you use it in instead of a function name, like ((lambda ...) ...), then it is a function definition, yes
<theseb> phoe: exactly! but (lambda ...) itself is not a function!
<theseb> phoe: ok
<phoe> theseb: what do you mean, "is not a function"
<phoe> it is a list
<theseb> phoe: it is a function *definition*
<Xach> theseb: sometimes the context implies evaluation, but it isn't always crystal clear.
<theseb> phoe: ok..a function definition list
<phoe> it is a list whose first element is the symbol LAMBDA
<phoe> and what it means depends on the context in which it is used
<Xach> sometimes it can be very helpful to be extra precise, sometimes not
<phoe> if we want to be pedantic, then ((lambda ...) ...) is equivalent to (funcall (lambda ...) ...) and therefore the function "definition" is nonetheless reduced to a function object
sjl_ has quit [Ping timeout: 256 seconds]
<pjb> theseb: (lambda (x) (+ x 3)) is a sexp. It's a list. It's a cons cell. It contains the symbol, assumedly CL:LAMBDA, in its car, and the list ((x) (+ x 3)) in it's cdr.
<pjb> theseb: ask your implementation! (inspect '(lambda (x) (+ x 3)))
<Xach> theseb: what prompts the question?
iAmDecim has joined #lisp
<pjb> theseb: as phoe says, ((lambda (x) (+ x 3)) 4) has the same form as (sin 4) which shows that (lambda (x) (+ x 3)) can be considered as the "name" of the function (lambda (x) (+ x 3)).
<LdBeth> Well lambda is a macro expends to (function (lambda (...) ...))
<LdBeth> For consistency, (foo ...) can be treat to be equivalent to (funcall #'foo ...)
iridioid has quit [Ping timeout: 240 seconds]
trocado has joined #lisp
efm has quit [Ping timeout: 265 seconds]
dddddd has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
v_m_v has joined #lisp
penguwin has quit [Quit: NO CARRIER]
ayuce has joined #lisp
Inline has quit [Quit: Leaving]
iAmDecim has quit [Ping timeout: 250 seconds]
ayuce has quit [Remote host closed the connection]
ayuce has joined #lisp
akoana has joined #lisp
gravicappa has quit [Ping timeout: 256 seconds]
penguwin has joined #lisp
SGASAU has quit [Ping timeout: 256 seconds]
knicklux has quit [Ping timeout: 265 seconds]
iAmDecim has joined #lisp
iridioid has joined #lisp
<theseb> Xach: i'm implementing my own little lisp and want to understand the low level details perfectly.....it is sort of a labor of love...that is why the question
<Xach> ah
<theseb> thanks all for the help..until next time
theseb has quit [Quit: Leaving]
v_m_v has quit [Remote host closed the connection]
iridioid has quit [Ping timeout: 265 seconds]
pilne has quit [Quit: Friends help you move. Real friends help you move bodies.]
iridioid has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
<phoe> wait
<phoe> I need to understand why (progv '(x) '(10) (eval 'x)) works
<phoe> X is not proclaimed special anywhere
[rg] has joined #lisp
xlei has quit [Ping timeout: 256 seconds]
X-Scale` has joined #lisp
<phoe> ...I think I got it
keep_learning has joined #lisp
pilne has joined #lisp
X-Scale has quit [Ping timeout: 264 seconds]
X-Scale` is now known as X-Scale
random-nick has quit [Ping timeout: 240 seconds]
ardoc` has joined #lisp
ardoc has quit [Ping timeout: 250 seconds]
ayuce has quit [Remote host closed the connection]
xlei has joined #lisp
ayuce has joined #lisp
Kundry_Wag has joined #lisp
trocado has quit [Ping timeout: 250 seconds]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<LdBeth> phoe: so progv should implicitly declare special
greaser|q is now known as GreaseMonkey
Kundry_Wag has quit [Ping timeout: 256 seconds]
luckless has quit [Remote host closed the connection]
luckless has joined #lisp
[rg] has quit [Quit: [rg]]
<pjb> phoe: because clhs progv says: progv creates new dynamic variable bindings and executes each form using those bindings.
iAmDecim has quit [Ping timeout: 240 seconds]
<pjb> phoe: it's equivalent to (let ((x 10)) (declare (special x)) (eval 'x)) but not to: (let ((x 10)) (locally (declare (special x)) (eval 'x))) #| ERROR: Unbound variable: x |#