attila_lendvai has quit [Ping timeout: 246 seconds]
lisp123 has quit [Remote host closed the connection]
anticomputer has quit [Remote host closed the connection]
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
anticomputer has joined #commonlisp
utis has quit [Ping timeout: 268 seconds]
masinter has quit [Ping timeout: 246 seconds]
masinter has joined #commonlisp
pve has quit [Quit: leaving]
gxt has quit [Ping timeout: 255 seconds]
gxt has joined #commonlisp
lewisje has quit [Ping timeout: 256 seconds]
lewisje has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 272 seconds]
notzmv has quit [Ping timeout: 265 seconds]
notzmv has joined #commonlisp
pjb has quit [Ping timeout: 264 seconds]
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
akoana has joined #commonlisp
Fare has joined #commonlisp
ttree has quit [Ping timeout: 268 seconds]
nij- has quit [Ping timeout: 260 seconds]
tyson2 has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
augendredoubt has quit [Ping timeout: 260 seconds]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
alfonsox has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
masinter has quit [Ping timeout: 260 seconds]
masinter has joined #commonlisp
waleee has quit [Ping timeout: 255 seconds]
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
nij- has joined #commonlisp
<nij->
When I load cl-git, cffi-grovel calls `cc..` and complains https://bpa.st/GHXDG . Turns out that it needs to add another include dir "-I/opt/homebrew/include" (I tried that in a shell and that's fine https://bpa.st/CMNV2). How do I customize cffi to include such thing?
<ixelp>
View paste GHXDG
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
lisp123 has joined #commonlisp
akoana has quit [Quit: leaving]
lisp123 has quit [Ping timeout: 252 seconds]
n0den1te has joined #commonlisp
aartaka has joined #commonlisp
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #commonlisp
masinter has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
n0den1te has quit [Ping timeout: 268 seconds]
gnoo has joined #commonlisp
<gnoo>
hello, how can i find the documentation for common lisp functions such as rev ? in emacs lisp, i'd do C-h f rev or check the elisp manual
occ has quit [Ping timeout: 268 seconds]
occ has joined #commonlisp
<gnoo>
oh, i'm stupid
<gnoo>
rev is the name of label i'm using
<beach>
You would look it up in the Common Lisp HyperSpec.
<beach>
There is a hyperspec.el that you can use.
<gnoo>
oh, thanks!
<beach>
But, yeah, REV is not a Common Lisp function.
<beach>
clhs rev
<specbot>
Couldn't find anything for rev.
<gnoo>
yeah it's the name of label, (labels ((rev (lst acc) xD
<gnoo>
i'm doing the ``onlisp'' book
<beach>
Oh, that naming doesn't look great. REV? LST? ACC?
<gnoo>
rev is for reverse, lst is list and acc is accumulator
<beach>
It also looks like you are doing artificial tail recursion which is also not great.
<gnoo>
yeah it's for tail recursion, what should i do instead?
<beach>
gnoo: It is better to use complete names for variables.
<beach>
Use iteration.
<gnoo>
ahh, thanks, i'll do that
<beach>
The Common Lisp language does not guarantee that tail calls are optimized, so if you use tail recursion on a linear structure like a list, you might very quickly run out of stack.
<beach>
gnoo: Also, if you are a newbie, there is #clschool for newbie questions. #commonlisp is not really for newbie questions, but they are tolerated to some extent.
<gnoo>
oh, thanks!
<beach>
Sure.
occ has quit [Ping timeout: 246 seconds]
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
shka has joined #commonlisp
occ has joined #commonlisp
Fare has quit [Ping timeout: 255 seconds]
dcb has left #commonlisp [MSN Messenger 3.8]
alemmens has joined #commonlisp
_cymew_ has joined #commonlisp
azimut has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
cage has joined #commonlisp
morganw has joined #commonlisp
Nilby has quit [Ping timeout: 248 seconds]
Nilby has joined #commonlisp
pve has joined #commonlisp
mrcom_ has quit [Ping timeout: 264 seconds]
mrcom has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
pjb has joined #commonlisp
alemmens has quit [Ping timeout: 265 seconds]
robin_ has joined #commonlisp
robin has quit [Ping timeout: 260 seconds]
akoana has joined #commonlisp
attila_lendvai has joined #commonlisp
igemnace has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
witcher has joined #commonlisp
aartaka has joined #commonlisp
igemnace has quit [Remote host closed the connection]
alemmens has joined #commonlisp
gxt has quit [Ping timeout: 255 seconds]
lisp123 has joined #commonlisp
gxt has joined #commonlisp
alemmens has quit [Ping timeout: 260 seconds]
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
scymtym has joined #commonlisp
random-nick has joined #commonlisp
frgo has quit [Ping timeout: 272 seconds]
alemmens has joined #commonlisp
_cymew_ has quit [Ping timeout: 260 seconds]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
alemmens has quit [Ping timeout: 264 seconds]
VincentV` has quit [Ping timeout: 246 seconds]
akoana has quit [Quit: leaving]
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
tyson2 has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
McParen has joined #commonlisp
alemmens has joined #commonlisp
augendredoubt has joined #commonlisp
<nij->
Trying my luck again.. :-)
<nij->
When I load cl-git, cffi-grovel calls `cc..` and complains https://bpa.st/GHXDG . Turns out that it needs to add another include dir "-I/opt/homebrew/include" (I tried that in a shell and that's fine https://bpa.st/CMNV2). How do I customize cffi to include such thing?
<ixelp>
View paste GHXDG
lisp123 has quit [Remote host closed the connection]
<Bike>
nij-: this is more about your system configuration than cffi. you should configure your system so that you can compile C code you have.
<Bike>
if you really want to, you can add cflags or include files in the grovel syntax, but presumably you don't want to mess with cl-git's code
<nij->
I believe that C code is generated by the "grovel file".
<ixelp>
cl-git/libgit2-types-grovel0.lisp at master · russell/cl-git · GitHub
<nij->
There is an process-.. function in cl-grovel that would process these kinds of files, (should) generate C codes, and run cc on it.
<nij->
It's really cffi-grovel that runs CC. So I suppose there's a way to tell cffi-grovel to include (cc -I..) certain paths.
<nij->
However, that doesn't seem to be in the documentation of CFFI.
<pjb>
nij-: there's a #<CFFI-GROVEL:GROVEL-FILE "cl-git" "libgit2-types-grovel0"> this object has a cc-flags slot that you can initialize with :cc-flags
<pjb>
I wonder if the asd file can be modified to something like: (cffi-grovel:grovel-file "libgit2-types-grovel" :cc-flags "-I/…/ -L/…/")
<Bike>
nij-: there's a cc-flags documented as part of the grovel file specification. that is what i was referring to.
<Bike>
nij-: but since you don't want to have to edit every grovel file you want to load, you should probably configure your cc to look at includes you have installed, instead.
nij- has quit [Ping timeout: 260 seconds]
Lycurgus has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 256 seconds]
prokhor has joined #commonlisp
prokhor has quit [Client Quit]
prokhor has joined #commonlisp
nij- has joined #commonlisp
<nij->
Oh! The term is called cc-flags! Lemme try.
<nij->
Bike, do you mean that I have to configure cc to use certain flags globally?
<nij->
Or should I just alias cc to `cc -Iwhatever`..?
* beach
waits for the discussions to be about Common Lisp again.
<nij->
beach, CL impl and ecosystem aren't allowed here?
<nij->
discussions about*
<beach>
Maybe, but I am not interested in C, so I am waiting.
<nij->
Yeah C has been a pita.. if I can't resolve this I may have to go for python.. and which makes me sad..
<beach>
How about using Common Lisp?
<nij->
But I want to write a script that makes use of cl-git.
<nij->
which calls cffi.. :(
<nij->
and cffi-grovel.
<beach>
I am sorry to hear that.
<phoe>
legit does not use cffi, it calls the git binary
<ixelp>
GitHub - Shinmera/legit: CL interface to the GIT binary.
<nij->
There were times that I gave up on projects because of cffi-grovel. I hope not again.. otherwise I can't use CL for most part.
<beach>
Oh, legit could be a great base for a CLIM-based GIT interface.
<nij->
phoe thanks for sharing! I'm looking into that now. Does legit work by parsing the textual output of git!?
<phoe>
seems so
gnoo has left #commonlisp [#commonlisp]
<Bike>
nij-: yes. this is not a problem you will have with cffi alone. it means even if you are doing C programming you will not be able to use libraries you get from homebrew.
<nij->
Bike What do C programmers do usually?
<phoe>
they have a working C compiler and their headers
<phoe>
and cffi-grovel kinda requires the same
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
_cymew_ has joined #commonlisp
Fare has joined #commonlisp
alemmens has quit [Ping timeout: 252 seconds]
Fare has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
varjag has joined #commonlisp
cmack has joined #commonlisp
<nij->
Hmm.. legit allows init, add, commit. Good. But it doesn't seem to parse result of git-status into structures..
alemmens has joined #commonlisp
<nij->
On the other hand, cl-git uses the underlying c lib, which I think is easier in terms of obtaining structures. E.g. https://russell.github.io/cl-git/usage/repositories.html#status it tells us if the files are WORKTREE-MODIFIED IGNORED or WORKTREE-NEW
<ixelp>
Repositories — cl-git 1.3.0 documentation
<phoe>
yes, there's tradeoffs
Fare has joined #commonlisp
alemmens has quit [Ping timeout: 255 seconds]
gxt has quit [Read error: Connection reset by peer]
<beach>
nij-: That would be an excellent little project then to add the functionality to legit.
<beach>
Much easier than to battle with FFI.
<beach>
Plus, it would potentially benefit many Common Lisp users.
<Shinmera>
I am told that I am exceptionally fast at merging patches.
<beach>
Excellent!
gxt has joined #commonlisp
gxt has quit [Remote host closed the connection]
varjag has quit [Ping timeout: 255 seconds]
gxt has joined #commonlisp
rodicm has joined #commonlisp
frgo has quit [Ping timeout: 272 seconds]
<nij->
Shinmera How would you do that? By parsing such outputs into structures? https://bpa.st/QAPNG
<ixelp>
View paste QAPNG
<Shinmera>
yea. probably also want a --porcelain or whatever it's called in there
qhong has quit [Read error: Connection reset by peer]
qhong has joined #commonlisp
alemmens has quit [Ping timeout: 260 seconds]
cdegroot has quit [Ping timeout: 256 seconds]
cdegroot has joined #commonlisp
tyson2 has joined #commonlisp
_whitelogger has joined #commonlisp
<Inline>
may the beholder get blind
<Inline>
lol
alemmens has quit [Ping timeout: 256 seconds]
<Shinmera>
Fare: that's alright.
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
robin_ is now known as robin
alemmens has joined #commonlisp
waleee has joined #commonlisp
alemmens has quit [Ping timeout: 260 seconds]
McParen has left #commonlisp [#commonlisp]
gxt has quit [Ping timeout: 255 seconds]
<jeosol>
Shinmera Fare: Perhaps Fare can provide some specific feedback later "didn't like", what aspect of it, etc
gxt has joined #commonlisp
<Shinmera>
In my experience many adults, let alone kids, aren't great at formulating why they didn't like something :)
<jeosol>
Could be useful input to Shinmera
<jeosol>
Shinmera: I see, "didn't like" seem very general, there is probably some input that Fare may be able to share later with you
<jackdaniel>
"I've said - play Kandria, they've answered - it's 3am dad, go sleep"
<jeosol>
jackdaniel: haha, very nice
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
alemmens has joined #commonlisp
Lycurgus has joined #commonlisp
<Fare>
jeosol, I don't know what my kids didn't like, but my limited play with the Kandria demo had too much going in a vast universe without knowing what I was supposed to do. Maybe missing a tutorial bit explaining the things to do in smaller environments, and/or more storytelling.
alemmens has quit [Ping timeout: 246 seconds]
<Fare>
maybe the full game has solved these issues since. Or not.
gxt has quit [Remote host closed the connection]
ttree has joined #commonlisp
gxt has joined #commonlisp
<jeosol>
Fare: Thank you for sharing additional details. This should be a feedack that Shinmera could consider, or add to some list
<Shinmera>
Not really.
* jackdaniel
hears a chanting in the distnace "CONSider it! CONSider it!"
kenran has joined #commonlisp
<jeosol>
Shinmera: What I meant was, not that you'd go change it for one user, but perhaps there is a list of feedback, if you see similar concerns or related points, it could be something to consider. Of course, you are the boss here.
<jackdaniel>
like, I think the game should prohibit playing after midnight (up to 6am), to avoid dads forcing their children to play
<jackdaniel>
sleep is important at this age you know
<Shinmera>
jeosol: Not in this case.
<jeosol>
Shinmera: Thanks for clearing that up. I meant no harm or criticism by my comment.
<Shinmera>
jackdaniel: You can submit a mod :v
<jackdaniel>
also, the world should fit on 64 tiles, 8x8 like chess
<Shinmera>
jeosol: No problem.
<kenran>
Hey everyone, got another question regarding "changing running lisp programs". If I want to ship an executable that can still be "changed" at runtime, am I correct in assuming that I have to also ship some "server" facility built-in, like slynk, or is there another way?
<jackdaniel>
kenran: you may offer a dialog that accepts user input in the application
<jackdaniel>
then there is no need for a server/client
<jackdaniel>
but having a swank server is the most conventional method I suppose
tyson2 has joined #commonlisp
<jackdaniel>
there are some security concerns afair; I don't know whether they apply when you are listening only to localhost connections on a "safe" machine
<edgar-rft>
I think changing a running lisp program is usually done via a REPL, where everything you need is already builtin
Fare has quit [Ping timeout: 255 seconds]
<kenran>
jackdaniel: yeah I'd offer something like that (it's just an idea ofc)
<kenran>
I forgot that my actual question was the follow-up, sorry, a little disorganized today :) I'd like to use this while developing the program as well, so have it running while interactively changing it from my emacs. I could do that via sly directly, but I don't yet know whether that also works with long-running stuff and something like an ncurses interface. That's why I thought having a REPL be part of the program might be the/a
<kenran>
solution. Does that sound about right?
<jeosol>
When I was testing deployment options for my web app, I had swank on a port and hunchentoot on a different port. Normally, I want to reload a particular system after updating some code on server (git pull). After connecting to remote swank, I can then send reload command. It worked but sort of cumbersome
cage has quit [Quit: rcirc on GNU Emacs 28.2]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
paul0 has joined #commonlisp
<jackdaniel>
kenran: you may also include an option in the interface "enable swank"
<jackdaniel>
so you may start it on demand
<kenran>
jackdaniel: sure, it shouldn't always have to run, right. Should it be started in a separate thread, so interacting with it works smoothly?
<kenran>
oh, maybe it even has to
<jackdaniel>
I'd experiment a little and see what works best for you