aeth has quit [Killed (NickServ (GHOST command used by aeth_))]
bilegeek has quit [Quit: Leaving]
aeth_ is now known as aeth
hhdave has quit [Ping timeout: 272 seconds]
random-nick has quit [Ping timeout: 268 seconds]
mindCrime_ has quit [Ping timeout: 272 seconds]
Inline has quit [Ping timeout: 272 seconds]
tfb has joined #commonlisp
knusbaum has joined #commonlisp
ludston has joined #commonlisp
knusbaum has quit [Ping timeout: 244 seconds]
tfb has quit [Ping timeout: 272 seconds]
Wilfred has quit [Quit: Connection closed for inactivity]
<ludston>
beach: I like your "reverse-order" paper. It's using recursion in an interesting way. I am thinking this approach might have trouble though for O(n^2) algorithms. e.g. "(reduce (lambda (x y) (+ x y (reduce '+ some-large-list :from-end t))) some-large-list :from-end t)" as once the remaining stack space is small, nthcdr could be called a very large
<ludston>
number of times.
dlowe has quit [Remote host closed the connection]
<ludston>
This seems like a solvable problem except for in cases where you don't know the number of times that reduce will be recursively invoked.
seok- has quit [Ping timeout: 272 seconds]
<Bike>
is that a pattern one actually runs into?
cjb has quit [Read error: Connection reset by peer]
zacts has joined #commonlisp
<ludston>
My example of an O(n^2) algorithm is contrived, but yes there are algorithms where O(n^2) is optimal. Algorithms like O(n^m) are pretty rare though, given the run-time tends to become infinite when you have more than 10 elements.
cjb has joined #commonlisp
knusbaum has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
knusbaum has quit [Ping timeout: 272 seconds]
knusbaum has joined #commonlisp
tfb has joined #commonlisp
zacts has quit [Quit: gtg]
knusbaum has quit [Ping timeout: 272 seconds]
killsushi has joined #commonlisp
knusbaum has joined #commonlisp
srhm has quit [Quit: Konversation terminated!]
mindCrime_ has joined #commonlisp
tfb has quit [Ping timeout: 272 seconds]
<beach>
Good morning everyone!
<beach>
ludston: Thanks!
<beach>
I don't have the paper fresh in memory, but as I recall, each invocation takes a logarithmic amount of stack space. It would appear to me then, that a quadratic algorithms would take log² space.
Wilfred has joined #commonlisp
dsk has joined #commonlisp
joast has quit [Quit: Leaving.]
<beach>
I added two more papers to http://metamodular.com/SICL today, namely "A modern implementation of the LOOP macro", and "Removing redundant tests by replicating control paths."
Lord_of_Life has quit [Ping timeout: 272 seconds]
mindCrime_ has quit [Ping timeout: 272 seconds]
Lord_of_Life has joined #commonlisp
tfb has joined #commonlisp
wheelsucker has joined #commonlisp
knusbaum has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
wheelsucker has left #commonlisp [#commonlisp]
Lycurgus has quit [Quit: Exeunt]
Bike has quit [Quit: sleep]
knusbaum has joined #commonlisp
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
waleee-cl has quit [Ping timeout: 272 seconds]
tfb has quit [Ping timeout: 264 seconds]
wheelsucker has joined #commonlisp
knusbaum has quit [Remote host closed the connection]
Alfr has quit [Quit: Leaving]
tfb has joined #commonlisp
dsk has quit [Ping timeout: 244 seconds]
karlosz has joined #commonlisp
heisig has joined #commonlisp
karlosz has quit [Quit: karlosz]
derelict has quit [Ping timeout: 264 seconds]
tfb has quit [Ping timeout: 244 seconds]
Cymew has joined #commonlisp
dsk has joined #commonlisp
igemnace has quit [Ping timeout: 272 seconds]
heisig has quit [Quit: Leaving]
pokes has quit [Ping timeout: 252 seconds]
shka has joined #commonlisp
silasfox has joined #commonlisp
tfb has joined #commonlisp
cjb has quit []
rgherdt has joined #commonlisp
selwyn has joined #commonlisp
selwyn_ has joined #commonlisp
selwyn has quit [Ping timeout: 244 seconds]
flashfiasco has joined #commonlisp
tfb has quit [Ping timeout: 272 seconds]
Th30n has joined #commonlisp
Krystof has joined #commonlisp
pve has joined #commonlisp
v88m has quit [Ping timeout: 264 seconds]
tfb has joined #commonlisp
Wilfred has quit [Quit: Connection closed for inactivity]
selwyn has joined #commonlisp
selwyn_ has quit [Ping timeout: 244 seconds]
pjb has joined #commonlisp
hendursa1 has joined #commonlisp
bhaible has joined #commonlisp
hendursaga has quit [Ping timeout: 252 seconds]
flashfiasco has quit [Ping timeout: 264 seconds]
flashfiasco has joined #commonlisp
unyu has quit [Ping timeout: 268 seconds]
unyu has joined #commonlisp
tfb has quit [Ping timeout: 272 seconds]
selwyn_ has joined #commonlisp
selwyn has quit [Ping timeout: 264 seconds]
dsk has quit [Ping timeout: 264 seconds]
v88m has joined #commonlisp
v88m has quit [Remote host closed the connection]
fishfinger has joined #commonlisp
delYsid has joined #commonlisp
tfb has joined #commonlisp
igemnace has joined #commonlisp
seok- has joined #commonlisp
kevingal has joined #commonlisp
flashfiasco has quit [Ping timeout: 272 seconds]
flashfiasco has joined #commonlisp
pve_ has joined #commonlisp
flashfiasco has left #commonlisp [#commonlisp]
pve has quit [Ping timeout: 244 seconds]
endparen has quit [Ping timeout: 264 seconds]
pve_ has quit [Ping timeout: 264 seconds]
pve has joined #commonlisp
yitzi has quit [Ping timeout: 244 seconds]
pve has quit [Ping timeout: 244 seconds]
pve has joined #commonlisp
fishfinger has quit [Ping timeout: 244 seconds]
dsk has joined #commonlisp
fishfinger has joined #commonlisp
Th30n has quit [Ping timeout: 244 seconds]
pve_ has joined #commonlisp
Noisytoot has quit [Ping timeout: 244 seconds]
froggey has quit [Quit: leaving]
froggey has joined #commonlisp
pve has quit [Ping timeout: 244 seconds]
leo_song has joined #commonlisp
rogersm has joined #commonlisp
rogersm has quit [Client Quit]
tfb has quit [Ping timeout: 272 seconds]
Noisytoot has joined #commonlisp
dlowe has joined #commonlisp
dlowe has quit [Remote host closed the connection]
dlowe has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
Th30n has joined #commonlisp
hhdave has joined #commonlisp
tfb has joined #commonlisp
tfb has quit [Client Quit]
silasfox has quit [Ping timeout: 244 seconds]
random-nick has joined #commonlisp
tyson2 has joined #commonlisp
selwyn_ has quit [Read error: Connection reset by peer]
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
fourier has joined #commonlisp
selwyn has joined #commonlisp
derelict has joined #commonlisp
hhdave has quit [Ping timeout: 244 seconds]
selwyn has quit [Read error: Connection reset by peer]
igemnace has quit [Quit: WeeChat 3.1]
igemnace has joined #commonlisp
waleee has joined #commonlisp
fishfinger has quit [Remote host closed the connection]
Bike has joined #commonlisp
tfb has joined #commonlisp
aeth has quit [Ping timeout: 264 seconds]
aeth has joined #commonlisp
delYsid has quit [Remote host closed the connection]
hendursa1 has quit [Quit: hendursa1]
taiju has quit [Remote host closed the connection]
hendursaga has joined #commonlisp
taiju has joined #commonlisp
tfb has quit []
tfb has joined #commonlisp
Inline has joined #commonlisp
<gendl>
Morning, is this channel so quiet today?
<beach>
It has been pretty quiet lately.
<pjb>
It' strange that compiler-macro-function takes an environment parameter, but it can only be NIL for (setf compiler-macro-function).
<pjb>
Ie compiler-macro-functions only for global functions.
<jackdaniel>
this silence is a sound hacking; it will blossom in a week or two ,)
<phoe>
pjb: I don't know if having a local compiler macro function is a wanted feature
knusbaum has joined #commonlisp
<Bike>
compiler-macro-function needs it because compiler macros can be shadowed by local functions
<Bike>
but also, typep and subtypep and find-class take environment parameters, and there's no concept of local types
knusbaum has quit [Read error: Connection reset by peer]
clintm has joined #commonlisp
<beach>
Can those just be different global environments, like the ones mentioned for file compilation?
knusbaum has joined #commonlisp
<beach>
I guess that depends on how DEFTYPE behaves at compile time.
* beach
checks...
<Bike>
also, local compiler macros could be kind of nice for things like call-next-method
<Bike>
not common, but nice
<jackdaniel>
unl - uncommon nice lisp
<beach>
So it looks like DEFTYPE can be defined in the compilation environment, so the environment to TYPEP and SUBTYPEP could be a compilation environment.
<beach>
FIND-CLASS is more mysterious.
<jackdaniel>
could it be that find-class when used with compilation environment yields a forward referenced class instance standing for a class that is defined in this compilation unit?
<beach>
I thought of that possibility, but I don't remember seeing anything like that.
<Bike>
iirc ccl does that
<Bike>
though not a forward-referenced-class
<Bike>
the defclass clhs entry has that confusing bit about compiler side effects
<beach>
Yes, I am reading it now.
<beach>
I have no idea what it means.
<beach>
Oh, wait, there is an Issue about that.
<beach>
No help there.
<pjb>
Bike: oh I see, so with a lexical environment compiler-macro-function could return NIL because its (global) function is shadowed.
<pjb>
The magic of a specification: if you use it to implement something, it works even if you don't understand it! :-)
<pjb>
beach: ^ I wonder if that advantage is recorded somewhere.
<beach>
Heh, good question.
<beach>
What if DEFCLASS is in an (EVAL-WHEN (:COMPILE-TOPLEVEL) ...)?
<beach>
Then the class would be defined in the evaluation environment.
<Bike>
we used to do that in clasp but it causes some practical issues, especially with mop
<beach>
It would be strange either way, because it would be a different class at run time.
<beach>
Well, maybe not. I can imagine classes that are useful only at compile time.
<beach>
So does that mean that DEFCLASS always defines the class in the evaluation environment?
<jackdaniel>
fwiw mcclim does a funny thing: it records presentations at compile time and tries to attach them to functions at run time (because as you have noted it may be a different class by then :)
<jackdaniel>
s/them to functions/them to classes/
<beach>
Hmm.
<beach>
That would seem consistent with the description of DEFCLASS.
<Bike>
what clasp does now is note any accessors in a similar way to what it does for defuns, and then sets an internal "class-info" in the environment, which covers the stuff where later sub/typep calls need to recognize it as a type, etc
<Bike>
i forget how find-class works at compile time
<beach>
Well, the Common Lisp HyperSpec kind of says how.
<beach>
An environment parameter of a macro is always going to be the compilation environment, and the compilation environment inherits from the evaluation environment.
Alfr has joined #commonlisp
<beach>
So if the class is defined in the evaluation environment, that makes the phrase in the Common Lisp HyperSpec make sense.
<Bike>
i meant the case in which the class is not defined in the evaluation environment
<beach>
But my hypothesis is that the wording of the Common Lisp HyperSpec means that it always is.
<Bike>
meaning every defclass form is evaluated at compile time?
<beach>
Yes, but only in the evaluation environment.
<Bike>
evaluating defclass forms at compile time at all can cause issues. people do things like put a defclass form and a related validate-superclass method definition in the same file.
<Bike>
or methods for defining slot definition classes, etc
<beach>
I am not saying it is a good idea. I am just speculating about the meaning of the wording in the Common Lisp HyperSpec.
<beach>
It could be a forward-referenced-class as jackdaniel suggests. Nothing is said about the utility of the class at compile time. Just that FIND-CLASS must return it.
<jackdaniel>
wouldn't evaluating (%compiler-defclass-using-internals-but-preserving-identity …) in the compilation environment suffice?
aeth has quit [Ping timeout: 268 seconds]
<jackdaniel>
(given that find-class knows how to access it of course)
<pjb>
beach: even if the macro form is EVALuated?
<pjb>
(eval '(defclass foo () ()))
<jackdaniel>
Bike: that is related to the funny thing I've mentioned above
<beach>
pjb: That's different. It mentions only a call to FIND-CLASS.
aeth has joined #commonlisp
<beach>
pjb: EVAL always acts in the startup environment.
<beach>
jackdaniel: I don't know what that means.
<jackdaniel>
beach: that there is no need to evaluate defclass at all, it is enough for the compiler to take a note and return something sensible from find-class
<jackdaniel>
(i.e if find-class is not called, then not define a class at all; and if it is called with the compiler environment make an instance of a forward-referenced class)
<jackdaniel>
s/at all/at compile time/
<Bike>
i think the main thing is i don't understand what you're supposed to be able to do with a find-class result, if anything
<Bike>
can you even do subtypep and stuff with it? couldn't the set of superclasses be affected by mop methods?
srhm has joined #commonlisp
hendursaga has quit [Remote host closed the connection]
Colleen has quit [Ping timeout: 264 seconds]
Colleen has joined #commonlisp
hendursaga has joined #commonlisp
<beach>
jackdaniel: OK, I understand.
<beach>
Bike: Yes, exactly. There is no explanation.
<jackdaniel>
couldn't determining whether NAME denotes a class influence a macro expansion?
<beach>
Yeah. There couldn't be much more to do at compile time.
<beach>
And in that case, just associating the name with a new forward-referenced-class in the evaluation environment will work.
Th30n has quit [Quit: WeeChat 3.1]
fishfinger has joined #commonlisp
yitzi has joined #commonlisp
fiddlerwoaroof has quit [Quit: Gone.]
fiddlerwoaroof has joined #commonlisp
edgar-rft has quit [Quit: Leaving]
Inline has quit [Ping timeout: 240 seconds]
aeth_ has joined #commonlisp
aeth has quit [Killed (NickServ (GHOST command used by aeth_))]
aeth_ is now known as aeth
froggey has quit [Remote host closed the connection]
froggey has joined #commonlisp
waleee has quit [Ping timeout: 265 seconds]
waleee has joined #commonlisp
aeth has quit [K-Lined]
GreaseMonkey has quit [Ping timeout: 244 seconds]
aeth has joined #commonlisp
katya is now known as mariari
waleee has quit [Ping timeout: 240 seconds]
dsk has quit [Ping timeout: 272 seconds]
derelict has quit [Quit: WeeChat 3.1]
derelict has joined #commonlisp
selwyn has joined #commonlisp
domovod has joined #commonlisp
fishfinger has quit [Ping timeout: 265 seconds]
NeoCron has joined #commonlisp
terpri has joined #commonlisp
robin has quit [Read error: Connection reset by peer]
terpri is now known as robin
waleee has joined #commonlisp
mindCrime_ has joined #commonlisp
trocado has joined #commonlisp
steeps has joined #commonlisp
cage has joined #commonlisp
dcx has joined #commonlisp
killsushi has quit [Ping timeout: 244 seconds]
mindCrime_ has quit [Ping timeout: 240 seconds]
steeps has quit [Quit: Leaving]
tyson2 has quit [Ping timeout: 244 seconds]
igemnace has quit [Ping timeout: 240 seconds]
NeoCron has quit [Ping timeout: 268 seconds]
edgar-rft has joined #commonlisp
fengshaun has joined #commonlisp
CrashTestDummy has joined #commonlisp
Cymew has quit [Ping timeout: 272 seconds]
CrashTestDummy has quit [Quit: Leaving]
jeosol has quit [Quit: Connection closed]
CrashTestDummy has joined #commonlisp
dsk has joined #commonlisp
<jcowan>
I'm wondering why nobody has implemented a CL in which COMPILE-FILE is done by compiling to C. It's been done several times for Scheme, and Scheme's control structure is much more un-C-ish than CL's.
<MichaelRaskin>
Uhm, ECL?
<pjb>
gcl
<pjb>
clocc
<pjb>
mocl
<pjb>
do you want more?
Tomte has joined #commonlisp
Tomte has quit [Remote host closed the connection]
<jcowan>
I didn't know about molybdenum chloride. Forgetting the KCL family (KCL/AKCL/GCL/ECL) was a brain fart. I can't find anything named CLOCC except a code library
<MichaelRaskin>
Maybe CLiCC, actually
<pjb>
Oh, yes, I meant clicc….
<loke>
What we really need is a CL what compiles to COBOL.
<loke>
I've actually been playing around with COBOL lately. It's an interesting thing.
<pjb>
lokeIn the meantime, you can use opencobol on linux and link with libecl.
ec has joined #commonlisp
yitzi has quit [Quit: Leaving]
Gnuxie has quit [Quit: Client limit exceeded: 10000]
gigamonkey has joined #commonlisp
<jcowan>
I agree: COBOL is interesting in a number of ways
<gigamonkey>
Do I need to care about these warnings from ASDF: Please only define "flexi-streams" and secondary systems with a name starting with "flexi-streams/"
Gnuxie has joined #commonlisp
katco has quit [Quit: Client limit exceeded: 10000]
akanouras has quit [Quit: Client limit exceeded: 10000]
sunset_NOVA has joined #commonlisp
sunset_NOVA has quit [Client Quit]
mindCrime_ has joined #commonlisp
ck_ has joined #commonlisp
GreaseMonkey has joined #commonlisp
dieggsy has quit [Quit: Client limit exceeded: 10000]
seok- has quit [Ping timeout: 244 seconds]
<Krystof>
only if you're worried that it'll start getting less polite
katco has joined #commonlisp
<Krystof>
(I don't actually know, I'm just impressed that a warning says "please" more than my children do)
ball has joined #commonlisp
ball has left #commonlisp [Just checkin']
akanouras has joined #commonlisp
dieggsy has joined #commonlisp
killsushi has quit [Quit: Leaving]
<loke[m]>
You are joking but it sure would be a fun thing to do.
<loke[m]>
I might do it when I'm on leave.
ivche has joined #commonlisp
<gigamonkey>
Krystof: is this just ASDF being opinionated and various libraries not sharing the opinion?
mindCrime_ has quit [Ping timeout: 268 seconds]
Inline has joined #commonlisp
ivche has left #commonlisp [ERC (IRC client for Emacs 27.2)]
<etimmons>
gigamonkey: Pretty much. ASDF wants that naming scheme so that it can map system names to an .asd file.
<jackdaniel>
gigamonkey: there is a deeper reasoning behind that -- say that asdf doesn't know anything about the system - then when you type (asdf:load-system "flexi-streams.foo") it will look for the file flexi-streams.foo.asd
<jackdaniel>
while flexi-streams/foo is not ambigous with this regard
<etimmons>
Most projects have adapted, but some steadfastly refuse. I think flexi-streams is in the latter camp.
<jackdaniel>
that said, when you have flexi-streams.test that is loaded only after flexi-streams, then asdf knows where the system is defined, because it already has loaded flexi-streams.asd
<jackdaniel>
but it is not that this warning is without a reason
seok- has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
karlosz has joined #commonlisp
domovod has quit [Ping timeout: 268 seconds]
karlosz has quit [Quit: karlosz]
selwyn has quit [Read error: Connection reset by peer]
dsk has quit [Ping timeout: 240 seconds]
selwyn has joined #commonlisp
<gigamonkey>
Okay, that makes some sense.
akoana has joined #commonlisp
ec has quit [Ping timeout: 252 seconds]
tfb has quit []
derelict has quit [Quit: WeeChat 3.1]
<flip214>
minion: registration, please?
wheelsucker has quit [Quit: ERC (IRC client for Emacs 27.2)]
rdrg109 has joined #commonlisp
gigamonkey has quit [Quit: Client closed]
wheelsucker has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
selwyn has joined #commonlisp
tyson2 has joined #commonlisp
Inline has quit [Remote host closed the connection]
wheelsucker has quit [Quit: ERC (IRC client for Emacs 27.2)]