dipper has quit [Remote host closed the connection]
Fare has joined #commonlisp
jrm has quit [Quit: ciao]
jrm has joined #commonlisp
Inline has joined #commonlisp
inline_ has joined #commonlisp
Inline has quit [Ping timeout: 272 seconds]
tyson2 has quit [Remote host closed the connection]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 272 seconds]
inline_ has quit [Ping timeout: 272 seconds]
mrcom has joined #commonlisp
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
asarch has joined #commonlisp
thuna` has joined #commonlisp
dipper has joined #commonlisp
igemnace has joined #commonlisp
Posterdati has quit [Ping timeout: 260 seconds]
asarch has quit [Quit: Leaving]
Posterdati has joined #commonlisp
ttree has quit [Ping timeout: 268 seconds]
lisp123 has joined #commonlisp
Inline has joined #commonlisp
aartaka has quit [Ping timeout: 265 seconds]
shka has joined #commonlisp
aartaka has joined #commonlisp
inline_ has joined #commonlisp
pve has joined #commonlisp
Inline has quit [Ping timeout: 272 seconds]
Fare has quit [Remote host closed the connection]
chrcav has quit [Ping timeout: 252 seconds]
rgherdt has joined #commonlisp
chrcav has joined #commonlisp
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 268 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 272 seconds]
lisp123 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
<Spawns_Carpeting>
Can anyone confirm that iterate version 1.5.3 functions correctly?
<Spawns_Carpeting>
it does not seem to be working for me at all. trying to use an example from the docs gives me errors about undefined variables
<Spawns_Carpeting>
i can "require" the package but it just doesn't work
<beach>
Wow, slow down! You don't "require a package", and in order to use an external system, you usually use Quicklisp or perhaps ASDF directly. But in what way is it not "working"?
<Spawns_Carpeting>
i am just trying to use it from inside of a repl. I have the sources installed into /usr/share/common-lisp and the systems available there
<Spawns_Carpeting>
is using require even in a repl not correct?
<beach>
REQUIRE is deprecated.
<Spawns_Carpeting>
interesting. i did not realize that!
<beach>
Can you describe the error you see, if any?
<Spawns_Carpeting>
well i restarted the repl, what way should i load the system that isnt require?
<beach>
Like I said, either using Quicklisp or ASDF directly.
random-nick has joined #commonlisp
<beach>
You can try (ql:quickload "iterate") or something like that.
<Alfr>
Spawns_Carpeting, Gentoo? Is the asd linked to /usr/share/common-lisp/systems ?
<Spawns_Carpeting>
okay i will try this. that would be asdf:load-system
<Spawns_Carpeting>
yea im on gentoo, and the asd is linked into that
<beach>
Can you describe the error you see, if any?
<Alfr>
beach, I don't think he wants to go the quicklisp route, he's trying to package it. :)
<beach>
OK, I'll be quiet then.
<Alfr>
Spawns_Carpeting, oh, so loading worked.
<Spawns_Carpeting>
this is almost certainly me breaking it from packaging it I think but i am not totally sure why or how
<beach>
You loaded it correctly, but you are not taking into account the fact that ITER is in a different package. And I mean "package", not "system".
<Alfr>
Spawns_Carpeting, you need to either (use-package :iterate) or refer to it using, iirc, (iterate:iter ...).
<Alfr>
Spawns_Carpeting, or maybe iter:iter, as beach said.
<Spawns_Carpeting>
jeez i have a lot to learn clearly
<holycow>
it's a bit of a labyrinth
<beach>
Spawns_Carpeting: Why are you trying to use an external system when you still seem to lack basic knowledge about Common Lisp? I would start by using mostly standard functionality of I were you.
<beach>
*if I were you
Brucio-61 has quit [Ping timeout: 260 seconds]
<holycow>
because learning through the bumpercars method is more fun. that is my excuse.
<Spawns_Carpeting>
i am kind of learning as im going. i want to use it for advent of code but the iterate library seems like it would help a whole lot
<beach>
Spawns_Carpeting: I suspect you could do all you need with LOOP. Then you wouldn't have these problems.
<Spawns_Carpeting>
i have used the loop macro quite a lot in emacs lisp :3
inline_ has joined #commonlisp
<Spawns_Carpeting>
also I think emacs lisp knowledge is almost harmful since it teaches you bad habits like require
<Spawns_Carpeting>
to some degree at least
<beach>
Maybe, but LOOP is Common Lisp standard, so there is no risk there.
<Spawns_Carpeting>
i got it! i just have to use the fully qualified symbol lookup syntax
<Spawns_Carpeting>
thank you
<beach>
Sure.
inline__ has quit [Ping timeout: 246 seconds]
<Alfr>
beach, I didn't intend to choke off your response earlier, only wanted to share what I know Spawns is up to lately.
<beach>
I understand. I didn't mean to be snappy either. Just acknowledging that I didn't know the objectives of Spawns_Carpeting.
<Spawns_Carpeting>
in emacs lisp there is a global namespace where all symbols exist! the only thing preventing clashing is the convention to prefix your symbol with something unique!
Oddity has joined #commonlisp
<beach>
Indeed.
<Alfr>
Spawns_Carpeting, here we have packages, and I think most implementations also support package-local-nicknames now as well.
<Spawns_Carpeting>
having packages is much more sane
scymtym has joined #commonlisp
<Spawns_Carpeting>
the only thing i dont like so far is quicklisp not authenticating downloaded files or downloading over a secure connection! if it weren't for that I would definitely consider using quicklisp instead of packaging stuff by hand
<Spawns_Carpeting>
i think you can use stunnel or similar software to tunnel quicklisp through https but that is a bit of work to setup
inline_ is now known as Inline
inline_ has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
Inline has quit [Ping timeout: 268 seconds]
inline__ has joined #commonlisp
<Nilby>
Spawns_Carpeting: or something like mitmproxy --listen-host 127.0.0.1 -p 8024 -M "/^http:/https:"
pranavats has left #commonlisp [Error from remote client]
inline__ has quit [Ping timeout: 260 seconds]
Cymew has joined #commonlisp
inline__ has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
azimut has joined #commonlisp
inline_ has quit [Ping timeout: 268 seconds]
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
sedzcat has joined #commonlisp
inline__ has joined #commonlisp
son0p has quit [Ping timeout: 256 seconds]
inline_ has quit [Ping timeout: 260 seconds]
pranavats has joined #commonlisp
Brucio-61 has joined #commonlisp
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 256 seconds]
inline__ has joined #commonlisp
varjag has joined #commonlisp
inline_ has quit [Ping timeout: 256 seconds]
thoughtron has quit [Ping timeout: 252 seconds]
pranavats has left #commonlisp [Error from remote client]
<Spawns_Carpeting>
That's nice quicklisp supports going through a proxy. I am very curious why It doesn't have TLS support in the first place though
<Spawns_Carpeting>
To me tls support is absolutely essential and not having it enabled by default seems like a really huge security hole
<jackdaniel>
probably because there are no FOSS tls implementations in common lisp - that would require using ffi to access cl+ssl on all implementations that want quicklisp
<jackdaniel>
or to be preceise, there are a few started projects, but no complete tls implementaiton
<Spawns_Carpeting>
Do most implementations support ffi right now?
<scymtym>
i think the commercial implementations have builtin support for tls but quicklisp is supposed to work everywhere without dependencies
<jackdaniel>
sure, most implementations do. in that case quicklisp would bundle cffi, its dependencies, and require the system to have libssl or ssl.dll or whatnot and cl+ssl knowing how to find these libraries
<Nilby>
quicklisp has no way to ensure or install o/s packages/libraries, and it would be quite difficult to work on everything
<Spawns_Carpeting>
Just having a separate setup for users with ffi and openssl installed would be enough I think. Maybe there is already work being done on that or people just don't see it as a priority
_cymew_ has joined #commonlisp
<Nilby>
also even with https, if you really wanted to be safe you'd have to security audit every package you use on every release
<holycow>
on top of that i think xach also mentioned that he doesn't have the bandwidth for maintaing that much overhed on ql
<Nilby>
unfortunately the lisp ecosystem doesn't seem to have enough resources to have a dedicated security team. we're very lucky to have xach who does superhuman work already
Algernon69 has joined #commonlisp
<holycow>
we do have to start thinking about the bus problem on that one though
<beach>
Absolutely.
<pve>
Spawns_Carpeting: Do you happen to know approximately how big a tgz of the entire quicklisp distribution would be?
<Spawns_Carpeting>
I am not sure what you are asking but basically every other languages package manager has support for TLS and seems to be okay space wise
inline_ has joined #commonlisp
<Nilby>
one way could be if o/s distros would package quicklisp with a proxy setup or a cl+ssl patch, but the combinations of lisp impl - o/s - architechture - distro is huge
<Spawns_Carpeting>
The size of the distribution seems like a very silly concern , especially if an alternative was still available for use for people with special needs
<Spawns_Carpeting>
I like that idea Nilby
<holycow>
I mean, ostensibly, the answer is do it your self and find out why it hasn't been done yet.
<holycow>
sometimes that results in (nil) and other times you get guys like Xach, Rabbit Botton and Froggey dropping massive and nearly complete demos on us.
<Nilby>
but linux distos seem bad at doing common lisp packaging so far
<Spawns_Carpeting>
Probably a lack of manpower which is understandable
<pve>
Spawns_Carpeting: I was just wondering how much stuff is in there. I wasn't thinking about TLS or anything else.
<Spawns_Carpeting>
Oh in that case I am not totally sure
<pve>
Spawns_Carpeting: Since you seem to be doing some packaging now, I thought you might know.
inline__ has quit [Ping timeout: 246 seconds]
<Spawns_Carpeting>
Do you mean the entire quicklisp repo? Like all 3000 or however many packages it provides
<pve>
yeah
<Spawns_Carpeting>
Oh that's an interesting question. I don't think it would be larger than 20-30gb altogether but that's just a totally wild guess
<pve>
I would have guessed 1GB at the most
<Spawns_Carpeting>
I wanted to give a very liberal estimation :p
<Spawns_Carpeting>
It could be within 1gb I think
<Spawns_Carpeting>
It would be very cool to be able to batch download the entire quicklisp repo and then let it install from the locally stored data
<pve>
Spawns_Carpeting: That's not what you're doing now?
<Spawns_Carpeting>
No I honestly hadn't considered that
<Nilby>
it looks like about 2.8GB
<Spawns_Carpeting>
Right now I am making Gentoo packages which are basically fancy shell scripts that describe where to download sources, and how to prepare and install them into the system. They are similar to pkgbuilds If you have used those
<pve>
Spawns_Carpeting: over here "du -ch" for about 300 archives gives 55M, so could be under 1GB for the entire distro
<pve>
oh, 2.8GB ok
Lord_of_Life_ has joined #commonlisp
* Nilby
has a full quicklisp install
<Spawns_Carpeting>
If it were the price is right your guess would have won pve :p
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<Nilby>
at least I think so, about 2124 packages
<Nilby>
er, systems
<pve>
Spawns_Carpeting: for comparison, english wikipedia is like 50 gigs
<ixelp>
quicklisp-projects/projects at master · quicklisp/quicklisp-projects · GitHub
<pve>
Spawns_Carpeting: you mean one gentoo package for each lisp library/app?
<Nilby>
now it's at 2264 projects, I haven't updated my full install in a while
inline__ has joined #commonlisp
<Alfr>
Spawns_Carpeting, so if you're aiming for live ebuilds, those could be auto-generated form the above, as all should use asdf (because quicklisp does) you'd only need to link the .asd files into the system-wide source location.
inline_ has quit [Ping timeout: 265 seconds]
inline_ has joined #commonlisp
_cymew_ has quit [Ping timeout: 264 seconds]
inline__ has quit [Ping timeout: 260 seconds]
Posterdati has quit [Read error: Connection reset by peer]
pranavats has joined #commonlisp
thoughtron has joined #commonlisp
Posterdati has joined #commonlisp
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 268 seconds]
morganw has joined #commonlisp
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 260 seconds]
pranavats has left #commonlisp [Error from remote client]
chrcav has quit [Ping timeout: 246 seconds]
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
Algernon69 has quit [Read error: Connection reset by peer]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 252 seconds]
son0p has joined #commonlisp
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 256 seconds]
jmdaemon has quit [Ping timeout: 260 seconds]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 256 seconds]
inline__ has quit [Ping timeout: 246 seconds]
_cymew_ has joined #commonlisp
Inline has joined #commonlisp
inline_ has joined #commonlisp
Inline is now known as Guest8374
Guest8374 has quit [Killed (sodium.libera.chat (Nickname regained by services))]
inline_ is now known as Inline
<jackdaniel>
I've started to type (defstruct and then I thought - I don't want to be asked repeatedly for the rest of my life why didn't I use defclass, so I've surrendered and typed defclass :)
<thuna`>
Ah, did anyone read what I posted yesterday (or the day before?) by the way? I'm going to try to implement it but it'd help if anyone has any feedback
thoughtron has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
<beach>
I am not sure I understood what it is you are trying to implement.
<thuna`>
I guess I might have explained it poorly. What's unclear?
<beach>
I see some C code that you "landed on", which I don't know what it means. And I see "Does this work? referring to a very long text file.
poselyqualityles has quit [Remote host closed the connection]
<thuna`>
C code?
<thuna`>
I posted an org file
<beach>
Oh, right. The dot at the end screwed up my browser.
<beach>
So is the org file your work, and that is what you want feedback on?
<beach>
That wasn't clear to me at all if so.
<thuna`>
Yes, I tried to explain with an example what I had in mind, since that felt like the best way to figure out what I needed to do myself
<anddam>
beach: it's not screwed up, it's just another paste with a C traceback
<beach>
eta: Negative numbers are treated as starting with an infinite number of 1s, and positive numbers as starting with an infinite number of 0s. That's usually all one needs to know.
<eta>
(that's basically sign-extension)
<beach>
I think I know what sign extension is, but I can't see how it applies to Common Lisp.
<edgarvincent[m]>
Hello everyone. I'm new to CL. What do you recommend for browsing Quicklisp packages? Ideally, I'd like to be able to do that from within Emacs. I had a look at quicklisp-systems but it seems to be available for Slime only (?). However, I use Sly. Thanks!
<thuna`>
QL:SYSTEM-APROPOS is a thing, although I'm not sure if it's useful for discovering packages
<edgarvincent[m]>
Thank you.
pve has quit [Ping timeout: 260 seconds]
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
empwilli has quit [Ping timeout: 260 seconds]
pdietz has joined #commonlisp
inline__ has joined #commonlisp
pve has joined #commonlisp
peterhil__ has quit [Remote host closed the connection]
peterhil__ has joined #commonlisp
dipper_ has quit [Remote host closed the connection]
<pjb>
edgarvincent[m]: note that quicklisp may downloads tarballs, or if git repositories, it prunes them from git repo stuff. So while you may browse the source files, if you patch them, you won't be able to easily upstream your modifications.
<edgarvincent[m]>
Thank you.
<pjb>
edgarvincent[m]: therefore I would rather advise you to use (quick-where-from <system>) and use the git link to clone it in ~/quicklisp/local-projects/ for example, where you can modify it and push a pull request or merge request.
<edgarvincent[m]>
I see. Thanks. Not quite sure I'm ready for merge requests though ^^
<pjb>
edgarvincent[m]: also, don't forget to use M-. in your lisp buffer. It should jump directly to the source file.
tyson2 has joined #commonlisp
<pjb>
eg. split-sequence:split-sequence M-.
<edgarvincent[m]>
Oh, very good.
sedzcat has quit [Ping timeout: 272 seconds]
sedzcat has joined #commonlisp
<pjb>
Use C-h m to find other useful mode-specific key bindings.
<yottabyte>
I see ^M characters in my slime repl, I looked it up and they are carriage return and line feed characters, how can I string= this? or maybe even just check if the string is just whitespace
Krystof has quit [Ping timeout: 268 seconds]
<mfiano>
a string is a sequence, specifically a vector, of characters.
<mfiano>
so just use some higher order function like #'every?
<pjb>
^M is a representation of carriage return. ^J is a representation of line feed. CL has semi-standard character names for them: #\Return and #\Linefeed But one, the other, or both, could also be used to represent #\Newline eg. in ccl on macOS (list #\Return #\Linefeed) #| --> (#\Return #\Newline) |#
<ixelp>
GitHub - emacsattic/redshank: Common Lisp Editing Extensions
<NotThatRPG>
lagash: Yes. I need to make my mods available on GitHub. My fork is here: https://github.com/rpgoldman/redshank but it doesn't have my fixes yet. I'll try to get around to that soon.
<ixelp>
GitHub - rpgoldman/redshank: Common Lisp Editing Extensions
epony has joined #commonlisp
ec_ has quit [Ping timeout: 255 seconds]
<NotThatRPG>
I do have a portability layer that covers SLIME and SLY.
<ixelp>
GitHub - mmontone/quicklisp-systems: Search, browse and load Quicklisp systems from Emacs.
<NotThatRPG>
edgarvincent[m]: Don't know if it helps, but if you look at my redshank clone (just pushed to it) you can see what I did to make for portability over clime and sly
<edgarvincent[m]>
Thanks a lot, I'll have a look.
chrcav has quit [Quit: leaving]
chrcav has joined #commonlisp
Oddity has joined #commonlisp
Josh_2 has joined #commonlisp
hineios has joined #commonlisp
inline__ has quit [Ping timeout: 246 seconds]
Lycurgus has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
aartaka has quit [Ping timeout: 264 seconds]
aartaka has joined #commonlisp
aartaka has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 246 seconds]
_cymew_ has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
Alfr has joined #commonlisp
aartaka has quit [Ping timeout: 260 seconds]
<jeosol>
good morning all!
eddof13 has joined #commonlisp
eddof13 has quit [Read error: Connection reset by peer]
<Josh_2>
Hey
cosimone has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<jeosol>
Josh_2: Hi Josh
<Josh_2>
how about we make CLOSOS but its a universal computer :thinking:
lisp123 has quit [Read error: Connection reset by peer]
<Josh_2>
Think lisp image but same "image" among multiple machines
<dbotton>
so they all crash as one?
<Josh_2>
Yes
<Josh_2>
:sunglasses:
* Alfr
mumbles something about speed of light.
xaltsc has quit [Quit: WeeChat 3.7.1]
<Spawns_Carpeting>
pve: I think packaging all 2000 is a little bit more work than I'm capable of unless auto generating the builds as Alfr mentioned. For now I'm just packaging what is useful for me or otherwise "must have" packages like cl-str the pattern matching library (not having pattern matching is sad :()
<Josh_2>
You could share lisp datastructures with your fren who is working on his machine in another room or another country
<Josh_2>
sounds pretty cool to me
<Josh_2>
perhaps it could be multiple lisp machines but they connect together to form a single image with a sort of plug and play functionality
<Josh_2>
:thinking:
sedzcat has quit [Ping timeout: 252 seconds]
xaltsc has joined #commonlisp
<Catie>
g
<dbotton>
not to me, makes more sense to have more secure partitioning and perhaps a solid way to interface them and allow those partitions to work transparently over processors or networks, with ways to monitor and recover from errors should they occur
<Josh_2>
I think if you are not sharing pointers to lisp structures then you are missing the magic
<dbotton>
right now the only security Lisp has is to spawn processes...
<Josh_2>
might as well just use unix
<dbotton>
or realize that some things are best done in separate spaces
<dbotton>
done well the interfaces can allow easy sharing of memory, or marshal data
<dbotton>
the thing always missing in RPC was error recovery and monitoring
<Josh_2>
I will call it the Grand Unified Image
<Josh_2>
Become part of Grand Unified Image today!
<dbotton>
I'll pass, unless you can prove that a rogue user can not decide to look at my memory
<Josh_2>
I think we could do that
<dbotton>
otherwise the current Lisp image is right for now
<dbotton>
a process
morganw has quit [Remote host closed the connection]
<Josh_2>
We can already support multiple connections to an image with Sly
<Josh_2>
A Lisp OS should support the same thing
<Josh_2>
Imagine if I was working on Y and my fren on X, we could join our two CLOSOS's together and have access to Y and X seamlessly
<Josh_2>
Rather than sharing binaries or source code
<Josh_2>
I think you would both have to agree to stick to one section of code
<Josh_2>
I wonder if when using emacs daemon you can have two connections reading the same buffer :thinking:
<pjb>
Josh_2: yes, you may.
<Josh_2>
Well that could solve the source code issue if you mounted a common file system using NFS
<pjb>
Josh_2: however, commands are scheduled, one after the other. They don't execute in parallel.
<pjb>
So if you have a command that's blocked (eg. on some modal user interaction), the commands on the other connections must wait (and therefore block too).
<pjb>
You can have two users editing interactively the same buffer this way. emacs is a collaborative editor.
<Josh_2>
pretty cool
<Spawns_Carpeting>
is it correct that in SBCL, the require function is actually an alias for asdf:load-system? From my current understanding require ends up calling the functions listed in *module-provider-functions*, and I inspected this and it has two values, the first being asdf/operate:module-provide-asdf
<pjb>
Spawns_Carpeting: yes, this is hooked thru this variable. REQUIRE with two arguments is equivalent to CL:LOAD + update of *MODULES*; but with a single argument, the implementation must find the source corresponding to the module, so in general, it will go thru such a hook.
<Spawns_Carpeting>
that's very nice, thank you!
<pjb>
You may modify this hook to implement any module search you want. For example, you may want to go thru quicklisp so modules map to systems that are downloaded and installed automatically.
<Spawns_Carpeting>
that is interesting and very cool that such a thing is possible
<pjb>
A lot of features could be hooked that way, in an implementation. As soon as there's some implementation dependent behavior…