karlosz has quit [Remote host closed the connection]
Guest74 has quit [Quit: Connection closed]
morganw has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: Connection closed]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 276 seconds]
Bike has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
Oladon has joined #commonlisp
Bike has quit [Quit: Connection closed]
<Spawns_Carpeting>
kakuhen: the source code itself is hosted on source forge as well as far as I can tell, so bootstrapping from source doesn't help
<Spawns_Carpeting>
it does look like sourceforge has new owners that intended to clean it up
<Spawns_Carpeting>
has anyone tried clasp btw?
<yitzi>
Questions about it? I contribute/use it.
<Spawns_Carpeting>
i was just wondering if anyone could vouch for it being a safe/legit project
<Spawns_Carpeting>
it appears as such to me
<yitzi>
Its legit.
<Spawns_Carpeting>
how usable is it currently yitzi?
<yitzi>
Very usable. Compilation of lisp code is slower than SBCL, but it is designed to interact with C/C++ code.
pepsi is now known as jamesmartinez
jamesmartinez is now known as pepsi
pepsi is now known as jamesmartinez
<jamesmartinez>
kakuhen: what does sanely bootstrappable mean?
<kakuhen>
I defer to the authors of the paper who chose that title to describe SBCL
<kakuhen>
they seem to define it as "bootstrappable neither solely from itself, nor from some other language, but rather from a variety of other Common Lisp implementations"
<yitzi>
SBCL is a descendant of CMUCL which bootstraps from itself and needs to know which version of CMUCL it is bootstrapping from. SBCL removes that restriction.
<Spawns_Carpeting>
how do you do something like read args from argv in clasp yitzi? im not seeing any function providing that in the posix extension part of the manual
<Spawns_Carpeting>
oh yeah that's a better way of doing it
<Spawns_Carpeting>
i am going to see about packaging clasp for gentoo
<Spawns_Carpeting>
not sure that it will go into the main gentoo repo since they aren't keen on adding stuff at the moment
<yitzi>
You should look at the packaging in the debian and the brew directories in the clasp repo for how it is done there.
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
X-Scale has quit [Ping timeout: 276 seconds]
aeth has quit [Ping timeout: 240 seconds]
wildlander has joined #commonlisp
aeth has joined #commonlisp
<weary>
is there an archive of old cl implementations? i find it disturbing that there are multiple implementations that seem to have been lost to the sands of time completely.
akoana has quit [Quit: leaving]
Bike has joined #commonlisp
boka has joined #commonlisp
boka has quit [Client Quit]
Oladon has quit [Quit: Leaving.]
ebrasca has quit [Remote host closed the connection]
<beach>
weary: Some of them may not be worth saving.
<White_Flame>
and certainly many of them were closed-source and not legally archivable
<beach>
That too.
<beach>
What was that early PC Common Lisp?
<beach>
Gold Hill?
<beach>
Probably pre-ANSI?
wildlander has quit [Quit: Saliendo]
tyson2 has quit [Remote host closed the connection]
jmes has joined #commonlisp
<jmes>
Does :TYPE in a slot definition enforce the slot typing, or does it just give a type specifier for (type-of (slot obj)) to return?
igemnace has joined #commonlisp
<beach>
jmes: It depends on your implementation.
<beach>
As I recall, SBCL checks it for certain combinations of OPTIMIZE qualities.
aartaka has quit [Ping timeout: 240 seconds]
boka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
orestarod has quit [Ping timeout: 240 seconds]
aartaka has quit [Ping timeout: 246 seconds]
boka has joined #commonlisp
yewscion has quit [Ping timeout: 244 seconds]
pillton has joined #commonlisp
Bike has quit [Quit: Connection closed]
<jmes>
beach: ah, gotcha. I was just wondering if my :after methods for type checking were really necessary or not. Now I know
<jmes>
Thanks!
<beach>
Sure.
ttree has quit [Ping timeout: 258 seconds]
dBc has joined #commonlisp
boka has quit [Quit: Client closed]
<weary>
beach: it's hard to say anything is worth or not worth saving without the benefit of hindsight. topcl would definitely be worth looking at with hindsight, but all that's left of it now seems to be the old manuals. also, there were a few early pc common lisps. golden common lisp was one of them like you mentioned, but there was also stuff like star sapphire (which got released as freeware a few years before the author died). there was
<weary>
also that one that allegro bought.
nyx_land has joined #commonlisp
<Nilby>
Aren't the at least 5 free implementations that are all different and in active use enough? Plus at least 2 in development. There are *many* more old ones you can look at the code to. I wish people would put that effort on CLtL3.
paule32_ has joined #commonlisp
paule32_ has joined #commonlisp
paule32_ has quit [Changing host]
<weary>
the source isn't the only thing valuable about old implementations, though; in fact, in some cases (basically all m68k Common Lisps), it's pretty close to useless (though with topcl it could prove interesting). on the other hand, playing with them to *understand* how their extensions to the language worked can help influence modern libraries.
paule32 has quit [Ping timeout: 240 seconds]
<Nilby>
Heh. Try reading PDP-10 Maclisp NCOMPLR. There's very interesting code there, but it works nicely because 36 bit words, etc. There really are so many you can read, that you'll get bored before you're done.
rainthree has joined #commonlisp
<Nilby>
I like to read old Lisps. There's like 20 old or wierd ones you can freely look at.
<weary>
i'm aware that there's a depth of implementations, but some are naturally more interesting than others for specific purposes. topcl was doing multi-computer, parallel common lisp in 1991, which is super interesting in retrospect. a bunch of the old system 7-era lisps had amazing graphical stories and just aren't preserved at all even as far as documentation goes (experlisp, which wasn't a cl dialect, is relevant here because it's what
<weary>
interface builder was originally written in), etc.
<Nilby>
I agree it's true that the most interesting ones you probably can't freely read, like Zetalisp (Symbolics Lisp Machines), and *Lisp (Connection Machine StarLisp).
<weary>
golden common lisp, which was negged a couple hours ago as not being worth preserving, had a built-in, interactive tutorial which is pretty critically acclaimed by the people who tried it (but gclisp, luckily, has two preserved versions!)
<weary>
i don't think "freely read" matters so much; seemingly just about everyone knows where to find a genera image lying around, and so it's well-preserved enough. *lisp definitely, though.
<Nilby>
There is a CL *lisp simulator though.
<weary>
wait, really?
<weary>
oh, found it in the cmu repo
<weary>
had no idea! that's pretty cool.
<Nilby>
That's it. :)
<beach>
weary: Fair enough. It looks like you found yourself a project.
<weary>
debating emailing franz to see if they have any archives of the cls they subsumed in the 80s and 90s
<beach>
Sure. I have found them very helpful when I have some questions. That's more for implementation techniques though.
<beach>
The worst that can happen is that they refuse.
<weary>
absolutely, but writing emails is a pain
<Nilby>
I assume you're not talking about the early franz versions from BSD in about 94 ?
<weary>
old franz lisp versions were archived on tuhs, right?
<beach>
Nilby: You mean "Franz Lisp". It was much earlier than that. Certainly existed in 1983.
<beach>
And it was not even close to Common Lisp.
<weary>
i'm just talking about old lisp dialects that franz the company purchased, not franz lisp, which i think is already archived
<weary>
it'll also probably be worth checking since some of the lisps they don't seem to have purchased ended up having their developers hired by franz during the 90s, anyway (like topcl), which means if they don't have copies, they probably know who to ask, etc.
<Nilby>
Hmmm. According to the previous CEO of Franz, when they saw they had to have a CL, Foderaro wrote Allegro from scratch in 1 year.
<weary>
isn't the modern allegro a procyon fork?
<Nilby>
I really don't know, but I really guess they used some base.
cosimone has quit [Remote host closed the connection]
pranavats has left #commonlisp [#commonlisp]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
shka has joined #commonlisp
irc_user has quit [Quit: Connection closed for inactivity]
cage has joined #commonlisp
Dynom has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
kpoeck has joined #commonlisp
dra has joined #commonlisp
<kpoeck>
regarding Franz allegro and procyon. Franz bought rights from procyon to create their first version for Allegro for windows (we used that at univerisity a long time ago). Later they ported their unix compiler to windows. I believe only Common Graphics is still around from the procyon acquisition.
lisp123 has joined #commonlisp
triffid has quit [Remote host closed the connection]
igemnace has quit [Remote host closed the connection]
igemnace has joined #commonlisp
igemnace has quit [Remote host closed the connection]
igemnace has joined #commonlisp
pillton has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
dBc has joined #commonlisp
tyson2 has joined #commonlisp
boka has joined #commonlisp
dBc has quit [Ping timeout: 258 seconds]
dBc has joined #commonlisp
boka has quit [Quit: Client closed]
dBc_ has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
dBc has quit [Quit: Quit]
Bike has joined #commonlisp
McParen has joined #commonlisp
mrcom has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
Oddity has quit [Ping timeout: 246 seconds]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
<lisp123>
Franz have some wonderful code, when reading some of their open source libraries (which by themselves are not as useful unless one is using ACL...)
<Nilby>
Is there if function to get the full dependency tree [flattened or not] for an asdf system?
<rotateq>
Nilby: Maybe via ql-dist:dependency-tree ?
<Guest74>
Nilby: what do you mean by 'full'?
<Nilby>
Hmmm ql-dist:dependency-tree give me nil for strings symbols or asdf-systems
<Nilby>
I mean every recursive dependency for every depended on system
<Guest74>
in any case asdf:system-depends-on will get you what a system depends on, I guess you could chase the rabbit from their.
<Guest74>
s/their/there/
<Nilby>
Guest74: yes, but it's worse than that, because I'd have to parse :feature expressions, etc.
<Guest74>
I guess that's one thing to add to my system protocol. exhaustive-depend/encies recursive-depends/encies?
<Guest74>
why do you need to parse whatever :feature is?
<Nilby>
Guest74: If you don't, then you don't know what the real dependencies are
<Guest74>
I don't understand. what does whatever :feature is have to do with the systems a system depends on? Is this a system that isn't loaded?
<Nilby>
:feature expressions in dependencies includes different systems based on different feature sets, e.g.
<Guest74>
or, you're talking about that unintuitive keyword in an asdf defsystem.
<Nilby>
yes, which is unfortunately quite essential
<Guest74>
I think that is only a problem if the system isn't loaded.
<Guest74>
or you want to know all possible dependencies?
<mfiano>
Can someone remind the LOOP conformity of if binding clauses belong before or after termination clauses?
<mfiano>
I _always_ forget this after many times of learning it again and again :/
* mfiano
thinks he is getting old
causal has joined #commonlisp
<Guest74>
Nilby: do you have an example system that uses this so I can test?
<Guest74>
mfiano: I can't remember either.
<Nilby>
Guest74: and example is in cl+ssl.asd it depends on :sb-posix on sbcl and sb-bsd-sockets only on windows
<Guest74>
I don't see it keeping that information anywhere. This is one of the things that bothered me about asdf
psj has quit [Remote host closed the connection]
psj has joined #commonlisp
psj has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
<Nilby>
Ah ok, I figured out how to get it to parse the feature things: asdf/find-component:resolve-dependency-spec . Now I can have some hope of resolving the full list.
dec0d3r has joined #commonlisp
<Guest74>
let me know if you do. I'll add it to my system which I preemptively made in hopes of another build system.
<Nilby>
Guest74: Sure. Thanks for helping me through this
<Guest74>
np
kpoeck has joined #commonlisp
<Guest74>
anybody know anything about the whereabouts of LMud? I'd be nice if I could use their boring stuff.
<Guest74>
and no mention of him. I wonder if Arthur and James Crippen weren't friends?
<Guest74>
Nilby: that's interesting, it returns a list?
<Nilby>
yes
<Nilby>
It probably depends on what your current *features* are
<Guest74>
I'm not seeing any lists.
<Guest74>
I've got sb-posix in my deps, but it didn't come in a list.
<Nilby>
weird, I did it on a bunch of systems and it seemed to work
aartaka has joined #commonlisp
<Guest74>
worked as in it returned sb-bsd-sockets?
<Nilby>
hmmm, you're right, there's stuff missing
kpoeck has quit [Quit: Client closed]
* Nilby
is fixing..
<Guest74>
though a list being returned sometimes seems probable. In my who-depends I seem to be ignoring anything that's a cons.
<Guest74>
a code comment would have really helped
<Guest74>
ok now I'm getting lists. This makes no sense why it would change.
* Nilby
is slowly fixing
<Guest74>
Nilby: after restarting my lisp I'm not getting lists or a complete dependency listing. It's like asdf is changing what information is provided based on some unknown criteria.
<Guest74>
Nilby: ah, it seems the reason why I was ignoring lists is that they only seem to apply to dependencies that weren't needed.
<Nilby>
things like pngload, osicat, postmodern, serapeum seem to use the :feature dependencies too
rainthree3 has quit [Ping timeout: 244 seconds]
aartaka has joined #commonlisp
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #commonlisp
<Nilby>
Shinmera: Thanks!
<Guest74>
Shinmera: thanks, missed that asdf-system-defsystem-depends-on
aartaka has quit [Ping timeout: 255 seconds]
aartaka has joined #commonlisp
dBc_ has quit [Quit: leaving]
<Guest74>
Nilby: thanks, pngload shows me that I was wrong about it only being unneeded deps in lists.
Guest6 has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
Oladon has joined #commonlisp
ttree has joined #commonlisp
<Guest74>
so I'm guessing depends-on should have an optional resolve-dependencies that defaults to t.
rainthree has joined #commonlisp
<dbotton>
Is there a library for working with modifying asd files for asdf?
<Guest74>
not that I know of. I've written a basic system protocol that I add to whenever the need arises. I mainly use it create systems and print out an appropriate asd, but it's pretty basic.
<dbotton>
I want to be able when using the clog builder to add depends-on and components (or remove perhaps) based on adding various controls or when creating new forms
Guest6 has quit [Ping timeout: 252 seconds]
<Guest74>
that shouldn't be a problem. It's basic as in it only deals with defsystem, not opcodes or anything, and nothing like :feature in the defsystem.
<Nilby>
dbotton: That's an interesting idea. One could probably make a print method that the asdf system object back to a readable form.
<Guest74>
though I'm not sure what you mean by component, like anything that qualifies as an asdf component?
<dbotton>
that is the idea nilby
<Guest74>
Nilby: That's what I do.
<dbotton>
I just don't know what systems are in the original asd file to make sure I out put the ones needed for that file
tyson2 has quit [Remote host closed the connection]
<Guest74>
if it was anything complicated it wouldn't work.
<Guest74>
... hmm, unless i get the unresolved list of deps and use those to produce a more accurate asd.
<dbotton>
the asdf object doesn't cover the entire defsystem in the file?
<Guest74>
I guess I should clean this up. It sounded silly to me at the time I wrote it, but there have been a lot of questions asking about dealing with systems lately.
<Guest74>
dbotton: it appears to. Just in my system I wasn't dealing with that since I was mainly dealing with asd at creation time and so there's stuff I never needed.
<Guest74>
dbotton: if you've got any suggestions as to what it should include I'm all ears. I guess I'll work on getting better printing from existing systems.
<Nilby>
dbotton: If it's an .asd that you control, then as long as you don't put arbitrary code in it, you should be good. Some people do put code in .asd's, but I think it's best as declarative, so you can do more easily do automation, like you suggest.
<mfiano>
Code in asd files does come in very handy sometimes, since they are never compiled.
<Guest74>
how so, mfiano
waleee has joined #commonlisp
<Guest74>
I guess I'd have to have a way to specify a code block and where it needs to get printed in the asd. Unless code blocks are always after a defsystem?
<Guest74>
mfiano: I guess you're referring to the read time? So code in the actual defsystem.
<mfiano>
Also keep in mind that using asdf itself to resolve dependencies is not a good solution, since CL:LOAD can be called at runtime to bring in more dependencies as needed.
<Guest74>
but what evil person would do that???
<mfiano>
No, I'm referring to load time.
<mfiano>
That's when asdf files are evaluated.
<Guest74>
this is why I stuck to dealing with simple asd creation.
<mfiano>
It comes in nhandy. I have done it before, and I've seen others do it.
<Guest74>
so just need a way to store and specify something like that which is system agnostic. Not that it matters much since there's only asdf so far.
orestarod has joined #commonlisp
iceman[m] has joined #commonlisp
tyson2 has joined #commonlisp
Spawns_Carpeting has quit [Ping timeout: 276 seconds]
Spawns_Carpeting has joined #commonlisp
irc_user has joined #commonlisp
yewscion has joined #commonlisp
igemnace has joined #commonlisp
Oladon has quit [Quit: Leaving.]
rainthree has quit [Remote host closed the connection]
rainthree has joined #commonlisp
attila_lendvai has quit [Ping timeout: 258 seconds]
waleee has quit [Ping timeout: 260 seconds]
McParen has left #commonlisp [#commonlisp]
Spawns_Carpeting has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
Spawns_Carpeting has joined #commonlisp
notzmv has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
Guest74 has quit [Quit: Connection closed]
rainthree has quit [Ping timeout: 246 seconds]
attila_lendvai has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
mrcom has joined #commonlisp
rainthree has joined #commonlisp
shka has joined #commonlisp
akoana has joined #commonlisp
notzmv has joined #commonlisp
kpoeck has joined #commonlisp
treflip has quit [Quit: bye!]
jmes has quit [Remote host closed the connection]
Thom2503 has joined #commonlisp
rainthree has quit [Ping timeout: 255 seconds]
morganw has joined #commonlisp
flip214 has joined #commonlisp
trocado has joined #commonlisp
Bike has quit [Remote host closed the connection]
Bike has joined #commonlisp
Thom2503 has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
mrcom has quit [Quit: Leaving]
tyson2 has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
Thom2503 has joined #commonlisp
jmdaemon has joined #commonlisp
Thom2503 has quit [Ping timeout: 256 seconds]
Dynom has quit [Quit: WeeChat 3.5]
aartaka has joined #commonlisp
saura has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
attila_lendvai has quit [Ping timeout: 260 seconds]
Thom2503 has joined #commonlisp
Thom2503 has quit [Ping timeout: 240 seconds]
yewscion has quit [Quit: Connection closed]
Guest74 has joined #commonlisp
yewscion has joined #commonlisp
theBlackDragon has quit [Ping timeout: 248 seconds]
<mfiano>
Hmm, my memory is failing me but this kinda looks strangely verbose, as if I'm missing something as usual, if you just want to filter based on identity: (defun foo (things x) (remove-if-not (lambda (y) (eq x y)) things))
kpoeck has quit [Quit: Client closed]
tyson2 has joined #commonlisp
<mfiano>
I mean, the complement of this would simply be (remove x things). Seems to filter I must use a lambda expression with eq any way you slice it, which is somehow disturbing me as if I'm forgetting how to CL.
<rotateq>
What about (remove x things :test #'eq) then maybe?
<mfiano>
That is the complement
<rotateq>
Ah hm right, okay.
<rotateq>
So using (complement #'eq)? :)
<mfiano>
Though a more specific/correct one given my example.
<mfiano>
That is about what I'm thinking, right now, yeah...but the other half of my brain says the more verbose remove-if-not conveys the intent better.
<mfiano>
I am the most indecisive person I know :)
<rotateq>
Yes I like giving intentions.
<rotateq>
But by now I have saved REMOVE-IF-NOT as deprecated in my head from reading clhs.
<mfiano>
deprecated, to be obsolete in year ∞
<rotateq>
I'm a bit confused sometimes and then think I can never achieve an advanced level.
<rotateq>
I think it's still there due to hysterical raisins, like the :test-not keyword in some functions.
<mfiano>
Perhaps you aren't working on a large enough project that interests you enough to spend time gaining experience in the software architecture and algorithmic problems CL can be malleable to solve.
<rotateq>
:(
<mfiano>
Find something that interests you deeply, and write up a quick prototype, and iterate on that.
<rotateq>
I really don't lack interests, or rather such areas.
pve has quit [Quit: leaving]
<rotateq>
Semantically a REMOVE-IF-NOT is like a filter, right?
<mfiano>
You can't gain wisdom from intelligence, only experience.
<mfiano>
Basically, stop reading and start writing.
shka has quit [Ping timeout: 255 seconds]
<mfiano>
Yes it is
<rotateq>
I know, and I have to compensate with experience.
Thom2503 has joined #commonlisp
cosimone has joined #commonlisp
<mfiano>
Compensate? Why?
<rotateq>
Not so important now. :)
<mfiano>
You lost me, but ok.
<rotateq>
No problem, do you now have a good idea for what you asked?
<mfiano>
Yeah, remove-if-not and stop guessing my memory. Much code must be written with finite time.
Thom2503 has quit [Ping timeout: 258 seconds]
<rotateq>
Good.
waleee has joined #commonlisp
theBlackDragon has joined #commonlisp
cosimone has quit [Remote host closed the connection]
igemnace has quit [Remote host closed the connection]
ttree has quit [Quit: Leaving]
yewscion has quit [Ping timeout: 255 seconds]
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #commonlisp
yewscion has joined #commonlisp
random-nick has quit [Ping timeout: 272 seconds]
morganw has quit [Remote host closed the connection]