jackdaniel 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/> | offtopic --> #lispcafe
aeth_ has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
remexre has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
iissaacc has joined #lisp
tekipeps[m] has joined #lisp
bugrum has joined #lisp
fortitude has joined #lisp
Jeanne-Kamikaze has quit [Ping timeout: 240 seconds]
iissaacc has quit [Ping timeout: 256 seconds]
dmc00 has joined #lisp
rtypo has quit [Ping timeout: 256 seconds]
iissaacc has joined #lisp
jmercouris has quit [Read error: Connection reset by peer]
jmercouris has joined #lisp
selwyn has quit [Read error: Connection reset by peer]
selwyn has joined #lisp
dnm has quit [Ping timeout: 256 seconds]
dnm has joined #lisp
gko` has joined #lisp
cg505_ has joined #lisp
beaky_ has joined #lisp
antoszka_ has joined #lisp
heredoc_ has joined #lisp
seisatsu has joined #lisp
Oladon has joined #lisp
even4void[m] has quit [*.net *.split]
cpt_nemo_ has quit [*.net *.split]
ioa_ has quit [*.net *.split]
seisatsu_ has quit [*.net *.split]
minion has quit [*.net *.split]
oldtopman has quit [*.net *.split]
heredoc has quit [*.net *.split]
beaky has quit [*.net *.split]
gko has quit [*.net *.split]
cg505 has quit [*.net *.split]
antoszka has quit [*.net *.split]
Bourne has joined #lisp
__jrjsmrtn__ has joined #lisp
_jrjsmrtn has quit [Ping timeout: 260 seconds]
Jeanne-Kamikaze has joined #lisp
iissaacc has quit [Ping timeout: 240 seconds]
mathrick has quit [Ping timeout: 260 seconds]
anewuser has joined #lisp
Achylles has joined #lisp
remexre has quit [Quit: WeeChat 2.9]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 256 seconds]
shoshin has joined #lisp
anewuser has quit [Remote host closed the connection]
remexre has joined #lisp
mathrick has joined #lisp
Bourne has quit [Ping timeout: 256 seconds]
cloveistaken has joined #lisp
bugrum has quit [Ping timeout: 272 seconds]
Achylles has quit [Ping timeout: 240 seconds]
edgar-rft has joined #lisp
CrazyEddy has joined #lisp
TheInformaticist has quit [Quit: ERC (IRC client for Emacs 26.1)]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
Alfr has joined #lisp
Alfr_ has quit [Ping timeout: 260 seconds]
iissaacc has joined #lisp
iissaacc has quit [Ping timeout: 264 seconds]
davepdotorg has joined #lisp
<beach> Good morning everyone!
davepdotorg has quit [Ping timeout: 260 seconds]
drl has joined #lisp
eschatologist_ is now known as eschatologist
_whitelogger has joined #lisp
_whitelogger has joined #lisp
drl has quit [Quit: Ex-Chat]
davepdotorg has quit [Ping timeout: 260 seconds]
vms14 has joined #lisp
anewuser has joined #lisp
<sveit> beach: good evening (here)!
anewuser has quit [Remote host closed the connection]
anewuser has joined #lisp
anewuser has quit [Remote host closed the connection]
anewuser has joined #lisp
anewuser has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
Alfr has quit [Remote host closed the connection]
<aeth> sveit: I believe you mean (format t "~A: good evening ~A!" beach (here))
Alfr has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
iissaacc has joined #lisp
Oladon has joined #lisp
Oladon has quit [Client Quit]
mindCrime has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
Necktwi has quit [Ping timeout: 272 seconds]
mindCrime has quit [Excess Flood]
mindCrime has joined #lisp
Necktwi has joined #lisp
jesse1010 has quit [Ping timeout: 272 seconds]
Necktwi has quit [Ping timeout: 272 seconds]
akoana has left #lisp ["Leaving"]
Necktwi has joined #lisp
gravicappa has joined #lisp
bilegeek has joined #lisp
Oladon has joined #lisp
<sveit> maybe they're still taking suggestions for additions to the standard :)
_whitelogger has joined #lisp
mathrick has quit [Ping timeout: 240 seconds]
Jeanne-Kamikaze has quit [Quit: Leaving]
davepdotorg has joined #lisp
narimiran has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 265 seconds]
mmohammadi9812 has joined #lisp
mmohammadi98129 has joined #lisp
mmohammadi9812 has quit [Ping timeout: 256 seconds]
mmohammadi98129 is now known as mmohammadi9812
abhixec has quit [Quit: leaving]
SaganMan has joined #lisp
mathrick has joined #lisp
mmohammadi9812 has quit [Ping timeout: 258 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
iissaacc has quit [Ping timeout: 256 seconds]
krid has quit [Ping timeout: 240 seconds]
beaky_ is now known as beaky
dominic34 has joined #lisp
SaganMan is now known as blackadder
dominic35 has joined #lisp
dominic34 has quit [Ping timeout: 240 seconds]
dominic35 is now known as dominic34
boeg has quit [Ping timeout: 260 seconds]
boeg has joined #lisp
aartaka has joined #lisp
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
treflip has joined #lisp
iissaacc has joined #lisp
mmohammadi98129 has joined #lisp
vms14 has quit [Remote host closed the connection]
mathrick has quit [Ping timeout: 272 seconds]
fortitude has quit [Ping timeout: 260 seconds]
user51 has joined #lisp
<contrapunctus> beach: I was thinking of doing as you suggested - writing pure Lisp libraries instead of using FFI. Is it possible to write an audio library this way? Especially for programs which want to use PulseAudio or JACK? 🤔
mmohammadi98129 has quit [Quit: I quit (╯°□°)╯︵ ┻━┻]
<beach> contrapunctus: That would be fantastic! I have never attempted to interface with those systems so, I don't know what it involves. Some reading might be required.
<beach> It has bound to be some kind of wire protocol, and it is hopefully documented.
bitmapper has quit [Quit: Connection closed for inactivity]
<moon-child> contrapunctus: it looks like at least in the case of pulseaudio, the wire protocol is undocumented. Which /could/ mean it's unstable. (https://lists.freedesktop.org/archives/pulseaudio-discuss/2010-April/006676.html)
<beach> *sigh*
<moon-child> contrapunctus: in the case of jack, I know there are multiple independent server implementations; so I expect the story there is better
<no-defun-allowed> Yeah, I'm worried that the only stable interface would be the C interface.
<MichaelRaskin> Yeah, Poettering is known for saying that committing to too many stable interfaces is dangerous, and «dangerous» is literally the word used (although in another context).
<no-defun-allowed> Reminds me of another software guy that gave a talk about how he needed to break implementations in his messaging program or the world would end, so you better not write another implementation.
edgar-rft has quit [Quit: Leaving]
Oladon has quit [Quit: Leaving.]
mmohammadi98129 has joined #lisp
narimiran has quit [Ping timeout: 246 seconds]
davepdotorg has joined #lisp
dominic34 has quit [Ping timeout: 264 seconds]
<contrapunctus> It's a daunting task, especially for someone like me (no experience in programming at this level, limited available time for programming) 🤔
davepdotorg has quit [Ping timeout: 260 seconds]
jonatack has quit [Ping timeout: 260 seconds]
hendursa1 has joined #lisp
pve has joined #lisp
<beach> contrapunctus: There is no rush.
hendursaga has quit [Ping timeout: 240 seconds]
<beach> contrapunctus: In fact, you could write something that uses neither Jack nor PulseAudio to start with, and just use the ALSA interface directly. You can design your own substitute for Jack and PulseAudio in the form of a CLOS protocol, designed to run in the same process as the applications. Such a thing would be useful on Mezzano and ultimately on CLOSOS.
<beach> contrapunctus: Then you can write your applications so that the use that protocol. If you want your applications to have a GUI, all of them could be written as CLIM/McCLIM applications.
<contrapunctus> beach: ah, that could work too (although I have no experience with using these APIs, much less designing them). The most important thing is that existing audio plugins work...but I guess that's orthogonal, because those use LADSPA/LV2/DSSI 🤔
<beach> I must take your word for that.
<beach> I was merely suggesting a way that you could concentrate on writing your applications in Common Lisp without chasing unstable protocols, at least to begin with. And your code would then be useful in different settings without modification.
pankajgodbole has joined #lisp
<no-defun-allowed> You could use Harmony for the protocol: <https://shirakumo.github.io/harmony/>
mmohammadi98129 has quit [Quit: Ping timeout (120 seconds)]
mmohammadi98129 has joined #lisp
<no-defun-allowed> I wrote some code with that to synthesize notes coming in from a MIDI keyboard, and it was pretty good (except that I couldn't figure out how to reduce the latency of PulseAudio, so my timing was awful). The only problem for a full Common Lisp audio system could be that it uses foreign vectors to pass buffers around, but it's not hard to imagine a Harmony with Lisp vectors.
<beach> no-defun-allowed: Harmony sounds like a good plan.
davepdotorg has joined #lisp
<contrapunctus> no-defun-allowed: oh, thanks for sharing that
even4void[m] has joined #lisp
ioa_ has joined #lisp
cpt_nemo_ has joined #lisp
minion has joined #lisp
oldtopman has joined #lisp
Posterdati has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
orivej has joined #lisp
bendersteed has joined #lisp
bilegeek has quit [Quit: Leaving]
jonatack has joined #lisp
jonatack has quit [Client Quit]
<contrapunctus> Harmony looks amazing, I'm surprised I never noticed it on awesome-cl
<beach> And the author is around, so if you have issues or suggestions for improvement, they are likely to be taken into account.
rtypo has joined #lisp
MayheM_FAN has joined #lisp
<MayheM_FAN> help
<beach> MayheM_FAN: Please describe what this link contains.
<beach> I never click on links without a description.
<MayheM_FAN> cffi loading error
<MayheM_FAN> cffi-features was unable to load because of this
<beach> MayheM_FAN: I know nothing about FFI, but I am guessing you are not providing enough information for anyone to help out, like what you tried in order to get that error, what Common Lisp implementation you are using, on which OS, etc.
<MayheM_FAN> i tried loading cl-tcod using quicklisp, im using clisp and im on windows
<beach> MayheM_FAN: That's a very unusual combination. I think most people here use SBCL on Linux.
<MichaelRaskin> And if you are using the latest _release_ of CLisp, it's kind of expected to fail to load random things by now…
iissaacc has quit [Remote host closed the connection]
<MichaelRaskin> (development snapshot has at least a chance, releases are too old for anything)
iissaacc has joined #lisp
<MayheM_FAN> i think i need libffi?
<beach> You are not sure?
<beach> What is it that you are trying to do?
<MichaelRaskin> libffi is definitely a library that exists and is used for FFI; no idea where to get a fresh Windows build
<MayheM_FAN> loading cl-tcod with quicklisp, while it was loading cffi-features (cl-tcod requires cffi) it gave me that error
<phoe> MayheM_FAN: do you have libffi installed on windows?
<beach> MayheM_FAN: You seem to be new here. Is this one of your first Common Lisp projects?
<MayheM_FAN> phoe: no
<MayheM_FAN> beach: yeah
<phoe> MayheM_FAN: then you know the source of the problem
<MayheM_FAN> thank you phoe
<beach> MayheM_FAN: Wow, you really hit the jackpot. Trying to learn Common Lisp starting with FFI using CLISP on Windows.
<phoe> I mean, if you're okay with preaching, `apt install libffi-dev` on debian would solve the issue for you
liberliver has joined #lisp
<beach> MayheM_FAN: Let me guess, using some Windows IDE for coding?
<MayheM_FAN> no
<phoe> but, yeah, CLISP 2.49 is old and ancient and I cannot recommend it to anyone
<MayheM_FAN> emacs
<beach> That's one good thing at least.
<phoe> it's generally better to use SBCL
liberliver has quit [Client Quit]
<beach> MayheM_FAN: But you are unlikely to do well with that combination.
edgar-rft has joined #lisp
random-nick has joined #lisp
<phoe> MayheM_FAN: I see that some chocolatey packages include libffi DLLs, maybe you could scavenge it off one of those
<phoe> that'll save you the hassle with compiling it yourself
mmohammadi98129 has quit [Ping timeout: 256 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdot_ has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdot_ has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdot_ has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdot_ has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdot_ has joined #lisp
davepdot_ has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
mmohammadi98129 has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 240 seconds]
skapata has joined #lisp
cosimone has joined #lisp
shwouchk has joined #lisp
iissaacc has quit [Ping timeout: 265 seconds]
mmohammadi98129 has quit [Ping timeout: 240 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
tfb has quit [Ping timeout: 256 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
tfb has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
cosimone has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
dra_ has joined #lisp
<MayheM_FAN> can i just use the prebuild libffi thats on the bottom of https://proj.goldencode.com/projects/p2j/wiki/Building_and_Installing_libffi_on_Windows
dra_ is now known as dra
davepdotorg has quit [Read error: Connection reset by peer]
davepdot_ has joined #lisp
davepdot_ has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
gravicappa has quit [Ping timeout: 240 seconds]
mmohammadi98129 has joined #lisp
<beach> MayheM_FAN: Again, my guess is that very few people here will be able to help you, given that they are not using the unique combination of implementation and OS that you are. I hope I am wrong, of course.
cosimone has joined #lisp
kapil_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
shifty has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
Achylles has joined #lisp
<phoe> MayheM_FAN: I guess you can, just remember to grab the proper 32/64bit DLL
avicenna has quit [Ping timeout: 272 seconds]
<phoe> it needs to be the same architecture as your Lisp implementation, otherwise it won't load
dmiles has joined #lisp
<MayheM_FAN> know what,, im just gonna install linux
<phoe> that's a good choice, too
avicenna has joined #lisp
banjiewen has quit [Ping timeout: 272 seconds]
iissaacc has joined #lisp
beegs has joined #lisp
MayheM_FAN has quit [Ping timeout: 245 seconds]
banjiewen has joined #lisp
beegs has quit [Client Quit]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Read error: Connection reset by peer]
mindCrime has quit [Excess Flood]
davepdotorg has joined #lisp
mindCrime has joined #lisp
galex-713 has quit [Ping timeout: 246 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 258 seconds]
tutti has joined #lisp
iissaacc has quit [Ping timeout: 240 seconds]
cosimone has quit [Quit: Quit.]
srhm has quit [Ping timeout: 256 seconds]
gravicappa has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
srhm has joined #lisp
contrapunctus has joined #lisp
mmohammadi98129 has quit [Ping timeout: 246 seconds]
mindCrime has quit [Ping timeout: 260 seconds]
iissaacc has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
Achylles has quit [Quit: Leaving]
duuqnd has joined #lisp
kaftejiman has joined #lisp
heisig has joined #lisp
ljavorsk_ has joined #lisp
Inline has joined #lisp
oleo__ has joined #lisp
edgar-rft has quit [Quit: Leaving]
edgar-rft has joined #lisp
Nilby has joined #lisp
ljavorsk_ has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 240 seconds]
iissaacc has quit [Ping timeout: 240 seconds]
shwouchk has quit [Quit: Connection closed for inactivity]
galex-713 has joined #lisp
edgar-rft has quit [Quit: Leaving]
arbv has quit [Read error: Connection reset by peer]
arbv has joined #lisp
tutti has quit [Remote host closed the connection]
Bourne has joined #lisp
gaqwas has quit [Ping timeout: 256 seconds]
Bourne has quit [Ping timeout: 256 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
sts-q has joined #lisp
kaftejiman has quit [Remote host closed the connection]
treflip has quit [Ping timeout: 240 seconds]
ggole has joined #lisp
edgar-rft has joined #lisp
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
jesse1010 has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
random-nick has quit [Read error: Connection timed out]
contrapunctus has joined #lisp
random-nick has joined #lisp
davepdotorg has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
aartaka_d has quit [Read error: Connection reset by peer]
pankajgodbole has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Ping timeout: 240 seconds]
EvW has joined #lisp
kaftejiman has joined #lisp
aartaka has joined #lisp
edgar-rft has quit [Quit: Leaving]
specbot has quit [Remote host closed the connection]
minion has quit [Remote host closed the connection]
minion has joined #lisp
specbot has joined #lisp
ioa_ has quit [Ping timeout: 244 seconds]
aartaka has quit [Read error: Connection reset by peer]
ioa has joined #lisp
TheInformaticist has joined #lisp
jonatack has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
Inline has quit [Ping timeout: 246 seconds]
aartaka has joined #lisp
oleo__ has quit [Ping timeout: 272 seconds]
<TheInformaticist> Are Common Lisp and Clojure the same language?
<MichaelRaskin> No
<TheInformaticist> Are they similar?
<beach> TheInformaticist: Clojure is considered a functional language. Common Lisp is not.
<TheInformaticist> If Common Lisp is not a functional language, then what IS it?
<beach> TheInformaticist: Common Lisp has an independent standard. Clojure does not.
<beach> TheInformaticist: Multi-paradigm. A lot of modern Common Lisp code uses the Common Lisp object system (CLOS) a lot.
aartaka has quit [Read error: Connection reset by peer]
<TheInformaticist> I see. So Common Lisp is more flexible.
<beach> I would be very careful with such simplistic comparisons.
<beach> There is no widely agreed-upon metric for "flexibility".
<TheInformaticist> Why, will my hand get blown off by a grenade?
<beach> More likely, you get trashed in some forum.
<TheInformaticist> Oh well, fuck me.
<TheInformaticist> If you want to trash me, trash away, old boy.
<heisig> beach: Saying Common Lisp is not a functional language is like saying German is not a language for writing poems.
<MichaelRaskin> (naturally, a lot of Clojure code uses a lot of objects — but from Java object system)
<heisig> Neither is true. But it depends mostly on the author/programmer, and not so much on the language.
<beach> I'll be quiet.
<beach> I wasn't looking for a debate. Merely trying to inform TheInformaticist.
<TheInformaticist> Hey, don't blame me. I'm just the simpleton asking questions.
<beach> Nobody blamed you for anything.
narimiran has joined #lisp
<TheInformaticist> Thank God.
<sts-q> The cool thing about CL is it did not change a bit within the last 30 years!
<Nilby> Sometimes it feels like Goethe has a similar aesthetic as old epic Common Lisp.
<MichaelRaskin> sts-q: except everything (well, ASDF), depends on extensions
<TheInformaticist> It really hasn't changed? That's a good sign, in my opinion. Everything's getting updated so constantly nowadays, you don't know what's going to be broken next.
<MichaelRaskin> Still more uniform that the Scheme situation, of course
<TheInformaticist> That's good. By the way, does Common Lisp have primitive procedures for graphics?
<MichaelRaskin> No
<beach> I know of no language that does.
<TheInformaticist> I see. So do you use a graphics package?
<MichaelRaskin> beach: QBasic
treflip has joined #lisp
<MichaelRaskin> On a more positive note, Racket
<TheInformaticist> Well beach, back in the good old days, most languages came with grahics.
<TheInformaticist> *graphics
<Nilby> also PostScript
<TheInformaticist> With the exception of FORTRAN and C, of course.
<beach> MichaelRaskin: When I say or hear "language", I think if a definition, usually in the form of an independent standard, of what some language processor allows or does not allow.
<beach> Does QBasic and Racket have independent standards?
<beach> TheInformaticist: Name two.
<TheInformaticist> beach: True Basic, Turbo Pascal
<TheInformaticist> BOOM
<beach> TheInformaticist: Turbo Pascal is a product, not a language.
<beach> True Basic probably the same.
<TheInformaticist> beach: You don't get to weasel out of things by making your own definitions.
<TheInformaticist> True Basic is ANSI Basic, owned by the designers of the language, Kemeny and Kurtz.
<beach> So ANSI Basic is the language.
<TheInformaticist> And for you info, beach, you can't program a computer with a standard. You need a language for that.
<beach> Thank you for that information.
* beach was under the impression that an "implementation" was required for that. Wrong again, I guess.
<TheInformaticist> beach: You remind me of my ex-wife.
<MichaelRaskin> Given that an interpreter or compiler typically comes before any standards, and then becomes or not an implementation of standard… no, you can perfectly use a thing that is not yet an implementation of anything
kaftejiman_ has joined #lisp
kaftejiman has quit [Ping timeout: 240 seconds]
<TheInformaticist> Can I make cool video games with Common Lisp?
<MichaelRaskin> Well, Shinmera does
<TheInformaticist> Who is Shinmera? Do you have a link?
<TheInformaticist> Thanks.
<TheInformaticist> You know, I was using a Common Lisp tiling window manager for quite a while, and I really liked it.
krid has joined #lisp
<TheInformaticist> But then I got EXWM and started using Emacs more. But to be honest, that other window manager was better, because you weren
<TheInformaticist> t
<TheInformaticist> having to fiddle with buffers all the time.
<MichaelRaskin> Yeah, still using StumpWM. And for an editor, I use an editor extending what is promised by an independent standard, heh
<TheInformaticist> Which editor is that?
<MichaelRaskin> Specifically vim; but _some_ vi is required by POSIX/Single Unix Specification (which is approximately the same thing, modulo legalese)
<TheInformaticist> I see. You know...
<TheInformaticist> Shhhh, don't tell anybody...
<TheInformaticist> I secretly really like ed.
<TheInformaticist> I feel like a ninja kung-fu artist every time I use it. Whahhhhhh!!!!
aartaka has joined #lisp
<MichaelRaskin> Who needs ed in the era where sed exists
<beach> Let's try to stay on topic, please.
orivej has joined #lisp
<TheInformaticist> Hey, I should make an editor and call it bread...and write it in Lisp. There, I'm on topic.
simendsjo has joined #lisp
<TheInformaticist> beach: You should work for the government.
<TheInformaticist> beach:...writing Lisp programs, of course.
dra has quit [Quit: Leaving]
aartaka has quit [Ping timeout: 240 seconds]
kapil_ has joined #lisp
cosimone has joined #lisp
<contrapunctus> MichaelRaskin: a Lisper using Vim? Whoa 🤯
zagura has quit [Quit: Lost terminal]
<MichaelRaskin> And liking POSIX Shell. Common Lisp is a valuable tool, not an exclusive religion.
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
<TheInformaticist> Does anyone ever do data anylitics with Lisp? Seems like it would be fun.
Lord_of_Life_ is now known as Lord_of_Life
dominic34 has joined #lisp
<MichaelRaskin> Depends on your definition, but probably something I have done would qualify
<TheInformaticist> Cool. I've also thought that sh or bash tools can be really powerful for cleaning up and formatting data, and yet most "data analytics" people seem to be unaware that these tools exist.
<TheInformaticist> I mean coreutils and such
zaquest has quit [Quit: Leaving]
jw4 has quit [Read error: Connection reset by peer]
zagura has joined #lisp
<TheInformaticist> MichaelRaskin: Ever use the suckless terminal (which is definitely NOT written in Lisp, unlike eshell)?
jw4 has joined #lisp
zaquest has joined #lisp
<MichaelRaskin> That is far into #lispcafe zone. (But nope, urxvt, sometimes xterm and mlterm, fbterm when without X)
<TheInformaticist> Is #lispcafe another channel?
<sts-q> Yes
davepdotorg has joined #lisp
sts-q has quit [Read error: Connection reset by peer]
davepdotorg has quit [Ping timeout: 260 seconds]
EvW has quit [Ping timeout: 240 seconds]
zagura has quit [Quit: Meh...]
zagura has joined #lisp
<mseddon> So given there is no standard way to e.g. locate defstruct constructor function names, how would one go about implementing a custom reader that supports #S syntax vaguely portably?
<APic> go #Suicide
<APic> Fail
<APic> Sorry
<APic> Wrong Network 😉
<mseddon> Lul. Also not on my list of accepted solutions
<MichaelRaskin> Why custom reader and not a reader-macro?
simendsjo has quit [Read error: Connection reset by peer]
<Nilby> mseddon: Sadly there can't a portable version, but you can make one that has implementation-specific code for most implementations.
<mseddon> MichaelRaskin specifically I want to have a standardized reader for bootstrapping.
<mseddon> Nilby right.. i found various classoid apis for sbcl, but there is no reflection defstruct library that would cover that? :/
<mseddon> MichaelRaskin, so like eclector I want to track source information, which the standard reader does not support
dbotton has joined #lisp
<mseddon> But eclector bails on #S and leaves a hook for you to tie into your implementation, so I wondered if there was a better way
<mseddon> Everything else is 100% portable, but sadly I think I have hit an oversight in the spec
Oladon has joined #lisp
<Nilby> mseddon: Last time I looked a I didn't find one. I have code that works on sbcl, ccl, and maybe a few others. Maybe the people working on eclector have some suggestion?
<mseddon> Nilby thanks, I will check. Certainly trivial defstruct reflection that works across platforms would be useful for me here
<Nilby> Me too!
<mseddon> Nilby happy to help add stuff if you put a project up somewhere!
Inline has joined #lisp
oleo__ has joined #lisp
oleo__ has quit [Client Quit]
dbotton_ has joined #lisp
oleo__ has joined #lisp
dbotton has quit [Ping timeout: 240 seconds]
jw4 has quit [Read error: Connection reset by peer]
Inline has quit [Quit: Inline]
blackadder is now known as saganman
jw4 has joined #lisp
dominic34 has quit [Ping timeout: 256 seconds]
dominic34 has joined #lisp
<Nilby> I'm not smart enough to pass the captcha on plaster anymore. :(
<_death> (find-if (anagram-of captcha) dictionary)
<Nilby> mseddon: I'm not really a good choice for being a project maintainer, but here's what I had: https://bpa.st/C4OQ . You're welcome to do whatever with it. This was designed for use in eclector.
<mseddon> Nilby, wonderful, thanks very much!
<Nilby> Of course it does bad things that "one should never do"
<mseddon> At this point I think the warranty is well and truly void :)
<Nilby> yep. This is one of my top changes I would make to CL. To have a standardized make-structure-instance or something.
<_death> you can check the result of make-load-form-using-slots
<_death> for sbcl only the struct name is needed to allocate an instance.. for others you may need something more elaborate
<mseddon> _death: good shout! I will dig deeper tomorrow when I'm at the computer, thanks
anewuser has joined #lisp
<_death> *...saving-slots
<mseddon> Yeah, I figured ;) thanks again though, I hadn't come across that function before
<Nilby> _death: Your words have a very high ratio of making me realize I'm stupid and have to rewrite my code. :)
dbotton_ has quit [Ping timeout: 240 seconds]
<_death> sorry, I'll keep quiet ;)
<mseddon> _death: please don't :p
clintm has joined #lisp
dbotton has joined #lisp
galex-713 has quit [Ping timeout: 246 seconds]
anewuser has quit [Ping timeout: 240 seconds]
galex-713 has joined #lisp
<Nilby> _death: Ya. Don't. My code needs more "memeto mori".
lemoinem has joined #lisp
dbotton_ has joined #lisp
dbotton has quit [Ping timeout: 256 seconds]
dbotton has joined #lisp
dbotton_ has quit [Ping timeout: 260 seconds]
dxtr has quit [Quit: leaving]
fzfzfzv28 has joined #lisp
dxtr has joined #lisp
<fzfzfzv28> hey can someone explain why (typep #("hello") '(vector number *)) => T?
nullheroes has quit [Quit: WeeChat 2.9]
<phoe> fzfzfzv28: (upgraded-array-element-type 'number) ;=> T
<phoe> that is because of array upgrading
<phoe> '(vector number *) most likely becomes '(vector t *) because of the element type being upgraded
<phoe> that is because numbers have 1) unbounded size in the general case, 2) can be complex or real
<Nilby> number is a rich enough type that it might as well be a generic lisp object.
<fzfzfzv28> thank you! I tried (typep #("hello") '(vector (integer 0 10) *)) => NIL which makes sense in that context.
<fzfzfzv28> is there a way to do something like this that isnt implementation dependent?
<phoe> yes, because (integer 0 10) likely gets upgraded to a fixnum, or some subset thereof
<phoe> fzfzfzv28: what exactly do you want to do though? check if all elements of a vector are numbers?
<fzfzfzv28> yes
<phoe> (every #'numberp #("hello"))
<phoe> I don't think the CL type system is powerful enough to perform this on the type level, unless you use SATISFIES
<phoe> (also, do you *really* need arbitrary precision numbers and complexes?)
<phoe> (asking because CL is efficient and nice to play with when it comes to fixed-width byte and float types)
<dbotton> what is the lisp way of something I do always in Ada ie create a named type such as myint that has a range of 0 to 100
<phoe> dbotton: DEFTYPE can do that
<phoe> (deftype my-integer () '(integer 0 100))
<fzfzfzv28> @phoe: my actual use case is im reducing a vector of strings and functions that produce strings into one string.
<dbotton> so then I could use that it a declare type in a function
rogersm has quit [Quit: Leaving...]
<phoe> dbotton: yes
<phoe> something like (vector "foo" #'bar "baz" #'quux) ?
fzfzfzv28 has left #lisp ["ERC (IRC client for Emacs 26.3)"]
<phoe> fzfzfzv28: a vector of strings and functions? you mean a heterogenous vector?
vaporatorius__ has joined #lisp
<phoe> dbotton: e.g. it is common to (deftype octet () '(unsigned-byte 8)) and then e.g. (declare (type octet x y z))
gravicappa has quit [Ping timeout: 272 seconds]
gravicappa has joined #lisp
<dbotton> I keep getting more excited the further I go in exploring the combo of static and dynamic typing
vaporatorius has quit [Ping timeout: 240 seconds]
davepdotorg has joined #lisp
<dbotton> so using satisfied allows that every declared use if the type would pass some arbitrary tesy
<dbotton> tests
<dbotton> so I could add a whole in my definition
<dbotton> like 1..50 and 55..100
<dbotton> correct?
<phoe> dbotton: whole? what do you mean?
<dbotton> like a range I just mentioned
<phoe> the ranges 1..50 and 55..100 are expressible via an OR type, (or (integer 1 50) (integer 55 100))
<phoe> no need to use SATISFIES
galex-713 has quit [Ping timeout: 240 seconds]
<phoe> (you could, it would just be a bit more costly)
galex-713 has joined #lisp
<dbotton> understand
<dbotton> appreciated taking a bit longer then my usual to get up to speed on a lang
<dbotton> but I am more and more impressed.
<phoe> no worries, learning Lisp can be a bit of a mind twister
davepdotorg has quit [Ping timeout: 240 seconds]
<dbotton> granted that would require some tools to enforce certain policies but seems that critical systems certainly could be done in lisp
<mseddon> dbotton: moreover, it seems to generally more make sense in lisp. Though as you discover, the capability is buried a bit
<dbotton> I am finding the level of flexibility at compile time can make this a more then ideal choice once control of the GC in check
<dbotton> I've been writing Ada for good 25 years
<dbotton> and now wishing I had stumbled on lisp earlier
<TheInformaticist> Are there multiple implementations of Common Lisp, or just one?
<mseddon> Many, many.
<dbotton> and many with very nice open licensing
<phoe> TheInformaticist: I know of seven alive ones for sure
<TheInformaticist> I see. Which one is the best? Just kidding...which one is FSF?
<phoe> SBCL, CCL, ECL, Clasp, ABCL are the free ones
<phoe> LispWorks and ACL are the commercial ones
<TheInformaticist> I don't do proprietary software.
<mseddon> Dbotton: arian 5 would not have blown up in cl, it wouldn't let you unsafely cast to a 16 bit value
<shoshin> what about clisp?
<dbotton> that was user error
<MichaelRaskin> mseddon: of all things, Ariane 5 would not be saved by Common Lisp
<phoe> CLISP is unmaintained and I cannot recommend it at the moment
<mseddon> Well no. CL is not a hard realtime system
<dbotton> doesn't mean can't be :)
<MichaelRaskin> CLISP development snapshot is better, but they cannot get around to make a release
<dbotton> the pieces are all there and more
<dbotton> once I fully grocked cl I'll plan on doing some docs for my own start on what is needed translation from Ada etc
<TheInformaticist> OK, which one is good for a new learner that is on Linux and uses Emacs?
<dbotton> sdcl
<MichaelRaskin> SBCL is probably the most popular one
<TheInformaticist> OK.
<mseddon> Yeah. Go SBCL
<dbotton> then read that
<TheInformaticist> OK, I'll look at both. I also just installed a weird version of Scheme nobody has heard of, LOL...but I know about it because of a professor.
<mseddon> Scheme is an interesting lisp but vastly different to CL
<TheInformaticist> That's why I'm learning CL. I'll come back to Scheme later.
mmohammadi98129 has joined #lisp
<mseddon> Right
<TheInformaticist> I'm also learning C++ right now in class. I know this is crazy, but I'm working overtime, doing all my programming exercises in both languages...trying to see if I can do my final project in a functional style. I want to give my professor a pleasant surprise.
EvW has joined #lisp
<mseddon> Do not overfill the bucket
Oladon has quit [Quit: Leaving.]
Fare has joined #lisp
<TheInformaticist> I'm having fun...no worries.
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
srhm has quit [Remote host closed the connection]
srhm has joined #lisp
rumbler31 has joined #lisp
cosimone has quit [Quit: Quit.]
gravicappa has quit [Ping timeout: 240 seconds]
rig0rmortis has joined #lisp
rumbler31 has quit [Remote host closed the connection]
mindCrime has joined #lisp
random-nickname has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
rig0rmortis1 has joined #lisp
<dbotton> anyone know a good resource book chapter or online that would have all the "type checking" related lisp info in one place
<dbotton> clhp doesn't count
rig0rmortis1 has quit [Client Quit]
<dbotton> clhs rather
<specbot> Couldn't find anything for rather.
treflip has quit [Quit: WeeChat 2.6]
TheInformaticist has quit [Remote host closed the connection]
<mseddon> Kaplan-ullman type propagation. If you find a complete set of rules lmk...
<sm2n> common lisp recipes chapter 13 maybe?
<sm2n> has lots of examples, though the spec is more comprehensive
<sm2n> that doesn't really talk of inference though, as that depends on the implementation
<dbotton> thanks
mindCrime has quit [Excess Flood]
cosimone has joined #lisp
mindCrime has joined #lisp
heisig has quit [Ping timeout: 240 seconds]
<mseddon> Ah yes, as sm2n says, no implementations need to support inference
skapata has quit [Quit: Leaving]
<mseddon> The rules are defined entirely by runtime behaviour
<mseddon> But e.g. ts has rediscovered this
skapata has joined #lisp
clintm has quit [Ping timeout: 272 seconds]
vegansbane has quit [Read error: Connection reset by peer]
vegansbane has joined #lisp
sts-q has joined #lisp
_whitelogger has joined #lisp
davepdotorg has joined #lisp
mathrick has joined #lisp
dbotton_ has joined #lisp
dbotton has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Ping timeout: 240 seconds]
<Xach> Not great that (asdf:system-relative-pathname "system" "foo") is critically different from (asdf:system-relative-pathname "system" #p"foo"))
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rumbler31 has joined #lisp
<phoe> Xach: what do you mean?
<phoe> the only different thing is TYPE versus VERSION in the two resulting pathnames
<Xach> phoe: read the sources; if you pass a string, it goes through asdf/uiop's non-standard pathname parsing mechanism, which mangles e.g. "foo/**/*.txt"
<Xach> if you pass a pathname, it doesn't.
aindilis has quit [Remote host closed the connection]
srhm has quit [Quit: srhm]
<Fare> non-standard, but portable, unlike the standard, but non-portable, mechanism.
<Fare> Unhappily, you have to choose between the two. Happily, you can.
bitmapper has joined #lisp
fortitude has joined #lisp
<Fare> portable, including to non-Unix systems like Genera, RMCL, Windows, etc., where the separator is not /
g0d_shatter has quit [Quit: Leaving]
<alanz> dbotton_, perhaps this is a background: https://alhassy.github.io/TypedLisp.html
<alanz> hmm, he left
shifty has joined #lisp
Posterdati has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
ioa has quit [Ping timeout: 240 seconds]
ioa has joined #lisp
<dbotton_> I am here
<dbotton_> I'll take a look
<dbotton_> but I need it to be standard CL for my plans
cpt_nemo_ has quit [Ping timeout: 244 seconds]
heisig has joined #lisp
EvW has joined #lisp
cpt_nemo has joined #lisp
Oladon has joined #lisp
<mseddon> I think the idea is you would adapt it...
<mseddon> It's a well defined dataflow equation.
dbotton has joined #lisp
<mseddon> dbotton_: thanks, that was an enjoyable read, I'd not come across it.
dominic34 has quit [Ping timeout: 258 seconds]
dbotton_ has quit [Ping timeout: 240 seconds]
heisig has quit [Quit: Leaving]
<dbotton> I'll take a better look at it tomorrow evening
<dbotton> thanks. heading out
dbotton has quit [Quit: -a- IRC for Android 2.1.59]
galex-713 has quit [Read error: Connection reset by peer]
narimiran has quit [Ping timeout: 265 seconds]
sts-q has quit []
galex-713 has joined #lisp
anddam has joined #lisp
<anddam> howdy
kaftejiman_ has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 240 seconds]
* Xach revisits the inconvenient death of bitbucket mercurual repos
ggole has quit [Quit: Leaving]
AeroNotix has joined #lisp
<AeroNotix> how do I represent a bit field in a C struct when using cffi??
reggieperry has quit [Quit: reggieperry]
<_death> there's defbitfield
<AeroNotix> the library I am wrapping sets a struct field to `enum foobar flags:8`. The enum is defined with defcenum. How do I use it like that?
<AeroNotix> it seems I will need to override the type in my wrapper from the enum, to type I create with defbitfield. Seems a bit awkward.
<AeroNotix> I saw defbitfield, but was wondering if there's a better way
MichaelRaskin has left #lisp [#lisp]
<_death> heh, I don't think I've encountered anything like that (and I've been doing this for some time..).. I'd guess it's not even standard C, but I could be wrong
<AeroNotix> let me link you the original source, sec
<_death> you can manually convert between enum and int
<AeroNotix> it's not an int, though, it's uint8
<AeroNotix> _death: ^
<AeroNotix> enum defined just above that
EvW has joined #lisp
aartaka has joined #lisp
<_death> defbitfield can take a base type
<AeroNotix> _death: so I'm using swig to generate the bindings... I would like to keep using swig just to make things automatic (unless there's a different auto-approach). I kinda don't want to need to maintain some cffi definition code.
aindilis has joined #lisp
aartaka has quit [Read error: Connection timed out]
aartaka has joined #lisp
<_death> ok, C99 standard 6.7.2.1 paragraph 4 says "A bit-field shall have a type that is a qualified or unqualified version of _Bool, signed int, unsigned int, or some other implementation-defined type".. so I'm guessing it's an extension
<_death> AeroNotix: never used swig (well, I may have tried it a decade ago I think..).. for automatic wrapping I use autowrap
<AeroNotix> _death: I'll check autowrap out
_whitelogger has joined #lisp
<AeroNotix> autowrap looks good but I would need to rewrite a bunch of stuff. Not a bad thing just some thing not for today
gaqwas has quit [Ping timeout: 258 seconds]
user51 has quit [Remote host closed the connection]
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
davepdotorg has joined #lisp
<p_l> btw, does anyone know of solid implementation of Symbolics' DEFRESOURCE macro with permissive license (unlike LGPLed one in McCLIM?)
<mseddon> Ooh. Also interested.
<_death> maybe the franz clim has one?
shka_ has quit [Ping timeout: 256 seconds]
<phoe> seems so
<AeroNotix> phoe: oh hey, just came across the book you're writing. Definitely will be adding that to the collection
* phoe blush
<AeroNotix> are hard copies for sure going to be available?
<phoe> you mean hardcover? I think not
<AeroNotix> oh
<AeroNotix> the site made it seem like they will at some point
<phoe> only paperbacks and ebooks, AFAIK
<AeroNotix> oh paperback, yes that's fine
<phoe> oh! yes, these will be there
<phoe> I thought you meant hardcovers
<AeroNotix> nah I just meant physical
<AeroNotix> really cool topic btw
davepdotorg has quit [Ping timeout: 264 seconds]
karlosz has quit [Quit: karlosz]
<p_l> phoe: thanks, will have to study how exactly it works (symbolics one used intrinsics iirc) and check the license
<phoe> the license seems like a simple MIT one
<phoe> but I'll re-read it
karlosz has joined #lisp
duuqnd has quit [Remote host closed the connection]
AeroNotix has quit [Quit: WeeChat 2.9]
bilegeek has joined #lisp
dra has joined #lisp
<MetaYan> SBCL 2.0.9 has appeared.
gaqwas has joined #lisp
bilegeek has quit [Client Quit]
<TMA> phoe: it is the ancient BSD one (pre 1990) https://en.wikipedia.org/wiki/BSD_licenses#Previous_license
aartaka has joined #lisp
<phoe> ouch, I see
rtypo has quit [Quit: WeeChat 2.9]
rtypo has joined #lisp
cosimone_ has joined #lisp
cosimone has quit [Ping timeout: 244 seconds]
davepdotorg has joined #lisp
<aeth> oh no, SBCL removed DEC Alpha support
davepdotorg has quit [Ping timeout: 240 seconds]
bugrum has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
<Xach> oh nooooo
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
bilegeek has joined #lisp
^Sauvin^ is now known as Sauvin
gaqwas has quit [Ping timeout: 260 seconds]
vaporatorius__ has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 240 seconds]
pve has quit [Quit: leaving]
rig0rmortis has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
madage has quit [Ping timeout: 240 seconds]
marusich has joined #lisp
madage has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
ex_nihilo has joined #lisp
dra has quit [Quit: Leaving]
bendersteed has quit [Ping timeout: 272 seconds]
random-nickname has quit [Ping timeout: 240 seconds]
<Aurora_v_kosmose> rip?
<aeth> DEC Alpha was actually killed by Itanium. I guess they figured that they couldn't compete with Intel there so they... very prematurely gave up.
cosimone_ has quit [Ping timeout: 240 seconds]
cosimone_ has joined #lisp
<p_l> aeth: more likely is that intel said "pretty please" and compaq answered "how high"
<aeth> yeah, since they probably made way more money as an x86 OEM
<p_l> aeth: when Alpha was canceled, it was the speed leader, Itanium was still "will be available soon, honestly", and pretty much everyone outside of decision making circle was caught flat footed
<aeth> If SBCL dropping DEC Alpha makes room for RISC-V, though, I guess all is fine.
cosimone_ has quit [Quit: Quit.]
davepdotorg has joined #lisp
chipolux has quit [Ping timeout: 260 seconds]
davepdotorg has quit [Ping timeout: 272 seconds]
Jeanne-Kamikaze has joined #lisp
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mmohammadi98129 has quit [Ping timeout: 258 seconds]
edgar-rft has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
karstensrage has joined #lisp
bugrum has quit [Remote host closed the connection]
Bourne has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 240 seconds]
clintm has joined #lisp
bugrum has joined #lisp
Fare has joined #lisp