tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
peterhil has quit [Read error: Connection reset by peer]
recordgroovy has joined #commonlisp
prxq_ has joined #commonlisp
prxq has quit [Ping timeout: 258 seconds]
<beach>
Good morning everyone!
<zacts>
yo beach
<beach>
lotuseater: I use BSD (it could have been MIT too) for let's say three reasons.
<beach>
1. As jackdaniel pointed out, there is unfortunately a lot of aversion against GPL-like licenses, and it seems to be very bad in the Common Lisp community.
<beach>
2. I want SICL modules to be used by other implementations, no matter what license those implementations have chosen to use.
<beach>
3. Code like that of SICL is not unique in that other code bases do the same thing, so there is less need to protect it. I think the FSF has some special exceptions for language processors.
paulapatience has quit [Remote host closed the connection]
zacts has quit [Quit: zacts]
taiju has quit [Ping timeout: 265 seconds]
taiju has joined #commonlisp
peterhil has joined #commonlisp
jeosol has joined #commonlisp
Oladon has joined #commonlisp
hafat has quit [Ping timeout: 258 seconds]
ggoes has quit [Quit: WeeChat 2.3]
ggoes has joined #commonlisp
derelict has quit [Ping timeout: 255 seconds]
PuercoPop has quit [Remote host closed the connection]
derelict has joined #commonlisp
lisp123 has joined #commonlisp
raeda has joined #commonlisp
lisp123 has quit [Ping timeout: 255 seconds]
Oladon has quit [Quit: Leaving.]
<susam>
Good morning, beach!
<susam>
Good morning, everyone!
<kakuhen>
hi
Oladon has joined #commonlisp
Simponic has joined #commonlisp
<Simponic>
Hey does anyone know of a websocket api that has ssl?
akoana has left #commonlisp [#commonlisp]
ChanServ has quit [shutting down]
taiju has quit [Remote host closed the connection]
ChanServ has joined #commonlisp
Bike has quit [Quit: Connection closed]
lisp123 has joined #commonlisp
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 268 seconds]
gaqwas has joined #commonlisp
derelict has quit [Quit: WeeChat 3.2]
<kakuhen>
Is there a particular reason why CCL uses colons in filepaths in its internals?
<kakuhen>
for instance, you will see a lot of calls like (ensure-directory-pathname "ccl:foo;")
<kakuhen>
is this some relic from the classic mac os days or is there something meaningful with this convention?
<kakuhen>
That seems correct, but I'm not entirely sure. In the function CREATE-IDE-BUNDLE, for instance, you have a string SOURCE defined as "ccl:cocoa-ide;ide-contents;". This corresponds to .../ccl/cocoa-ide/ide-contents on my actual drive.
recordgroovy has joined #commonlisp
<kakuhen>
Is this supposed to be a platform-agnostic way of handling filepaths?
cjb has quit [Quit: rcirc on GNU Emacs 28.0.50]
<conjunctive>
Hello, has anyone worked with lisp-binary? Trying to understand how I should represent padding in this DSL.
spiaggia has joined #commonlisp
shka has joined #commonlisp
pjb has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
Oladon has quit [Quit: Leaving.]
ems has joined #commonlisp
<kakuhen>
oh I found something interesting in CCL's implementation of USER-HOMEDIR-PATHNAME
<kakuhen>
supplying a host is optional, but they also ignore it entirely
<kakuhen>
Doesn't this break the standards? The hyperspec states the function "determines the pathname that corresponds to the user's home directory on host," but CCL always ignores the host.
Oladon has joined #commonlisp
gaqwas has quit [Ping timeout: 252 seconds]
amb007 has quit [Ping timeout: 258 seconds]
amb007 has joined #commonlisp
<shka>
kakuhen: it is fine as far as standard goes
spiaggia has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #commonlisp
treflip has joined #commonlisp
pve has joined #commonlisp
analognoise1 has joined #commonlisp
analognoise has quit [Ping timeout: 245 seconds]
easye has joined #commonlisp
pve has quit [Ping timeout: 265 seconds]
pve has joined #commonlisp
Duuqnd has joined #commonlisp
Oladon1 has joined #commonlisp
Oladon has quit [Ping timeout: 255 seconds]
<pjb>
kakuhen: note that this is not pathname hosts, but network hosts. Since there is absolutely nothing specified making the link between pathnames and network, it really lies entirely into implementation specific domain.
<kakuhen>
I see, that makes things even more mysterious to me now
analognoise1 has quit [Ping timeout: 255 seconds]
<pjb>
kakuhen: but even assuming an implementation that would deal with some kind of network file system. With most network file system in use nowadays (say, NFS and Samba, possibly various cloud FS, such as DropBox, iCloud, etc), you don't get to choose on what host your user-homedir-pathname is on. This is the local system that decides, and your home path is always relative to the local file system, even if it's remotely mounted.
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
isekaijin has quit [Quit: WeeChat 3.2]
<shka>
yeah, it is essentially the same as the version
Jach has joined #commonlisp
<pjb>
Who manages irclog.tymoon.eu ? Who should I ask to add #ccl to the logs?
<shka>
it was expected that file system would become feature rich i guess
<shka>
but the opposite has become the trend
<beach>
pjb: That would be Shinmera.
hendursa1 has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
<pjb>
beach: thanks.
attila_lendvai has joined #commonlisp
Oladon1 has quit [Quit: Leaving.]
lisp123 has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life_ is now known as Lord_of_Life
lisp123 has quit [Ping timeout: 256 seconds]
markasoftware has quit [Ping timeout: 240 seconds]
Patternmaster has quit [Ping timeout: 252 seconds]
Patternmaster has joined #commonlisp
scymtym has quit [Ping timeout: 255 seconds]
selwyn has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 240 seconds]
scymtym has joined #commonlisp
peterhil has quit [Ping timeout: 268 seconds]
lisp123 has joined #commonlisp
OlCe has quit [Remote host closed the connection]
Guest2577 has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
random-nick has joined #commonlisp
kakuhen has quit [Quit: Leaving...]
peterhil has joined #commonlisp
tyson2 has joined #commonlisp
Guest2577 has quit [Quit: Client closed]
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
Xach has joined #commonlisp
OlCe has joined #commonlisp
lisp123_ has joined #commonlisp
Lycurgus has joined #commonlisp
lisp123 has quit [Ping timeout: 255 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
lisp123_ has quit [Remote host closed the connection]
taiju has joined #commonlisp
elf_fortrez has joined #commonlisp
Lycurgus has quit [Quit: Exeunt]
hafat has joined #commonlisp
elf_fortrez has quit [Quit: Client closed]
Mrtn[m] has quit [Quit: Bridge terminating on SIGTERM]
happy-dude has quit [Quit: Bridge terminating on SIGTERM]
loke[m] has quit [Quit: Bridge terminating on SIGTERM]
Gnuxie has quit [Quit: Bridge terminating on SIGTERM]
katco has quit [Quit: Bridge terminating on SIGTERM]
dieggsy has quit [Quit: Bridge terminating on SIGTERM]
etimmons has quit [Quit: Bridge terminating on SIGTERM]
akanouras has quit [Quit: Bridge terminating on SIGTERM]
caz has quit [Quit: Bridge terminating on SIGTERM]
luis` has quit [Quit: Bridge terminating on SIGTERM]
JooTvora[m] has quit [Quit: Bridge terminating on SIGTERM]
loke[m] has joined #commonlisp
kevingal has joined #commonlisp
<pve>
Hi, can someone speak about how systems were loaded in CL back in the day? I know there was MK:DEFSYSTEM, but was it used right from the start, or did people just have ad-hoc solutions before it emerged? Did lisps before CL have their own defsystems?
Gnuxie has joined #commonlisp
akanouras has joined #commonlisp
katco has joined #commonlisp
dieggsy has joined #commonlisp
luis` has joined #commonlisp
etimmons has joined #commonlisp
Mrtn[m] has joined #commonlisp
happy-dude has joined #commonlisp
JooTvora[m] has joined #commonlisp
caz has joined #commonlisp
<Xach>
pve: i've seen a number of old projects with a file named something like load.lisp that has a script that loads the software.
<pve>
xach: yes! I've seen that too!
PuercoPop has joined #commonlisp
<Xach>
sometimes as simple as (dolist (file '(<list of files>)) (load file))
<pve>
that's kinda what I meant with "ad-hoc solutions"
<Duuqnd>
I know Symbolics had their own DEFSYSTEM thing so I'm guessing before ASDF there were lots of DEFSYSTEM implementations.
<jackdaniel>
the standard mentions (as deprecated) interfaces require and provide that are meant to load "modules" (whatever that means :)
<mfiano>
I remember using something like clbuild (?) or something or another before QL existed/was popular
<pve>
there was asdf-install at least
<Xach>
clbuild was a way to get things - it didn't introduce a new way to things, it used asdf
<jackdaniel>
so this is deprected in its inception mechanism for loading programs composed of multiple (or one) files
<Xach>
a new way to "load" things
<jackdaniel>
there was also sbt that was part of ecl at some point of time (years before I've used it)
* Xach
thinks back to "clornucopia" and "mudballs"
<jackdaniel>
I think that it was authored by Giuseppe Attardi
lisp123 has joined #commonlisp
Inline has quit [Ping timeout: 255 seconds]
pve_ has joined #commonlisp
lisp123_ has joined #commonlisp
pve has quit [Ping timeout: 265 seconds]
lisp123 has quit [Ping timeout: 255 seconds]
waleee has joined #commonlisp
taiju has quit [Ping timeout: 250 seconds]
taiju has joined #commonlisp
pve_ is now known as pve
waleee has quit [Ping timeout: 240 seconds]
hafat has left #commonlisp [Leaving]
dsk has joined #commonlisp
PuercoPop has quit [Remote host closed the connection]
Bike has joined #commonlisp
recordgroovy has quit [Ping timeout: 255 seconds]
recordgroovy has joined #commonlisp
Inline has joined #commonlisp
peterhil has quit [Ping timeout: 258 seconds]
silasfox has joined #commonlisp
aeth has quit [Ping timeout: 245 seconds]
aeth has joined #commonlisp
cuz has quit [Ping timeout: 255 seconds]
lisp123_ has quit [Remote host closed the connection]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #commonlisp
zacts has joined #commonlisp
lisp123 has joined #commonlisp
dsk has quit [Ping timeout: 252 seconds]
lisp123 has quit [Ping timeout: 246 seconds]
zacts has quit [Quit: Client closed]
zacts has joined #commonlisp
zacts has quit [Client Quit]
zacts has joined #commonlisp
sander is now known as sndr
cuz has joined #commonlisp
cage has joined #commonlisp
lisp123 has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
tyson2 has joined #commonlisp
peterhil has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
aeth has quit [Ping timeout: 252 seconds]
aeth has joined #commonlisp
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
zacts has quit [Ping timeout: 246 seconds]
lisp123 has joined #commonlisp
<lisp123>
What is a good way to deal with out of order program flow?
<lisp123>
For example, consider I have a loop that keeps running until a condition is met - at that point I want to run another test with the value of the condition, if that test fails, I want to return to the original loop and keep running
<lisp123>
Sorry I don't know these terms that well
hafat has joined #commonlisp
<jackdaniel>
converserly (loop until (and condition (funcall foo condition)) do (do-it))
<beach>
Yeah, something like that. Ordinary control flow.
hafat has quit [Client Quit]
<lisp123>
For example, say I have a calling function that calls the loop you just mentioned, I want to return control to it (with a certain value) to continue on its way (and if it fails, then come back to the loop)
hafat has joined #commonlisp
<lisp123>
I guess I could just do what you have, and pass the "state" through each time
<Bike>
don't think of it as "come back". you can just not leave the loop in the first place. that's how jackdaniel's code works.
<jackdaniel>
resuming execution is easy with delimited continuations
hafat has left #commonlisp [#commonlisp]
<lisp123>
Bike: ah okay, I understand a bit better. But still, all the information in the calling function would need to be passed down into the loop so that it can 'funcall' the calling function again with this information
<Bike>
it's possible you could use conditions and restarts
<lisp123>
That's what I was thinking
<lisp123>
Wanted to check if there was a particularly canonical way before I went down both routes
<Bike>
for what you described at first i think that would be overcomplicated but i don't know the shape of your code
tyson2 has joined #commonlisp
dsk has joined #commonlisp
<lisp123>
I have a list of conditions that I need to check / calculate, with some conditions being 'dependent' on the values of earlier conditions in the list - hence once I get a value for a particular condition, I want to test the remaining conditions to see if they work, if not, continue the search for the correct value
zacts has joined #commonlisp
<lisp123>
So basically a list of search processes, where I want to store the search paths as well, not just the values found by the searches
markasoftware has joined #commonlisp
<shka>
lisp123: perhaps you simply want to have lazy-evaluated values?
<shka>
because it kinda sounds like it
derelict has joined #commonlisp
<lisp123>
shka: thanks, I will now read that
<shka>
i mean, it is not "supported" in CL, but you can achieve it with closures
amb007 has quit [Ping timeout: 268 seconds]
amb007 has joined #commonlisp
<lisp123>
There seems to be a package called "clazy" for it in CL
<mfiano>
lisp123: No, the package name is LAZY
waleee has joined #commonlisp
<lisp123>
mfiano: Thanks I found it now on GitHub
<lisp123>
I will have a think. jackdaniel's solution is the cleanest / easiest to follow, perhaps I should start with that for now and worry about optimisation later
<shka>
yes, there is, but you can do the same on your own
<lisp123>
shka: yes it seems very straightforward (as in the lines of code are not many - not the concepts - that's very magical :-))
<lisp123>
jackdaniel: thanks <3 Saved straight into my utilities.lisp file
* jackdaniel
gives a yada yada public domain blessing
<mfiano>
lisp123: A package is a collection of symbol objects. There are N packages in a system. A system is a collection of ASDF manifests. There are M systems per project. A project is a collection of code, usually in the form of a Git repository, and is what Quicklisp tracks.
<jackdaniel>
xach: can quicklisp handle fossil repositories?
AnimalCl1 has quit [Ping timeout: 256 seconds]
<lisp123>
jackdaniel: what is a fossil repository? old ones from the 90s?
<lisp123>
mfiano: Thanks, I was aware of the terms, but I don't use ASDF much at all, so I have been using package more generally. Anyways I'll be careful in the future
cuz has quit [Remote host closed the connection]
cuz has joined #commonlisp
<manicennui>
lisp123: Fossil is another source control tool.
<manicennui>
Combined with a bunch of other functionality.
<manicennui>
I'm forgetting which popular project is associated with fossil.
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
derelict has quit [Ping timeout: 245 seconds]
lisp123 has quit [Ping timeout: 255 seconds]
<lucerne>
I am seeing some unexpected output in the stderr of one of my scripts, beginning with `#= REPL\[213]:1 =#`. Any idea what could have caused it?
ems has quit [Quit: Konversation terminated!]
lisp123 has joined #commonlisp
markasoftware has quit [Ping timeout: 252 seconds]
markasoftware has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
francogrex has joined #commonlisp
<francogrex>
Hi, I am trying this "optimized" function but it doesn't deliver at fib n > 43, is there a C long long equivalent (not bignum)? (defun fib (n) (declare (optimize (speed 3) (safety 0)) (type fixnum n)) (if (<= n 1) 1 (the fixnum (+ (fib (1- n)) (fib (- n 2))))))
<francogrex>
sorry for inlining the funx here but ever since lisppaste died...
<jackdaniel>
I think that a part of your problem comes from the fact that you compute same values too many times
<jackdaniel>
you can have a performant recursive version, but then you need to either memoize results are build from the bottom (not from the top)
<jackdaniel>
(fib 44) total run took little over 7ms
<jackdaniel>
(and for bigger values most of the time will take printing the number, not the actual computaiton)
pjb has quit [Remote host closed the connection]
domovod has joined #commonlisp
<Xach>
jackdaniel: not at the moment, but adding new source control systems is generally fairly easy due to the Power of CLOS and a protocol for "upstream source" objects.
<jackdaniel>
I see, thanks
<francogrex>
jackdaniel: excellent. thanks. I guess
<jackdaniel>
the memoized version assumes that n is max 99 and that be easily beat in cl
<francogrex>
they should really choose other functions to benchmark than those that can be done with magic tricks like this one
OlCe has quit [Ping timeout: 268 seconds]
<jackdaniel>
and the version with labels does not put rec in the tail position, so even when the implementation can support tail call optimization, it won't (because it can't)
<francogrex>
jackdaniel: I know, both lisp codes in the "optimized" there fail, badly written I guess
<francogrex>
yours is the one
<jackdaniel>
well, almost, it doesn't handle fib(0), but fixing that is an excercise for the reader ,)
<mfiano>
check out the cognates section of the manual
<mfiano>
there are a lot of cognates iirc
<jmercouris>
I see
<jmercouris>
That’s perfect
<jmercouris>
Thanks
<jmercouris>
I’ll have to do some benchmarking to see when it actually makes sense to spawn new threads
<pjb>
Indeed. Lots of surprises.
* mfiano
wouldn't take benchmarks alone into consideration
<jmercouris>
Ok so what about thread pooling
<jmercouris>
Does lparallel do this for you?
<pjb>
more synchronization, more slowness.
<pjb>
Yes.
<mfiano>
lparallel will manage that for you, based on the number of workers you supply
<jmercouris>
Or will it be creating and killing threads every time I do some parallel operation
<jmercouris>
Ok good
<mfiano>
You can use cl-cpus to set the thread pool worker count to the number of logical cores if you wish
<jmercouris>
mfiano: I also planned on doing some manual testing for feeling
<jmercouris>
mfiano: is that always the best number though?
<jmercouris>
What about virtual cores?
<jmercouris>
I know too little about CPUs
<mfiano>
Well such testing could have wildly different results on different hardware. What you think is better than no parallelism could be worse across hardware / environment line
<pjb>
jmercouris: See make-kernel.
<pjb>
jmercouris: just read the f* manual.
<jmercouris>
Right, I remember make kernel
<jmercouris>
Well, I have read it, a long time ago
<jmercouris>
Since we moved to calispel, I can’t remember
<jmercouris>
Also we used it for a much different purpose
frgo has quit [Remote host closed the connection]
<jmercouris>
mfiano: perhaps leave it as a user tunable then?
<jmercouris>
Since we cannot possibly know what will perform best on what hardware
frgo has joined #commonlisp
<jmercouris>
And have it default to the number of cores?
<mfiano>
So if this is for code to be consumed by others, I suggest you use use reasoning of how computers work over the numbers you see at one time on one piece of hardware running one OS on one implementation
<jmercouris>
That just seems so specific though
<jmercouris>
Well, I’ll give it a try
<jmercouris>
Thanks for the inspiration
elf_fortrez has joined #commonlisp
elf_fortrez has quit [Client Quit]
<mfiano>
Just try to keep jobs doing work, basically
<mfiano>
Instead of the overhead of switching contexts or tearing up/down jobs
<mfiano>
For example, if you were decoding a large image, instead of spawning a worker for each pixel, or for each row...figure how many "bands" you will need to allocate 1 band to each worker in your pool
<mfiano>
or columns, depending on the aspect ratio i suppose
pve has quit [Quit: leaving]
ajmrch has joined #commonlisp
ajmrch is now known as asarch
asarch has quit [Quit: Leaving]
tyson2 has joined #commonlisp
asarch has joined #commonlisp
djuber has joined #commonlisp
<lotuseater>
pjb: this article by Kent Pitman you linked me yesterday was really interesting, thx
edgar-rft has quit [Quit: Leaving]
torbo has joined #commonlisp
<pjb>
lotuseater: indeed.
<lotuseater>
How old is he now?
<lotuseater>
I asked DeepL what "lisp machine style rubout handling" would be in German. It says "Lisp-Maschinenstil-Rubbelbearbeitung". :D
<eta>
seems unlikely
scymtym has quit [Remote host closed the connection]
lotuseater has quit [Ping timeout: 240 seconds]
asarch has quit [Quit: Leaving]
luna-is-here has quit [Ping timeout: 256 seconds]
luna-is-here has joined #commonlisp
zacts has joined #commonlisp
Simponic has quit [Ping timeout: 252 seconds]
dsk has quit [Ping timeout: 245 seconds]
taiju has quit [Read error: Connection reset by peer]
lotuseater has joined #commonlisp
<lotuseater>
sry my computer went to sleep :)
taiju has joined #commonlisp
<lotuseater>
eta: why do you mean unlikely? but yes the translation is just funny and not very useful :D
zacts has quit [Ping timeout: 246 seconds]
amb007 has quit [Remote host closed the connection]
cjb has joined #commonlisp
amb007 has joined #commonlisp
zacts has joined #commonlisp
zacts has quit [Client Quit]
zacts has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
zacts has quit [Client Quit]
AnimalClatter has quit [Ping timeout: 265 seconds]