Xach changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook>
random-nick has quit [Ping timeout: 260 seconds]
igemnace has quit [Ping timeout: 258 seconds]
Guest-liao has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
jeko has joined #commonlisp
igemnace has joined #commonlisp
taiju has joined #commonlisp
Oladon has quit [Quit: Leaving.]
xaltsc has quit [Ping timeout: 265 seconds]
xaltsc has joined #commonlisp
Yehowshua has joined #commonlisp
lisp123 has quit [Quit: Leaving...]
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
Yehowshua has quit [Quit: Ping timeout (120 seconds)]
fitzsim has quit [Ping timeout: 265 seconds]
beach` has joined #commonlisp
beach has quit [Ping timeout: 260 seconds]
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
prxq has quit [Ping timeout: 260 seconds]
prxq has joined #commonlisp
paule32_ has joined #commonlisp
Guest-liao has quit [Ping timeout: 256 seconds]
paule32__ has joined #commonlisp
paule32 has quit [Ping timeout: 260 seconds]
waleee has quit [Ping timeout: 260 seconds]
paule32_ has quit [Ping timeout: 260 seconds]
paule32_ has joined #commonlisp
Nilby has quit [Remote host closed the connection]
vats has joined #commonlisp
paule32 has joined #commonlisp
paule32__ has quit [Ping timeout: 260 seconds]
paule32_ has quit [Ping timeout: 265 seconds]
beach` is now known as beach
Bike has quit [Quit: Lost terminal]
tyson2 has quit [Remote host closed the connection]
Guest-liao has joined #commonlisp
<beach> Good morning everyone!
silasfox has joined #commonlisp
jealousmonk has quit [Quit: ERC (IRC client for Emacs 27.1)]
Guest-liao has quit [Ping timeout: 256 seconds]
taiju has quit [Ping timeout: 260 seconds]
<CodeBitCookie[m]> beach: Good Morning.
<CodeBitCookie[m]> Its morning for me too!
taiju has joined #commonlisp
semz has quit [Ping timeout: 260 seconds]
Oladon has joined #commonlisp
semz has joined #commonlisp
<beach> minion: Please tell CodeBitCookie[m] about universal greeting time
<minion> CodeBitCookie[m]: please see universal greeting time: It is always morning when a person enters a channel, and late night when they leave. You may want to read http://www.total-knowledge.com/~ilya/mips/ugt.html for further information
jeko has quit [Remote host closed the connection]
srhm has quit [Read error: Connection reset by peer]
<CodeBitCookie[m]> beach: Hahhahahahaha. That is really funny.
<CodeBitCookie[m]> A nice convention
tophullyte has joined #commonlisp
ym has quit [Remote host closed the connection]
silasfox has quit [Ping timeout: 260 seconds]
tophullyte has quit [Quit: Leaving]
Guest-liao has joined #commonlisp
silasfox has joined #commonlisp
Oladon has quit [Quit: Leaving.]
pillton has quit [Remote host closed the connection]
silasfox has quit [Ping timeout: 245 seconds]
Nilby has joined #commonlisp
holycow has joined #commonlisp
phadthai has quit [Ping timeout: 252 seconds]
phadthai has joined #commonlisp
fitzsim has joined #commonlisp
<holycow> good evening
<beach> Hello holycow.
<holycow> hi beach, how are you doing?
<beach> Slow but steady progress, thank you! Yesterday was a not-so-productive day because of my tools failing me, so I'll work on improving the tools for a few days.
<beach> How about you?
bcasiello has quit [Ping timeout: 260 seconds]
Qwnavery has joined #commonlisp
<holycow> really good actually. jcowan was kind enough to chat me up about a software project idea and his insight helped me kind of visualize the pieces in a new way. kind of exciting when you can actually visualize a solution and start to get a feel for how much work will be required to get an mvp together if the resources can be found.
<holycow> this channel is full of amazing people.
<beach> I totally agree.
<beach> Was your conversation in this channel?
<holycow> no, i posted something the other week and the rest was over email.
<beach> I see.
<holycow> i'll post something when the time is right and if resources align.
<beach> Sounds good.
akoana has quit [Quit: leaving]
shka has joined #commonlisp
varjag has joined #commonlisp
domovod has joined #commonlisp
Krystof has quit [Ping timeout: 260 seconds]
attila_lendvai has joined #commonlisp
rotateq has joined #commonlisp
attila_lendvai has quit [Client Quit]
Cymew has joined #commonlisp
srhm has joined #commonlisp
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
dre has quit [Ping timeout: 265 seconds]
silasfox has joined #commonlisp
dre has joined #commonlisp
lisp123 has joined #commonlisp
<lisp123> beach: its never ending rabbit hole sometimes when it comes to improving tooling, have to be careful not to go too deep :)
<beach> I know, but this is a situation where I am wasting huge amounts of time because of the tools failing me, so I think it will be time well spent.
varjag has quit [Ping timeout: 260 seconds]
<lisp123> Sounds good
<silasfox> Good morning!
<beach> Hello silasfox.
<rotateq> Hi from me too, silasfox :)
cosimone has joined #commonlisp
<rotateq> beach: better than wasting time with social media stuff
<beach> Sure. IRC excluded of course, since it is a work tool.
dre_ has joined #commonlisp
<rotateq> ok I didn't count that as social media, but all those other stuff
<jackdaniel> no social media? don't you miss these micro dopamine shots from likes? <;
<rotateq> jackdaniel: no :)
<hayley> s/dopamine/anxiety and we agree!
<beach> I canceled my facebook account a few years ago.
edgar-rft has quit [Quit: Leaving]
<jackdaniel> I don't have fb account for ~10 years, but I've closed my twitter and reddit account recently too - go to my blog for updates ,)
<beach> Good for you.
<beach> I never had any of those, so nothing to close.
dre has quit [Ping timeout: 260 seconds]
<jackdaniel> uh oh, I have a glimpse of inspiration - if there is "slow food" then there is also "slow internet"
<jackdaniel> and I'm not talking about bandwidth
<Nilby> The nice thing is, that when you refuse to run javascript like me, those site become useless.
srhm has quit [Read error: Connection reset by peer]
<Qwnavery> \o rotateq, beach
srhm has joined #commonlisp
<rotateq> hello Qwnavery
<rotateq> Nilby: that's the trick of it
<rotateq> hm shall I play the socratic game today again and ask the docent what to do if this C# would not have looping constructs built-in? :P
Qwnavery has quit [Quit: WeeChat 3.3]
hendursa1 has joined #commonlisp
casionaut has joined #commonlisp
silasfox has quit [Ping timeout: 260 seconds]
hendursaga has quit [Ping timeout: 276 seconds]
silasfox has joined #commonlisp
Guest-liao has quit [Quit: Client closed]
<semz> How portable are CL pathnames in practice? I like their idea a lot but do the implementations agree on how to interpret them?
<jackdaniel> no, there are noticeable differences between implementations
attila_lendvai has joined #commonlisp
<jackdaniel> logical pathnames are also super cool, but they are even less trustworthy :)
<semz> Can these differences be worked around sanely or do they render pathnames effectively unusable?
<semz> In a portable library that is, obviously you can use them if you stick to your impl
<lisp123> Nilby: do you use eww?
<jackdaniel> people work with pathnames with success, but you need to be vary of things symlinks and whether #P"/foo/bar" when there is a bar directory will be treated as a file or a directory
<jackdaniel> wary?
<jackdaniel> wary!
<semz> Maybe I need to vary too, just like the interpretations do.
<jackdaniel> there are a few libraries that aim at providing portable interepation of pathnames
<jackdaniel> i.e cl-fad (or uiop)
silasfox has quit [Ping timeout: 260 seconds]
<jackdaniel> either way they are plenty useful, not something to shy away from - just a little quirky at places
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
<holycow> i'm trying to get more serious about lisp and expand my knowledge of emacs
<holycow> i am really confused about the inferior-lisp buffer
<White_Flame> it's the stdout of the lisp process
<holycow> oh
<White_Flame> or actually, the full terminal session, as if it drops to ldb at some point, you can type in it, too
<holycow> is it supposed to provide access to a command-prompt at all to evaluate a form?
<White_Flame> only when something goes wrong with slime
<White_Flame> other than that, it's basically just to monitor anythign that escapes capture into SLIME
<White_Flame> it used to be that threaded output to *standard-output* would go to inferior lisp, but I think that's captured into the main slime repl window now
<holycow> ah okay now i understand my confusion
<holycow> okay so i have been playing with packages testing dumping images
<holycow> online documentation says switch to inferiorlisp buffer and dump the image from there because you cannot do it from a slime session in emacs
<White_Flame> ah, righ
<holycow> what are they really saying then? inferior-lisp doesn't proved a command prompt to evaluate a form?
<White_Flame> any time I've dumped an image, I've done it from the OS commandline, with a little load & dump script
dec0d3r has quit [Remote host closed the connection]
<holycow> aha
<White_Flame> I don't know what they mean. It could be from an older version, or it could be that they launch it as slime does, but without the slime parts?
<holycow> okay, that removes a big piece of the mistery. inferior-lisp is stdout for slime that makes sense
<holycow> i appreciate the info
domovod has quit [Quit: WeeChat 3.3]
Nilby has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 265 seconds]
attila_lendvai has quit [Ping timeout: 265 seconds]
kevingal has joined #commonlisp
OlCe has joined #commonlisp
Guest-liao has joined #commonlisp
voltron has joined #commonlisp
casionaut has quit [Remote host closed the connection]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
random-nick has joined #commonlisp
random-nick has quit [*.net *.split]
holycow has quit [*.net *.split]
vats has quit [*.net *.split]
Lord_of_Life has quit [*.net *.split]
pranavats has quit [*.net *.split]
etiago has quit [*.net *.split]
mason has quit [*.net *.split]
micro has quit [*.net *.split]
sm2n has quit [*.net *.split]
borodust has quit [*.net *.split]
mfiano has quit [*.net *.split]
kdlv has quit [*.net *.split]
hubvu has quit [*.net *.split]
perrierjouet has quit [*.net *.split]
Fade has quit [*.net *.split]
spec has quit [*.net *.split]
dbotton has quit [*.net *.split]
ski has quit [*.net *.split]
Oddity has quit [*.net *.split]
d4ryus has quit [*.net *.split]
jdz has quit [*.net *.split]
kagevf has quit [*.net *.split]
Shinmera has quit [*.net *.split]
xantoz has quit [*.net *.split]
vats has joined #commonlisp
mason has joined #commonlisp
holycow has joined #commonlisp
kdlv has joined #commonlisp
Fade has joined #commonlisp
etiago has joined #commonlisp
mfiano has joined #commonlisp
micro has joined #commonlisp
hubvu has joined #commonlisp
borodust has joined #commonlisp
sm2n has joined #commonlisp
Lord_of_Life has joined #commonlisp
pranavats has joined #commonlisp
random-nick has joined #commonlisp
perrierjouet has joined #commonlisp
kagevf has joined #commonlisp
dbotton has joined #commonlisp
d4ryus has joined #commonlisp
spec has joined #commonlisp
Oddity has joined #commonlisp
ski has joined #commonlisp
jdz has joined #commonlisp
xantoz has joined #commonlisp
Shinmera has joined #commonlisp
<lisp123> holycow: I think of inferior lisp as noting that Emacs has a main Elisp process
<lisp123> So any other lisp process is 'inferior' to it. Not sure if that's 100% the right way to think about it, but that's how I rationalise it
<lisp123> Of course, SLIME is 'superior' ;)
aartaka has joined #commonlisp
<jackdaniel> lisp123: as someone pointed out, the "inferior lisp" is the /common lisp/ process console, slime repl runs for the same process (it connects i.e with the socket)
<lisp123> yes
<lisp123> So I view the lisp process of Emacs as the main one, and any other one as the inferior ones
<jackdaniel> if you had started common lisp in an ordinary console and called (swank::create-server) and then connected from slime to it, then your console would be a counterpart of the inferior lisp compared to cl started from emacs
<lisp123> I see, does the swank / slime manual refer to the CL process as the inferior one or is it an Emacs term?
<jackdaniel> I think that I misunderstood what you've asserted; it is emacs term indeed
<lisp123> ah cool
silasfox has joined #commonlisp
tyson2 has joined #commonlisp
specbot has quit [Remote host closed the connection]
minion has quit [Killed (NickServ (GHOST command used by minion1))]
specbot has joined #commonlisp
minion has joined #commonlisp
dre__ has joined #commonlisp
herlocksholmes1 has joined #commonlisp
lisp123_ has joined #commonlisp
stylewarning_ has joined #commonlisp
brettgilio7 has joined #commonlisp
mister_m` has joined #commonlisp
alanz_ has joined #commonlisp
jmercouris_ has joined #commonlisp
lisp123_ has quit [Client Quit]
mmk2410_ has joined #commonlisp
gendl_ has joined #commonlisp
sndr has joined #commonlisp
leo_song_ has joined #commonlisp
pieguy128_ has joined #commonlisp
fengshaun_ has joined #commonlisp
Lord_Nightmare2 has joined #commonlisp
snits_ has joined #commonlisp
flip214_ has joined #commonlisp
silasfox_ has joined #commonlisp
Xach_ has joined #commonlisp
SAL9000_ has joined #commonlisp
gabc_ has joined #commonlisp
Xach_ has quit [Changing host]
Xach_ has joined #commonlisp
antoni has joined #commonlisp
Xach has quit [Killed (NickServ (GHOST command used by Xach_!~xach@user/xach))]
Xach_ is now known as Xach
Mandus_ has joined #commonlisp
pi1 has joined #commonlisp
loke___ has joined #commonlisp
silasfox has quit [*.net *.split]
vats has quit [*.net *.split]
srhm has quit [*.net *.split]
dre_ has quit [*.net *.split]
fitzsim has quit [*.net *.split]
igemnace has quit [*.net *.split]
Mandus has quit [*.net *.split]
johnjay has quit [*.net *.split]
lisp123 has quit [*.net *.split]
flip214 has quit [*.net *.split]
brettgilio has quit [*.net *.split]
herlocksholmes has quit [*.net *.split]
antoszka has quit [*.net *.split]
leo_song has quit [*.net *.split]
sukaeto has quit [*.net *.split]
MetaYan has quit [*.net *.split]
sander has quit [*.net *.split]
mmk2410 has quit [*.net *.split]
snits has quit [*.net *.split]
mister_m has quit [*.net *.split]
fengshaun has quit [*.net *.split]
pieguy128 has quit [*.net *.split]
SAL9000 has quit [*.net *.split]
gendl has quit [*.net *.split]
Lord_Nightmare has quit [*.net *.split]
stylewarning has quit [*.net *.split]
alanz has quit [*.net *.split]
jmercouris has quit [*.net *.split]
anddam has quit [*.net *.split]
gabc has quit [*.net *.split]
loke has quit [*.net *.split]
herlocksholmes1 is now known as herlocksholmes
sndr is now known as sander
brettgilio7 is now known as brettgilio
stylewarning_ is now known as stylewarning
Lord_Nightmare2 is now known as Lord_Nightmare
alanz_ is now known as alanz
jmercouris_ is now known as jmercouris
gendl_ is now known as gendl
flip214_ is now known as flip214
srhm has joined #commonlisp
gabc_ is now known as gabc
vats has joined #commonlisp
dec0d3r has joined #commonlisp
sukaeto has joined #commonlisp
MetaYan has joined #commonlisp
igemnace has joined #commonlisp
lottaquestions_ has quit [Remote host closed the connection]
lottaquestions_ has joined #commonlisp
silasfox_ has quit [Ping timeout: 260 seconds]
silasfox_ has joined #commonlisp
heisig has joined #commonlisp
Cymew has joined #commonlisp
vats has quit [Ping timeout: 265 seconds]
<greyrat> I often hear that most of Python's important libraries such as NumPy are written mostly in C. Why is it that other langs such as CL can't easily write their own wrappers and use NumPy then? What makes NumPy so coupled to Python?
cage has joined #commonlisp
edgar-rft has joined #commonlisp
<beach> If a library uses mainly standard C, then it can be used from most Common Lisp implementations. What makes you think it couldn't?
<jdz> greyrat: Have you looked at the code?
<beach> But yeah, I haven't looked at the code either. If it is written specifically for the purpose of being used from Python, then it may not work. Not that I know why.
<jdz> I also have not looked at the code (that's why I'm asking), but I'd bet the code is written specifically as an extension of Python, not a generic number chrunching library with a Python wrapper.
<beach> Ah, OK.
tyson2 has quit [Remote host closed the connection]
<paulapatience> I may be wrong, but I think it provides a uniform interface to various number-crunching libraries written in C (and maybe Fortran and C++ too)
<paulapatience> Or rather, I think that that is its purpose; to provide the uniform interface
Guest-liao has quit [Ping timeout: 256 seconds]
<semz> Its linear algebra parts are wrappers of BLAS/LAPACK, not sure about the rest.
<heisig> greyrat: The Python language was designed to allow for a smooth transition between Python code and C code. Common Lisp wasn't designed that way.
<heisig> For example, Python guarantees that allocated objects can't be moved in memory, which simplifies FFI a lot.
pranavats has left #commonlisp [#commonlisp]
<heisig> But designing a language that way also has a high price. Allocations in Python are slow (relative to CL), and multi-threading is extremely limited.
<heisig> But this also means that a bridge from Common Lisp to NumPy would be quite brittle (or slow).
kevingal_ has joined #commonlisp
kevingal has quit [Ping timeout: 260 seconds]
pranavats has joined #commonlisp
vats has joined #commonlisp
Bike has joined #commonlisp
Guest-liao has joined #commonlisp
<rotateq> he did it, calling C# a "modern" programming language :D
Guest-liao has quit [Ping timeout: 256 seconds]
tyson2 has joined #commonlisp
<beach> heisig: So I take it you are saying that it is better to use a library specifically adapted to the Common Lisp implementation in question, or to write the code in Common Lisp?
Guest-liao has joined #commonlisp
Inline has joined #commonlisp
silasfox_ has quit [Ping timeout: 268 seconds]
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
<CodeBitCookie[m]> Can WxWidgets even be used with Common Lisp without using the really old Common Lisp one?
<beach> I recommend you use McCLIM instead of some FFI-based solution for GUI applications.
<saltrocklamp[m]> i think it's legitimate to want to use an existing gui framework
<beach> Sure, you can do what you want. That doesn't change my recommendation.
casionaut has joined #commonlisp
<jdz> McCLIM also "exists".
<saltrocklamp[m]> beach: numpy-the-codebase is deeply integrated with the cpython api. a lot of the core algorithms can probably be extracted to a standalone library, but i don't think it'd be possible to build a truly standalone numpy using numpy itself, nor do i think it's something that can be called from another runtime without also exposing the entire cpython api. notably the python community is trying to discourage the use of this api, because
<saltrocklamp[m]> it's not portable to other python implementations. instead people are encouraged to use the cffi package, and there is a new work-in-progress c api called "hpy" that is supposed to be an improved c api that alternative implementations of python can support more easily
rotateq has quit [Remote host closed the connection]
<jackdaniel> it "exists" and goes 'brr', espcially when I run "Fill" in the coordinate swizzling demo ,)
<beach> saltrocklamp[m]: I see. Thanks.
<edgar-rft> there once was a project on sourceforge.net that tried to generate common lisp wx-widgets ffi-bindings via swig but it never really worked because of the ever-changing wx-widgets api (if I remember right).
<jcowan> Oh, that's nice. It means that CPython devs are taking other Pythons seriously, instead of "We are the King, and Our right is divine."
* edgar-rft is emperor, kings are pedestrian-level
<saltrocklamp[m]> i can't speak specifically for the cpython core team (i think they are more preoccupied with cpython than they are territorial), but pypy, graalpython, and maybe pyston are all finally reaching the point where they could be legitimate production-grade alternatives, so the community definitely cares about supporting them
<heisig> beach: I just wanted to point out that calling NumPy from CL is either messy or slow. I didn't suggest solutions.
<saltrocklamp[m]> pypy is really a monumental work. imagine sicl, but if common lisp had no formal specification and exactly 1 reference implementation
<beach> heisig: Got it.
<jackdaniel> I don't know why CMUCL compiler gets so much attention on regular basis
<jcowan> Where? Not here, certainly
<jdz> jackdaniel: gotta keep the discussion on topic!
<jackdaniel> jcowan: that was a joke. cmucl compiler name is python
<saltrocklamp[m]> beach heisig: in common lisp specifically, it'd probably make more sense to bind to gsl or something like that. i'm not sure what the story is with sharing vectors w/ external libraries (if there is one at all)
<jcowan> Oh yes
<jcowan> Python is now a type B language (one implementation dominant) as opposed to type A (only one implementation exists, dominant by default) and type C (standard is dominant)
<CodeBitCookie[m]> beach: True and if you remember my rant from yesterday, the only problem is that normies will instantly close an application with those looks (no offense to McCLIM). I love McCLIM.
<CodeBitCookie[m]> QT has a paid license on non FOSS
<jcowan> Gamify it and then they will tolerate any look-and-feel
<jackdaniel> CodeBitCookie[m]: you should use whatever works for you, but let me point out that looks of McCLIM are not that awful to render it unusable
<CodeBitCookie[m]> cl-cffi-gtk is giving me this error, if anyone recognizes it please tell me otherwise I think I will have to post an issue on it.
<CodeBitCookie[m]> :
<jackdaniel> and dabbling with some ffi hacks that will give you segmentation faults just for looks is a hard sell for some ,)
<CodeBitCookie[m]> jcowan: wdym
<jdz> Funny, I just tried a GTK application today, and it segfaulted on me after 5 minutes, so I uninstalled it.
tyson2 has quit [Read error: Connection reset by peer]
<beach> CodeBitCookie[m]: And, as I often point out, it would be good for the entire user community if someone would then work on the looks of McCLIM.
<jcowan> Games are often prized for their unique and offbeat UIs. If you can make your implementation into a game, that frees you from prior UI expectations.
<beach> I mean, I agree with jackdaniel that the looks are fine for what I do, and I don't know how to make it look acceptable to the target clientele, but some frame manager with such looks would be very welcome.
<jcowan> Of course, if you are writing b2b software, that won't fly. You can't have everything
<CodeBitCookie[m]> beach: I mean, I could try?
<beach> CodeBitCookie[m]: Yes.
<heisig> saltrocklamp[m]: The static-vectors library exists, so sharing vectors with external libraries is not a problem.
<CodeBitCookie[m]> jcowan: This is supposed to be an analytic showing and planning application.
edgar-rft has quit [Quit: Leaving]
<jackdaniel> I think that this would be a tedious task right now for a person who doesn't know clim internals
<jcowan> eh, not so much then
<jackdaniel> that said scymtym has some theming in his fork that people praise for being pretty
<jackdaniel> but I'm not sure whether it is pushed to github
<saltrocklamp[m]> jcowan that is an interesting model, i like it
waleee has joined #commonlisp
mister_m` is now known as mister_m
vats has quit [Ping timeout: 260 seconds]
<jcowan> "Inferior process" is Tenex jargon for what we now call child processes, so "inferior Lisp" unpacks to "Lisp running in a child process of emacs. It's equally appropriate for any other editor.
Guest-liao has quit [Quit: Client closed]
<scymtym> these use the modified McCLIM "theme" in case anyone was wondering: https://techfak.de/~jmoringe/specification-browser-2.png https://techfak.de/~jmoringe/clim.irc.ogv . the changes are not quite ready since starting to look at things at (or below) a single-pixel precision level reveals lots of lower-level challenges
flip214 has quit [Changing host]
flip214 has joined #commonlisp
<scymtym> s/lower-level challenges/challenges related to the real-valued geometry model used by CLIM/
<jackdaniel> deftype coordinate fixnum and voila ,) I was wondering whether that could work (given some reasonable amount of 'fixing')
robin has quit [Read error: Connection reset by peer]
<CodeBitCookie[m]> scymtym: Looks pretty good!
<greyrat> CodeBitCookie: Can't you write the GUI in another language? Clojure has wrappers for Swing and JavaFX, and Racket's standard library has a wrapper for GTK.
robin has joined #commonlisp
<scymtym> CodeBitCookie[m]: thanks
<jackdaniel> and as we all see, clojure is cl, so it is perfectly ontopic on this channel :)
<CodeBitCookie[m]> greyrat: not Clojure since it uses the JVM and too functional. Racket, I have never used. Although If I am going to be using another language, I would rather use C/C++
<CodeBitCookie[m]> I would use LTK/nodgui but ltk doesn't have theming support while nodgui's is ammature and it is a WIP.
<jackdaniel> and C as we can see is half CL, while C++ is ^h^hL CL ,)
<CodeBitCookie[m]> jackdaniel: Sorry jack.
<jdz> C *cough* *cough* L.
robin has quit [Ping timeout: 258 seconds]
<jackdaniel> no worries, it is kind of on topic because it is continuation from the previous discussion. Otherwise I'd ask to stop the offtopic directly instead of joking
pranavats has left #commonlisp [#commonlisp]
<CodeBitCookie[m]> I am seriously contemplating using OpenGL for the GUI using nuklear / imgui
<CodeBitCookie[m]> though IMGUI is made in C++ so CFFI wont really work :(
<CodeBitCookie[m]> Nuklear doesn't even really support basic file pickers/color pickers so. sigh
<CodeBitCookie[m]> I don't want to think about the last resort... web apps
<flip214> jackdaniel: roman numeral C is 2/3 of CL ;)
<CodeBitCookie[m]> flip214: Woah
<flip214> C++ would be 102, so still smaller
SAL9000_ is now known as SAL9000
robin has joined #commonlisp
heisig has quit [Quit: Leaving]
<random-nick> CodeBitCookie[m]: there are some ways to use C++ libraries with CL
<CodeBitCookie[m]> random-nick: how?
<random-nick> another one is to use the clasp implementation, but afaik it's still in a experimental/alpha state
<_death> CodeBitCookie[m]: if you can use ecl, and you don't mind proof of concept, you can check out https://github.com/death/imcl
<random-nick> ecl can also do it
<CodeBitCookie[m]> _death: that might be a really good option! I am going to try IMCL and see what comes of it.
waleee has quit [Ping timeout: 245 seconds]
waleee has joined #commonlisp
dino__ has quit [Remote host closed the connection]
raeda has joined #commonlisp
dilated_dinosaur has joined #commonlisp
igemnace has quit [Ping timeout: 265 seconds]
nature has joined #commonlisp
pi1 is now known as johnjay
dec0d3r has quit [Remote host closed the connection]
waleee has quit [Remote host closed the connection]
waleee has joined #commonlisp
makomo has joined #commonlisp
Inline has quit [Ping timeout: 264 seconds]
fitzsim has joined #commonlisp
igemnace has joined #commonlisp
Cymew has quit [Ping timeout: 268 seconds]
<CodeBitCookie[m]> _death: It says that the file is corrupt and thus could not be played.
<_death> should work with mpv
casionaut has quit [Quit: Leaving]
pranavats has joined #commonlisp
voltron has quit [Remote host closed the connection]
<CodeBitCookie[m]> _death: Wow, I watched everything and it was really amazing! Any full resources though?
<CodeBitCookie[m]> I think I am sold on IMCL. Everything in my list checks off with a double checkmark on easy to setup!
<_death> if you mean documentation or tutorials, not really.. it's a proof of concept and I've not really used it for much
<CodeBitCookie[m]> No problems at all, just an instant setup without any hassle. Also I Heart OpenGL. Didn't get into Vulkan but that is besides the point.
<CodeBitCookie[m]> ahhhhhhhhh, that one checkbox then is still unmarked,
<CodeBitCookie[m]> _death: Wait a minute... You are the guy who created this!
<CodeBitCookie[m]> You have the same username on GitHub too.
<_death> note that when you pick the opengl menu item, it'll load cl-opengl etc., which ecl would take a while to compile if the fasls aren't already there
<CodeBitCookie[m]> Yeah. I was thinking of how we could pre-"install" the fasl files on the users computer.
<CodeBitCookie[m]> How would we even compile it. The main point I wanted to say is that, can you please give me the example source files. I will hopefully figure it out.
<_death> the sources are in the repository, and there's a short readme
<CodeBitCookie[m]> I am very interested in this kind of stuff so maybe I could help you just a teeeny amount for extending that README. Obviously a little while after I use it.
<CodeBitCookie[m]> _death: Sure. Sorry, I glossed over that.
<kagevf> had no idea what Tenex was and it was tricky to ddg it, but this is what I found: https://en.wikipedia.org/wiki/TENEX_(operating_system) (thank you, jcowan!) ... nice to know that "inferior" just means "child"
<beach> kagevf: I strongly recommend you read up on pre-Unix operating systems, so that you will realize that what we have now is often a giant step backward compared to what was before.
<beach> kagevf: Some of the information might be available in "The Unix haters handbook".
<Catie> The only issue I've found with that book is that it presupposes knowledge of the pre-unix operating systems
<beach> Oh!
<beach> I guess I didn't remember that from the time I read it.
<Catie> There just wasn't a lot of specific information about what other operating systems did better
<beach> I believe you.
<Catie> There's a lot of "this used to just work but then UNIX came along and ruined everything"
<Catie> But I want to know about how it used to just work!
<beach> I see, yes.
<_death> kagevf: CL also has :wild-inferiors (or, if you prefer, "feral children") ;)
<LoopMacro_> I would like to work with CLASP a bit. I would prefer to run it on macOS on Apple Silicon.
<Catie> Still a very fun read though!
<beach> LoopMacro_: Ask in #clasp.
<beach> Catie: As I have said before, I put off reading it for the longest time, thinking it was written by ignorant people. But when I finally did read it, I realized that the authors are highly knowledgeable and highly experienced people.
<jcowan> Anglophones think that "Lake Superior" is called that because it is the biggest, largest, deepest, most voluminous lake in North America, but francophones know it is just _le lac superieur_ 'the upper lake' in the sense of being furthest upstream from the sea.
<jcowan> The trouble with the UHH is that many points it makes are now obsolete. It needs a commentary or a new edition.
<Catie> As someone who started out with Windows and then made the switch to Unix-descended operating systems, it kind of boggled my mind to see an entire book about how Unix Is Worse. My entire experience had told me that Unix was the better way
<Catie> YES exactly that as well
kevingal_ has quit [Remote host closed the connection]
nature has quit [Ping timeout: 264 seconds]
<beach> jcowan: Good idea. A chapter on dynamic linking would be a good addition.
<jcowan> Of course there are lots of things built into Unix that aren't available in Tenex or other older OSes, notably 64-bit CPU support
frgo has quit [Ping timeout: 264 seconds]
<jcowan> OS development went through two bottlenecks, one for minicomputers aand one for microcomputers. Unix basically escaped the second one.
<jcowan> "OS/360 [Windows] development is like moving dead whales along the beach by kicking them."
<beach> Where is that quote from?
<jcowan> Unknown. It has been repeatedly modified by the folk process. I learned it orally from my first boss.
<beach> Ah, OK.
<jcowan> So at this point "Anon." would be a fair attribution, or "Computer folk saying."
<holycow> beach: giant step backward has been quite the eye opener indeed. unix was a simplified multix apparently
<beach> Yes, ("Multics"), highly simplified, given that it had to run on 16-bit processors, whereas Multics was 36 bits.
tyson2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
edgar-rft has joined #commonlisp
tyson2 has quit [Read error: Connection reset by peer]
tyson2 has joined #commonlisp
srhm has quit [Read error: Connection reset by peer]
frgo has joined #commonlisp
srhm has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
casionaut has joined #commonlisp
anddam has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
cage has quit [Remote host closed the connection]
cage has joined #commonlisp
stacksmith has quit [Quit: WeeChat 3.0.1]
<copec> Are there any CL based BBS’s? http://www.bbscorner.com/bbssoftware/activesoftware.htm
tyson2 has quit [Remote host closed the connection]
<edgar-rft> the font on that page is so tiny that I can't read a word
<_death> I had a plan to write one some years ago, but I didn't do much except ansi->html and such
X-Scale` has joined #commonlisp
bcasiello has joined #commonlisp
X-Scale has quit [Ping timeout: 264 seconds]
X-Scale` is now known as X-Scale
<kagevf> beach: I actually did read UHH :) ... definitely an interesting perspective since most of what I hear about Unix/Linux is how it's portrayed as a type of "expert system" (compared to Win and Mac) and to see the POV of how it was a regression compared to what came before ... and even emacs/slime lacks features that earlier Lisp dev environments had ...
<kagevf> _death: thank you for pointing that out ... I probably wound't had noticed otherwise! (:wild-inferiors)
nature has joined #commonlisp
<pjb> copec: if you're interested into bbs, and CL, then you'll have much fun implementing one in the other.
<pjb> copec: note: I have an implementation of the telnet protocol ;-)
<pjb> well, early unix ran on 18-bit processors; but the simplification wasn't because of the word size, but because of the power of the machine (notably memory-size) and the number of users that could connect simultaneously (basically one or a few on those early PDP-7 or PDP-11 systems).
waleee has joined #commonlisp
pranavats has left #commonlisp [#commonlisp]
aartaka has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
Nilby has joined #commonlisp
pranavats has joined #commonlisp
nature has quit [Ping timeout: 268 seconds]
nature has joined #commonlisp
attila_lendvai has joined #commonlisp
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 245 seconds]
rogersm has joined #commonlisp
X-Scale has quit [Ping timeout: 245 seconds]
X-Scale` has joined #commonlisp
X-Scale` is now known as X-Scale
rgherdt has quit [Remote host closed the connection]
rgherdt_ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
rogersm has quit [Quit: Leaving...]
casionaut has quit [Quit: o7]
Nilby has quit [Ping timeout: 264 seconds]
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Ping timeout: 258 seconds]
varjag has joined #commonlisp
tyson2 has joined #commonlisp
robin has quit [Quit: Leaving]
robin has joined #commonlisp
varjag has quit [Ping timeout: 264 seconds]
raeda has quit [Remote host closed the connection]
raeda has joined #commonlisp
frgo has joined #commonlisp
Oladon has joined #commonlisp
frgo has quit [Ping timeout: 260 seconds]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #commonlisp
bcasiello has quit [Ping timeout: 260 seconds]
bcasiello has joined #commonlisp
Skyfire has quit [Quit: WeeChat 3.3]
Bike has quit [Remote host closed the connection]
Bike has joined #commonlisp
<nature> I am having an ennoying issue with the emacs/sly linter with parenscript when I use the return keywords it tells me about a compilation warning each time when it actually works, is there a way to silence a particular warning for instance?
srhm has quit [Read error: Connection reset by peer]
<nature> And I cannot use return-from because I do this: (ps (return (validate-person-fields)))
srhm has joined #commonlisp
<nature> The way I found to prevent the linter from yelling at me is to do this: (ps* `(return (validate-person-fields)))
<nature> But then it will generate the js dynamically every time and I don't want that...
<nature> Maybe a way to tell that everything inside (ps ...) should be ignored?
<Bike> linter? are you just compiling it?
ulfvonbelow has quit [Read error: Connection reset by peer]
<nature> When I hit C-c C-c
<Bike> that's not a linter, it's actually compiling your code.
<nature> Okok, sorry for the misuse of the term
<Bike> and if you're getting a warning from that it means the ps macro isn't working as you expect it to.
<nature> I meant compilation warning then
<nature> but it works as expected tho
<Bike> like, it might be treating PS as a function, so it compiles (return (validate-person-fields)) as lisp code, which i imagine will cause issues
<kagevf> nature: what happens if you don't use "return"?
<kagevf> are you trying to return from the middle of a tag body?
<nature> The last example
<kagevf> ok
<nature> kagevf: Basically what happens is that it won't return false when I need it to
<kagevf> so they have an example and it still generates a warning?? hmmm
<nature> It's to prevent an html form submission
<Bike> Actually, what is the particular warning
<kagevf> what's the actual warning? I get a warning for using (when) because IIRC it's deprecated in PS
<Bike> I tried (ps:ps (return (validate-person-fields))) and got "Returning from unknown block nilBlock" which is a parenscript message
<nature> "Returning from unknown block nilBloc"
<kagevf> hmmm does PS support naming blocks?
<nature> yeah you can do a return-from too
<Bike> in the last example, the return is from dotimes
<Bike> and dotimes evidently establishes an implicit nil block
<Bike> (like the CL dotimes)
<nature> oooh okok, got it
<Bike> so if you want to return in some other context i suppose you should introduce a block yourself
<nature> Any suggestion for such a construct: (:form :action "/person-form" :method "POST" :name "person" :onsubmit (ps (return (validate-person-fields))) ... ?
<nature> I am not sure how to introduce a block there
<kagevf> nature: what about ps-inline?
<Bike> Is this within some larger function?
<Bike> some larger parenscript code, i mean
<kagevf> it looks like it's PS inside of CL-WHO ...?
<nature> Bike: no, it's an inline, kagevf: let me try
<nature> It's inside of spinneret
<Bike> ok, so the onsubmit attribute is just a line of code
<kagevf> nature: ah, ok ... looks like CL-WHO :)
<Bike> does (ps (validate-person-fields)) not work? i looked up some example html and it has onsubmit="myFunction()"
<Bike> which is about what you'd get from that parenscript
<nature> Bike: Exactly and it doesn't work because when my function returns false it doesn't prevent form validation
<nature> s/validation/submission/
<nature> kagevf: Spinneret is based on CL-WHO :)
<Bike> I don't follow what that has to do with making it a return statement.
<kagevf> nature: oh, nice
<Bike> is a return statement in onsubmit even sensical?
<kagevf> I think in JS if you return false it cancels further handling of an event like "onsubmit"
<Bike> like, that's what you want, right? you want :onsubmit "return validatePersonFields();" it sounds like
<nature> Bike: basically onsubmit="myFunction()" won't prevent the form from being submitted even if myFunction() returns false
<nature> onsubmit="return false" prevent the form from being submitted
<Bike> so don't you want, like
<Bike> :onsubmit (ps (or (validate-person-fields) nil)) or something? to make it false?
<Bike> where does the return come in?
<Bike> or however parenscript does false
<Bike> ps:false instead of nil i guess.
<nature> I want this: :onsubmit "return validatePersonFields();" indeed I could indeed just skip parenscript altogether here
<nature> ps needs 'f' to print false in js
<nature> (ps (or (validate-person-fields) nil)) So this could work if my functions returns true I guess
<Bike> evidently not, since it still doesn't actually return anything
<nature> oh true
<nature> But yeah the joys of JS...
<nature> (I hate it)
bcasiello has quit [Ping timeout: 260 seconds]
<nature> That's why I am actually trying to use ps, but I guess for this little bit of code I could just skip it like you suggested
<Bike> okay, well. i'm looking at parenscript now and the warning signaled does not have a type you can discriminate on very well, so silencing it would be a chore
shka has quit [Ping timeout: 264 seconds]
<Bike> (also it would be signaled during compilation making it pretty tricky on top of that)
<nature> This: :onsubmit "return validatePersonFields();" will do it.
<nature> It's like they say: Poisonning is always a matter of quantity
<nature> Thanks you very much for your help Bike and kagevf
bcasiello has joined #commonlisp
<nature> I've been working on this webapp project for quite a while now, and I am really realizing how Lisp is pretty much the sanest way to do webdev...
<kagevf> ah, so you just put JS in quotes and skipped PS for that?
<nature> kagevf: Basically yeah, it hurts a bit my OCD as it's not consistent with the rest, but it is the most straightforward way apparently.
<nature> PS remains awesome, I am generating so much boiler plate with macros, it's incredible :D
attila_lendvai has quit [Ping timeout: 264 seconds]
<kagevf> yeah, it's great how much milage you can get from using macros with PS! :)
dre__ is now known as dre
<kagevf> nature: FWIW, I looked at a handler that I did ... and it's basically wrapped in an (if), so that would handle returning true/false and it *should* cancel the DOM event
<kagevf> nature: another thing you could look into is using (chain event (prevent-default)) so that your PS/JS can have more control of the event
<kagevf> in that case "event" is a parameter in the event handler function
<nature> The problem with that is that my function then needs to handle the submission
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
<nature> kagevf: I think having that little string of js will simply make it clearer as to what is happing when the form is submitted
Skyfire has joined #commonlisp
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
igemnace has quit [Ping timeout: 265 seconds]
random-nick has quit [Ping timeout: 260 seconds]
LoopMacro_ has quit [Quit: Textual IRC Client: www.textualapp.com]
dec0d3r has joined #commonlisp
<kagevf> nature: I think there's a JS function to submit a form? like this.submit() ... or something ... or maybe if you get the form element then you can run its submit function ... anyway, my point is you can have more control over the form submission without too much hassle, plus you could keep it all in Lisp syntax :)
Psybur has joined #commonlisp
bcasiello has quit [Ping timeout: 260 seconds]
<kagevf> (chain (chain document (query-select "your form selector")) submit)) ... something like that?
<kagevf> and then make a macro so it doesn't look so ugly haha
igemnace has joined #commonlisp
jeko has joined #commonlisp
makomo has quit [Ping timeout: 264 seconds]
blihp has joined #commonlisp
akoana has joined #commonlisp
robin has quit [Remote host closed the connection]
robin has joined #commonlisp
Guest-liao has joined #commonlisp
LoopMacro has joined #commonlisp
zacque has joined #commonlisp
taiju has quit [Ping timeout: 260 seconds]