lisp123 has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 268 seconds]
tyson2 has quit [Remote host closed the connection]
mister_m has quit [Remote host closed the connection]
prxq_ has joined #commonlisp
prxq has quit [Ping timeout: 245 seconds]
gaqwas has quit [Ping timeout: 272 seconds]
gaqwas has joined #commonlisp
Oladon has joined #commonlisp
<beach>
Good morning everyone!
jmhimara has joined #commonlisp
hafat has quit [Remote host closed the connection]
xantoz has quit [Ping timeout: 240 seconds]
xantoz has joined #commonlisp
jmhimara has quit [Quit: Client closed]
Oladon has quit [Quit: Leaving.]
xantoz has quit [Read error: Connection reset by peer]
xantoz has joined #commonlisp
pjb has quit [Remote host closed the connection]
taiju has quit [Ping timeout: 240 seconds]
pjb has joined #commonlisp
trufas has quit [Ping timeout: 246 seconds]
trufas has joined #commonlisp
pjb has quit [Remote host closed the connection]
cjb has quit [Quit: rcirc on GNU Emacs 28.0.50]
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
cjb has joined #commonlisp
pjb has joined #commonlisp
Bike has quit [Quit: Lost terminal]
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
ecraven- is now known as ecraven
bpanthi977 has joined #commonlisp
pjb has quit [Read error: Connection reset by peer]
pjb has joined #commonlisp
lisp123 has joined #commonlisp
pve has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life_ is now known as Lord_of_Life
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
taiju has joined #commonlisp
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
scymtym has quit [Remote host closed the connection]
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
dsk has quit [Ping timeout: 240 seconds]
pjb has joined #commonlisp
cjb has quit [Quit: rcirc on GNU Emacs 28.0.50]
gaqwas has quit [Remote host closed the connection]
pjb has quit [Remote host closed the connection]
frgo has quit [Read error: Connection reset by peer]
frgo_ has joined #commonlisp
bpanthi977 has quit [Ping timeout: 245 seconds]
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
shka has joined #commonlisp
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
Inline has joined #commonlisp
hendursa1 has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
pjb has joined #commonlisp
frgo_ has quit [Read error: Connection reset by peer]
frgo has joined #commonlisp
pjb has quit [Remote host closed the connection]
pjb has joined #commonlisp
pjb has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
pjb has joined #commonlisp
frgo has quit [Read error: Connection reset by peer]
frgo_ has joined #commonlisp
bpanthi977 has joined #commonlisp
peterhil has joined #commonlisp
frgo_ has quit [Remote host closed the connection]
frgo has joined #commonlisp
cage has joined #commonlisp
terrorjack has quit [Remote host closed the connection]
terrorjack has joined #commonlisp
bpanthi977 has quit [Ping timeout: 265 seconds]
random-nick has joined #commonlisp
Xach has joined #commonlisp
waleee has joined #commonlisp
kakuhen has quit [Quit: Leaving...]
dickbar__ has joined #commonlisp
<jmercouris>
Good morning mr beach
waleee has quit [Ping timeout: 255 seconds]
tyson2 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
kpoeck has joined #commonlisp
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
makomo has joined #commonlisp
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
dickbar__ has quit []
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 276 seconds]
amb007 has joined #commonlisp
<gin>
is there a data structure to push a key-value pair into an alist where each assoc's car is the key and the cdr is a list of values? if I do (addkv "f" "foo" alist) (addkv "f" "fox" alist) (addkv "b" "bar" alist), I should get alist to be '(("f" . ("foo "fox") ("b" . ("bar")) which is really the same thing as '(("f" "foo" "fox") ("b" "bar"))?
<gin>
And if I (addkv "f" "frog" alist) to it again, I should get alist to be '(("f" . ("foo "fox" "frog") ("b" . ("bar")). and so on.
<beach>
(push value (assoc key list))
<beach>
Er, sorry
<jackdaniel>
(cdr ...)
<beach>
Yes.
<beach>
(push value (cdr (assoc key list)))
<jackdaniel>
also alexandria has a function assoc-value with setf definitions (afair)
<jackdaniel>
(push value (alexandria:assoc-value ...))
<pjb>
gin: but you need to write your own accessor to deal with the case where the key is not in the alist
<pjb>
gin: see the paste I gave you a few days ago.
<gin>
beach: but (cdr (assoc key list)) is going to be NIL when the key does not exist yet, so I need to check that and add an empty list to key before I push the value, right?
<beach>
Right, like pjb said.
<gin>
beach: so I think the idea is to just use an alist and build this little functionality myself.
<gin>
checking pjb's paste
<gin>
thanks beach, pjb
<_death>
if I choose to use an alist, very often I have it hold a list of values, even if the length of the list is 1.. this avoid annoying (a . b) syntax
<_death>
*avoids
frgo_ has joined #commonlisp
yitzi has joined #commonlisp
frgo has quit [Ping timeout: 252 seconds]
dsk has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
Lycurgus has joined #commonlisp
frgo_ has quit [Quit: Leaving...]
gaqwas has joined #commonlisp
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #commonlisp
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
bpanthi977 has joined #commonlisp
sjl has joined #commonlisp
bpanthi977 has quit [Ping timeout: 256 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
selwyn has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 276 seconds]
amb007 has joined #commonlisp
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
silasfox has joined #commonlisp
McParen has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
peterhil has quit [Ping timeout: 265 seconds]
<random-nick>
hello, I'm trying to write bindings to gtk (and possibly other gnome libraries) by using the girepository library which loads .typelib files from disk (which are a compiled version of .gir files, which are generated by parsing gobject-based library source code and special annotations)
<random-nick>
so the girepository library has a function which lets you call the introspected functions directly through it
<random-nick>
it handles the dynamic loading, finding the symbol, etc.
<random-nick>
but it also gives enough information to be used to generate bindings which have no need for girepository during runtime
<random-nick>
I think generating cffi bindings is a better approach, but I am not sure how should these bindings get generated
<random-nick>
I could make it generate the bindings using a macro, which would then mean the finished bindings would be in a compiled fasl without having to load girepository, right?
<random-nick>
but a problem with that is that a system update could update gtk and render the bindings somehow outdated
<random-nick>
so should I make it generate the bindings during load time or during macro expansion time?
bpanthi977 has joined #commonlisp
<random-nick>
there's also the option of loading girepository, asking it to load the library's typelib, querying the library's major, minor and patch version and then generating a .lisp file containing the bindings, or loading one if it already exists
akoana has joined #commonlisp
<beach>
Why do you prefer gtk to McCLIM?
<pjb>
random-nick: libraries are versionned too. So if you generate the bindings for libfoo.2.3.4.so, you won't take libfoo.2.4.1.so!
<pjb>
random-nick: in any case, when you generate a new cffi, you will have to modify your sources!
srhm has joined #commonlisp
gaqwas has quit [Read error: Connection reset by peer]
srhm has quit [Client Quit]
srhm has joined #commonlisp
<random-nick>
pjb: gtk3's first soversion number has apparently stayed 0 across its lifetime, so the incompatibilities seem to be only in behaviour and new additions
<random-nick>
also, over the lifetime of one gtk version, there don't seem to be too many incompatibilities encountered by a single program, but I don't know if that might change with gtk4
<random-nick>
beach: well, I don't really prefer gtk, but there don't seem to be any gtk bindings which are up-to-date and generated with gobject-introspection and gtk is a "native" toolkit for a good chunk of gnu/linux environments
silasfox has quit [Ping timeout: 255 seconds]
<beach>
Why is it important to use a "native" toolkit for Common Lisp applications?
<random-nick>
I've also briefly looked into the possibility of a mcclim backend for gtk, but it doesn't seem to be feasible because gtk3 is not only not intended to be used by multiple threads at the same time, but it's also not intended to be used by threads other than the one running the main loop
<beach>
That doesn't sound so great.
<beach>
But my question was not about a gtk backend for McCLIM.
<beach>
And by "that doesn't sound so great", I mean that it would make it useless for many Common Lisp GUI applications.
<beach>
No?
<random-nick>
and I don't really have an answer to your question since I don't really intend to use these gtk bindings for any serious project, and I honestly forgot why was I even looking into the gtk binding situation since it was a year ago
<beach>
OK, no problem. Just trying to understand.
silasfox has joined #commonlisp
<random-nick>
oh, also regarding threads, the intended usage of threading in C gtk applications is to do everything GUI-related in initialisation code and in event callbacks, while all other threads are worker threads and send events to the main loop using glib's apis for that (some of glib's apis are thread-safe)
<random-nick>
this doesn't work for CL since you then can't do GUI stuff from a REPL thread
<beach>
I see.
<beach>
So gtk imposes some heavy restrictions on how the application is organized.
yewscion has joined #commonlisp
recordgroovy has quit [Ping timeout: 255 seconds]
recordgroovy has joined #commonlisp
bpanthi977 has quit [Quit: bpanthi977]
McParen has left #commonlisp [#commonlisp]
ming has joined #commonlisp
yewscion has quit [Read error: Connection reset by peer]
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Read error: Connection reset by peer]
frgo_ has joined #commonlisp
nij- has joined #commonlisp
merazi has joined #commonlisp
<jackdaniel>
osx as a system has the same restriction
<jackdaniel>
it is possible to have the port run in main thread and core infrastructure will assure thread safety between frames and the pirt
<jackdaniel>
th
<jackdaniel>
there is a library with-main-threas I think
<jackdaniel>
that said all ports that require being run in the main tgread would need to cooperate
waleee has joined #commonlisp
sjl has quit [Quit: WeeChat 2.2-dev]
kpoeck has quit [Ping timeout: 246 seconds]
^[ has quit [Quit: ^[]
gaqwas has joined #commonlisp
jacek has joined #commonlisp
jacek has quit [Quit: Leaving]
merazi has quit [Quit: merazi]
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
silasfox has quit [Ping timeout: 276 seconds]
selwyn has quit [Read error: Connection reset by peer]
srhm has quit [Quit: Konversation terminated!]
srhm has joined #commonlisp
<lisp123>
I have been experimenting with org-mode, it is fantastic for lisp documentation
<lisp123>
Creates HTML docs very easily (IMO one of the best possible static site generators out there), using only emacs, and for lisp, it will ensure indenting and syntax highlighting transfer over to the html file
srhm has quit [Client Quit]
srhm has joined #commonlisp
<lisp123>
plus you get all the power of slime/paredit/any other tools you have when workign with code blocks with org
^[ has joined #commonlisp
lisp123_ has joined #commonlisp
ming has quit [Ping timeout: 240 seconds]
lisp123 has quit [Ping timeout: 265 seconds]
srhm has quit [Quit: Konversation terminated!]
yitzi has quit [Quit: Leaving]
srhm has joined #commonlisp
nij- has left #commonlisp [#commonlisp]
nij- has joined #commonlisp
<nij->
Hello! Does anyone has experience with both CLX and rofi?
<nij->
I'm trying to create a "rofi-like window" using CLX.
<nij->
By a "rofi-like window", I mean an X window that always show up on top of all of the others.
selwyn has joined #commonlisp
<_death>
what happens when there are two of those
<mfiano>
Presumably the latter is on top
<mfiano>
Which is the case when rofi is spawned after my panel with the same windowing hint applied to it
<nij->
_death: Ran `rofi -show run` in one term and `sleep 3; rofi -show run` in another. The later receives an error:
<mfiano>
I suppose this is what that BSOD thing I hear about is for.
Lycurgus has quit [Quit: Exeunt]
<jeosol>
I was writting a simple neural network (one layer, but eventually, deep ones). I had to write a lot of the matrix vector operations from scratch (I mean they are simple operations with some broadcasting) . What is the recommended CL library for matrix computations and matrix-vector operations
<nij->
bpaste is down... (process:24641): Helper-WARNING **: 13:57:08.368: Failed to set lock on pidfile: Rofi already running? (process:24641): Helper-WARNING **: 13:57:08.368: Got error: -1 Socket operation on non-socket
<_death>
remove the lock file
<nij->
I don't want to mess around with its internals xD
<nij->
I am curious how to make such a window from CLX or emacs..
<nij->
However, modeline isn't interactive. On the other hand, it seems that stumpwm uses dark magic (NOT by create-window) to create an interactive menu - the deepest thing I got is here. https://github.com/stumpwm/stumpwm/blob/a5ab063398cbea2dbfe711cacd5623b0c5779bf4/input.lisp#L424 I got lost in the abstraction and failed to see how it uses CLX to create a top-level interactive window.
sjl has joined #commonlisp
<MichaelRaskin>
There is always trace…
<jeosol>
_death: No I haven't. I will check it out
<jeosol>
Just wondering if there are folks where working with deep-learning related project but using python libraries (pytorch or tensorflow) -- With some effort we can consolidate some of the related cl libraries (clml and those from gabor melis)
dsk has quit [Ping timeout: 240 seconds]
<jeosol>
_death: thanks
<nij->
MichaelRaskin: Thanks! Im reading CLX's manual to find out. Need more familiarity with it. :)
kpoeck has joined #commonlisp
shka has quit [Ping timeout: 265 seconds]
<MichaelRaskin>
nij-: radical approacj: enumerate exported symbols from CLX, trace all of them
<jeosol>
_death: nice, thanks for the links and the updates are recent too. I will reach out to the author later
<jeosol>
*fairly recent
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<jeosol>
_death: his development is much further along. I sent him a message. Barring any licensing issues, I explore the library further once I hear back from him. Perhaps we can coalesce around a library and some development effort to it
CrashTestDummy2 has joined #commonlisp
<_death>
jeosol: cool.. personally I'm not doing "deep learning" nowadays (except for small stuff like translating swedish subtitles to english, but py4cl2 is sufficient there :) but good to keep up to date with Lisp libraries
CrashTestDummy has quit [Ping timeout: 240 seconds]
nij- has quit [Remote host closed the connection]
<jeosol>
_death: you are swedish?
<jeosol>
_death: so you call python/tensorflow/torch libraries from the cl side to do related work?
<jeosol>
It will take lots of efforts to get close to related libraries in python land. I don't think that's the goal except we get an army of developers - maybe get some of the core nets in CL. But again, people will say, if you can access the libraries from python, what's the point
<_death>
jeosol: not swedish, just watching some series.. in that case I do call python, yes.. with a library like "nlu" it's even easy
<jeosol>
_death: you are doing real time translation?
<_death>
jeosol: calling out to python would be more painful if the task were more complex
<jeosol>
that's how I use the libraries for now too, I write python, them call it from the CL side
<jeosol>
_death: yes, I agree.
<_death>
jeosol: no.. and in fact it takes a long time (minutes) to translate, since nlu uses the CPU.. but the results are pretty good
<jeosol>
tensorflow is awkward in a sense, I them learned that it was because of the underlying C++ implementation
<jeosol>
hahaha - not real time. But you are getting good results. I should look into that library
<jeosol>
The computations are expensive for sure
<_death>
it uses pyspark.. in some cases there may be a way to use the GPU, but I think it's not supported with the versions I used
pve has quit [Quit: leaving]
<_death>
and anyway, it was an inference task with an existing model, so no big deal
<jeosol>
I see. I was planning to buy a GPU at some point but hoping also it will help my related CL programs.
selwyn has joined #commonlisp
<jeosol>
that's good at least it's working for you - calling an existing model. I think that's now most of the models are used anyway
hafat has joined #commonlisp
<jeosol>
They have lots of parameters, and have been trained on larger corpus of words. Same in the vision/object recognition space
<lisp123_>
on this topic, is SBCL the best for numeric computations?
pranavats has left #commonlisp [Error from remote client]
<_death>
for trying existing models I also used OpenCV's DNN support (I wrote some opencv bindings).. there's the onnx zoo where some models are usable
<jeosol>
lisp123_: my projects are mostly computational,- sbcl gives good performance
<lisp123_>
jeosol: thanks, that's what I heard also (hence I'm sticking to SBCL currently)
<jeosol>
by computational - i mean number crunching
<_death>
and also there was some experiment using zeromq to communicate with javascript code which used some tensorflow..
<_death>
so there are many ways to utilize non-Lisp code while staying with Lisp
<jeosol>
lisp123_: you won't go wrong with that. I have only used SBCL for several years and code will probably break with CCL
<jeosol>
_death: I guess that's why most won't see the need. One can already access these libraries from CL side
<jeosol>
I remember hearing about cl-cuda library but interested to see what kind of speed up I'd get with a GPU
<jeosol>
_death: you have any metrics in this regard?
<_death>
jeosol: possibly.. I do have pure CL libraries for machine learning tasks, but they're not "deep learning" ones
<jeosol>
For now I am trying to invest time in parallel build to get my application to build fast, looking into Fare's poiu
<jeosol>
stylewarning: not sure he is here, but he does use SBCL for computational and matrix related work
<stylewarning>
it’s true
<lisp123_>
jeosol: thanks. I wish we weren't heading towards everything is tested on SBCL and may not work on other implementations
<jeosol>
I have gotten good performance with SBCL but I have not done much benchmarking with other languages
<_death>
jeosol: it depends on the task, implementation, and hardware.. it could easily go from the order of hours to minutes
<stylewarning>
lisp123_: it takes a lot of work to do high performance testing and porting to other compilers
<lisp123_>
stylewarning: I can imagine :-)
<stylewarning>
lisp123_: we ported our stuff to ccl, allegro, and ecl; no doubt they’ve bit rotted, and allegro requires a long exchange with Franz engineers and never quite resolving the problems
<jeosol>
_death: interesting ... I do simulation work (fluid mechanics + numerical differentiation) . I was running a model that took 60 minutes, a friend said he used GPU and was able to get it to 400 seconds.
<_death>
jeosol: sounds plausible.. I think in my last job I've also seen some x10 speedup for some cpu->gpu task
<jeosol>
lisp123_: yeah, I think shinmera maintains a page that shows tests with several CL libraries: I think the SBCL column is mostly green all the way down, maybe followed by CCL
<lisp123_>
stylewarning: nice :-) that's a lot of effort
<jeosol>
_death: thanks for that metric. I thought my friend was BSing me. I don't have a gpu to test
<jeosol>
shinmera: to the rescue, thanks buddy
<lisp123_>
jeosol: I do, I just also like that there is diversity since new ideas come from that - but all that said, its not like I would make that much effort to make my code portable (behind the basic stuff) so hopefully my comment isn't taken the wrong way :-)
<Shinmera>
unfortunately creating that page did not have the intended effect of pushing people to increase coverage.
<Shinmera>
Oh well.
<jeosol>
Shinmera: great work. It will be nice if they do. I see you have a column for SICL already
<jeosol>
lisp123_: I see what you mean. I think SBCL and CCL are the big free implementations. Early when I started, I once looked into Franz, but there was a timing limit and some limit what you could do. Then CMUCL, then just SBCL since.
<moon-child>
Shinmera: I see some cells are marked with an asterisk, but there's no mention of its meaning?
<Shinmera>
if you hover you'll see popups for version requirements
<Shinmera>
(either library or implementation)
<Shinmera>
if you activate the long list view with the button in the top right you can see more detailed explanations.
svillemot has joined #commonlisp
Devon has joined #commonlisp
lisp123_ has quit [Read error: Connection reset by peer]
Devon is now known as Devon7
Devon7 is now known as Devon
silasfox has quit [Ping timeout: 258 seconds]
frgo_ has quit [Remote host closed the connection]
frgo has joined #commonlisp
dsk has joined #commonlisp
Oladon has joined #commonlisp
ec has quit [Ping timeout: 244 seconds]
<Oladon>
Why does emacs highlight any function that starts with "check-" in red? Is there some convention there I don't know about?
gaqwas has quit [Ping timeout: 240 seconds]
blihp has joined #commonlisp
<aeth>
and with- in blue.
<aeth>
and define- in blue
<Oladon>
I'd consider with- to be a sortof convention
<aeth>
Those are actual conventions though, while I haven't seen any check- other than the built-in cl:check-type, though
<Oladon>
Hrm, interesting
hafat has quit [Quit: Leaving]
amb007 has quit [Ping timeout: 258 seconds]
amb007 has joined #commonlisp
zacts has joined #commonlisp
recordgroovy has quit [Ping timeout: 265 seconds]
selwyn has quit [Read error: Connection reset by peer]