Achylles has quit [Remote host closed the connection]
smazga has quit [Quit: leaving]
ebzzry has joined #lisp
LiamH has quit [Quit: Leaving.]
Oladon has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
CrazyPython has joined #lisp
refpga has joined #lisp
karlosz has joined #lisp
pfdietz has quit [Remote host closed the connection]
sjl_ has quit [Ping timeout: 265 seconds]
karlosz has quit [Client Quit]
zascrash has quit [Ping timeout: 268 seconds]
CrazyPython has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
zascrash has joined #lisp
adriano1 has joined #lisp
adriano1 has quit [Ping timeout: 272 seconds]
no-defun-allowed has joined #lisp
<no-defun-allowed>
Is it possible to load some files in a directory, load some other directory, and then load some more files in the first directory using ASDF?
ebrasca has joined #lisp
manicennui has quit [Quit: Connection closed for inactivity]
ebzzry has quit [Read error: Connection reset by peer]
<Bike>
you can't have them organized into modules and do that if that's what you meant
<no-defun-allowed>
Yeah, that's what I should have asked.
CrazyPython has quit [Read error: Connection reset by peer]
igemnace has joined #lisp
v88m has quit [Ping timeout: 240 seconds]
v88m has joined #lisp
msk_ has joined #lisp
msk has quit [Read error: Connection reset by peer]
EvW has quit [Ping timeout: 272 seconds]
wxie has joined #lisp
v88m has quit [Ping timeout: 268 seconds]
brandelune has joined #lisp
v88m has joined #lisp
brandelune has quit [Client Quit]
tahmehare has joined #lisp
bitmapper has quit [Ping timeout: 268 seconds]
tahmehare has left #lisp ["rcirc on GNU Emacs 26.1"]
wxie has quit [Quit: wxie]
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
wxie has joined #lisp
georgiePorgie has joined #lisp
zascrash has quit [Ping timeout: 268 seconds]
refpga has quit [Remote host closed the connection]
msk_ has quit [Remote host closed the connection]
msk_ has joined #lisp
ebzzry has joined #lisp
lnostdal_ has quit [Quit: "Fascism, Nazism, Communism and Socialism are only superficial variations of the same monstrous theme—collectivism." -- Ayn Rand]
zascrash has joined #lisp
shifty has joined #lisp
hsaziz has joined #lisp
theBlackDragon has quit [Ping timeout: 240 seconds]
theBlackDragon has joined #lisp
wxie has quit [Ping timeout: 252 seconds]
jeosol has joined #lisp
lavaflow has joined #lisp
lavaflow_ has quit [Ping timeout: 260 seconds]
lavaflow_ has joined #lisp
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lavaflow has quit [Ping timeout: 260 seconds]
v88m has quit [Read error: Connection reset by peer]
adriano1 has joined #lisp
adriano1 has quit [Ping timeout: 240 seconds]
igemnace has quit [Ping timeout: 268 seconds]
v88m has joined #lisp
tahmehare has joined #lisp
tahmehare has left #lisp ["rcirc on GNU Emacs 26.1"]
gnufr33d0m has joined #lisp
igemnace has joined #lisp
torbo has joined #lisp
oxum has quit [Ping timeout: 260 seconds]
milanj has quit [Quit: This computer has gone to sleep]
<beach>
Good morning everyone!
zascrash has quit [Ping timeout: 260 seconds]
EvW has joined #lisp
<Josh_2>
Morning beach
froggey has quit [Ping timeout: 265 seconds]
gabiruh has quit [Read error: No route to host]
gabiruh has joined #lisp
froggey has joined #lisp
torbo has quit [Remote host closed the connection]
zaquest has quit [Quit: Leaving]
Bike has quit [Quit: Lost terminal]
oxum has joined #lisp
zaquest has joined #lisp
asarch has joined #lisp
zascrash has joined #lisp
Tordek has quit [Ping timeout: 268 seconds]
impulse has joined #lisp
Tordek has joined #lisp
dddddd has quit [Ping timeout: 246 seconds]
EvW has quit [Ping timeout: 252 seconds]
gravicappa has joined #lisp
<ebrasca>
Morning beach Josh_2 !
vlatkoB has joined #lisp
adriano1 has joined #lisp
gnufr33d0m has quit [Remote host closed the connection]
adriano1 has quit [Ping timeout: 260 seconds]
shangul has joined #lisp
zascrash has quit [Quit: Leaving]
dale has quit [Quit: My computer has gone to sleep]
Guest52346 has joined #lisp
narimiran has joined #lisp
Guest52346 has quit [Quit: WeeChat 1.9.1]
brandelune has joined #lisp
msk_ has quit [Remote host closed the connection]
msk has joined #lisp
zdm has joined #lisp
msk has quit [Remote host closed the connection]
msk has joined #lisp
brown121407 has joined #lisp
brown121408 has quit [Ping timeout: 265 seconds]
msk has quit [Remote host closed the connection]
msk has joined #lisp
oxum has quit [Read error: Connection reset by peer]
oxum has joined #lisp
oxum has quit [Read error: Connection reset by peer]
oxum has joined #lisp
Nistur has quit [Ping timeout: 265 seconds]
shangul has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
Brite79 has joined #lisp
aeth_ has joined #lisp
Brite79 has left #lisp [#lisp]
aeth has quit [Ping timeout: 265 seconds]
shangul has joined #lisp
Oladon has quit [Quit: Leaving.]
Nistur has joined #lisp
amerlyq has joined #lisp
Posterdati has quit [Ping timeout: 265 seconds]
ebrasca has quit [Remote host closed the connection]
shangul has quit [Ping timeout: 268 seconds]
ober has quit [Remote host closed the connection]
asarch has quit [Quit: Leaving]
quazimodo has quit [Ping timeout: 265 seconds]
tahmehare has joined #lisp
quazimodo has joined #lisp
oxum has quit [Read error: Connection reset by peer]
oxum has joined #lisp
xkapastel has joined #lisp
oxum has quit [Remote host closed the connection]
gnufr33d0m has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
impulse has quit [Ping timeout: 265 seconds]
tahmehare has quit [Quit: ERC (IRC client for Emacs 26.1)]
TMA has quit [Ping timeout: 268 seconds]
brandelune has quit [Quit: This computer has gone to sleep]
frgo_ has quit [Remote host closed the connection]
jprajzne has joined #lisp
JohnMS_WORK has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
v_m_v has joined #lisp
v_m_v has quit [Ping timeout: 260 seconds]
frgo has joined #lisp
easye has quit [Remote host closed the connection]
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
easye has joined #lisp
frgo has quit [Ping timeout: 268 seconds]
shifty has quit [Ping timeout: 268 seconds]
Posterdati has joined #lisp
karlosz has quit [Quit: karlosz]
<Shinmera>
no-defun-allowed: you can still organise them in modules, but you'd have to set up the :depends-on manually, and need some tricks to be able to depend on things in the parent of a module.
<no-defun-allowed>
Hrm. Guess I'll think about it.
<no-defun-allowed>
This is probably a bad solution to a circularity problem.
<jackdaniel>
no-defun-allowed: only module names must differ, you may manually supply the path to the module directory
<jackdaniel>
so yes you can
<jackdaniel>
Bike: ASDF is OK with (:module "mod1" :pathname "src/" :components ((:file "a"))) (:module "mod2" :pathname "src/" :components ((:file "c")))
frgo has joined #lisp
<no-defun-allowed>
Righteo, I could just put in :pathname then. Thanks everyone.
jonatack has quit [Quit: jonatack]
space_otter has joined #lisp
v_m_v has joined #lisp
v_m_v has quit [Remote host closed the connection]
xkapastel has quit [Quit: Connection closed for inactivity]
hdasch has quit [Ping timeout: 260 seconds]
gnufr33d0m has quit [Remote host closed the connection]
gnufr33d0m has joined #lisp
hdasch has joined #lisp
milanj has joined #lisp
oxum has joined #lisp
xkapastel has joined #lisp
jonatack has joined #lisp
davepdotorg has joined #lisp
ebzzry has joined #lisp
aeth_ is now known as aeth
X-Scale` has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
X-Scale has quit [Ping timeout: 265 seconds]
X-Scale` is now known as X-Scale
TMA has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
gareppa has joined #lisp
v_m_v has joined #lisp
lavaflow_ is now known as lavaflow
gareppa has quit [Remote host closed the connection]
adriano1 has joined #lisp
v_m_v has quit [Ping timeout: 268 seconds]
brandelune has joined #lisp
orivej has joined #lisp
igemnace has quit [Quit: WeeChat 2.7]
<phoe>
Is it possible to have Slime open in the same window instead of always switching to another one?
<pjb>
What your asking is not making any sense.
<phoe>
If I have multiple emacs buffers open in separate windows, Slime has an annoying behaviour where if the first window is active and I `M-x slime`, then Slime opens in the second window.
<pjb>
slime doesn't open. It may create buffers such as a slime repl buffer, or a slime sldb buffer, etc. Those buffers can be displayed in windows.
<mfiano>
Window choosing is hacky in Emacs. Sly is more deterministic, but I recommend setting up purpose-mode for this.
<pjb>
No it creates a slime repl buffer, and shows it in a window.
<phoe>
Okay, let me adjust to your semantics. Can slime display whatever buffers it creates in the same window as the active one?
* phoe
reads up on purpose-mode
<mfiano>
No, it dispatches to Emacs for choosing the window.
<jdz>
phoe: pjb is being a dick, and you probably mean "frame" when you say "window".
<mfiano>
and it's more or less random
<phoe>
jdz: no, I mean "window".
<jdz>
OK
<phoe>
let me record and demonstrate.
<pjb>
it uses pop-to-buffer
<pjb>
You could customize it with display-buffer-overriding-action and/or display-buffer-alist I guess.
georgieP_ has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
<pjb>
phoe: (setf display-buffer-base-action '(display-buffer-same-window)) ; might be a little coarse…
cosimone has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
notzmv has joined #lisp
montaropdf has joined #lisp
shangul has joined #lisp
hhdave has joined #lisp
scymtym has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
msk has quit [Ping timeout: 268 seconds]
frgo has quit [Ping timeout: 268 seconds]
chrpape has quit [Remote host closed the connection]
varjag has joined #lisp
cpape` has quit [Quit: ERC (IRC client for Emacs 26.1)]
cpape has joined #lisp
random-nick has joined #lisp
Guest19180 has quit [Ping timeout: 265 seconds]
cartwright has quit [Remote host closed the connection]
madage has quit [Write error: Connection reset by peer]
zooey has quit [Read error: Connection reset by peer]
zooey has joined #lisp
gnufr33d0m has quit [Remote host closed the connection]
gnufr33d0m has joined #lisp
madage has joined #lisp
frgo has joined #lisp
TMA has quit [Ping timeout: 260 seconds]
dddddd has joined #lisp
pnp has joined #lisp
ebzzry has joined #lisp
pnp has quit [Remote host closed the connection]
jonatack has joined #lisp
space_otter has quit [Remote host closed the connection]
frgo has quit [Remote host closed the connection]
frgo_ has joined #lisp
cartwright has joined #lisp
varjag has quit [Read error: Connection reset by peer]
milanj has quit [Quit: This computer has gone to sleep]
shifty has quit [Ping timeout: 268 seconds]
shifty has joined #lisp
ljavorsk has joined #lisp
<phoe>
I am setting up a new Lisp environment, and (ql:quickload :qtools-helloworld) fails for me with "libcommonqt.so: cannot open shared object file: No such file or directory."
ljavorsk_ has joined #lisp
brown121408 has joined #lisp
brown121407 has quit [Read error: Connection reset by peer]
ljavorsk has quit [Ping timeout: 268 seconds]
Guest19180 has joined #lisp
<shinohai>
phoe: didja `(ql:register-local-projects)` before trying to load qtools ?
Guest19180 has quit [Ping timeout: 260 seconds]
<phoe>
shinohai: yes. I have nothing other than my own two projects in ~/local-projects though
<phoe>
I could try with an empty local project dir, one sec.
<phoe>
Same issue.
<shinohai>
Weird.
milanj has joined #lisp
<phoe>
Let me scrap the whole thing and reinitialize all of Roswell.
<pjb>
phoe: so are you satisfied by the solution I gave?
<phoe>
pjb: not yet. Looks like that part of slime is not easily modifiable. I'll hack on it later.
<pjb>
it works for me.
<pjb>
As I said, it's not slime, it's emacs.
<phoe>
Does it affect all buffers though?
<pjb>
More documentation reading should be in order, since there's a lot of filters and configuration to affect only what you want.
<pjb>
That said, it doesn't seem to be bad that it behaves the same for all buffers.
<phoe>
pjb: hm. Seems so. I'll try that when I run slime again
<phoe>
I'm trying to get qtools to work for the time being.
gko_ has joined #lisp
<shinohai>
It's been a long time since I fiddled with qtools, iirc correctly I had to do some LD_PRELOAD voodoo or something.
<phoe>
there's been some work to avoid doing any trickery like that
<phoe>
right now, it should Just Work™
<phoe>
(except something still doesn't, for me)
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ has joined #lisp
v_m_v has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
v_m_v has quit [Remote host closed the connection]
v_m_v has joined #lisp
Nilby has joined #lisp
v_m_v has quit [Ping timeout: 246 seconds]
bitmapper has joined #lisp
iAmDecim has joined #lisp
<iAmDecim>
hey people, how long do you think it would for someone thats worked with clojure for a few months to jump over to CL?
<Shinmera>
Depends very much on what level of proficiency you want to achieve and how fast of a learner you are.
<Shinmera>
So, somewhere between a few days and many years, I suppose.
<iAmDecim>
well clearly years....there's a bit =P
<Shinmera>
I've been using CL almost exclusively for years, and I'm still learning new stuff, so
<iAmDecim>
yeah...a given. i have a few books on hand. even though I started clojure I bought a few CL books that just seemed like that would be cool at some point. ANSI CL, PAIP and Land of Lisp
<iAmDecim>
I don't dislike clojure but i'm really beginning to see CL has many more and better resources for learning
hsaziz has quit [Quit: hsaziz]
<Shinmera>
Sure, those are all pretty good.
<Shinmera>
My favourite would be Practical Common Lisp
<Shinmera>
And then PAIP after that.
<iAmDecim>
F it...may as well tell a look. i'm interested in making a web app for fun over time. how would you compare error messages in CL?
<Shinmera>
I don't know Clojure, but I hear the debugging experience in Lisp is better.
<mfiano>
That's almost too comical to answer. Clojure has the worst stack traces and error messages I've ever seen.
<iAmDecim>
i'll give it a serious look. i already have SBCL set up and did a few hours
<Shinmera>
Great!
<iAmDecim>
mfiano: one of my frustrations. I think CL may be more fun. and the resources...that pixel pusher guys youtube..jesus
<Shinmera>
Do note that a lot of the good debugging experience is dependent on the IDE, typically Emacs with Slime, or VIM with Slimv
<iAmDecim>
emacs is god for all things in my life
<Shinmera>
Then you're all set :)
<Shinmera>
Colleen: tell iAmDecim look up hunchentoot
<Shinmera>
For simple web stuff hunchentoot works pretty well and has good introductory examples
<iAmDecim>
i've seen it. well that makes that choice easy lol
<iAmDecim>
what about...do you all have any libraries that wrap react?
<mfiano>
Also look at Clack, which lets you write server-agnostic code and switch out the server to something faster for production or whatnot.
<iAmDecim>
sold...you have a library that people are saying is better than om
<iAmDecim>
mfiano: ok i'll take a look at that as well
<mfiano>
Clojure is where it's at for JS development. You're not going to find much in CL, but we have parenscript so you could do pretty much anything yourself.
brown121408 has quit [Ping timeout: 265 seconds]
v_m_v has joined #lisp
brown121408 has joined #lisp
<iAmDecim>
mfiano: I see. I may have to stomach js =)
wxie has joined #lisp
<iAmDecim>
ok, lets see...
<mfiano>
But, I would start with PCL as Shinmera recommended. The full book is free online if you don't want to buy a physical copy and is the book most of us recommend for newcomers.
xkapastel has quit [Quit: Connection closed for inactivity]
<iAmDecim>
ok so that over ANSI CL. I'll start online and order it if I'm liking it
<mfiano>
Make sure you read it linearly though, and take time to try to examples and most certainly write the practicals yourself.
<iAmDecim>
ooh yeah...I write all code available in books after skimming
ljavorsk__ has joined #lisp
ljavorsk_ has quit [Ping timeout: 260 seconds]
<iAmDecim>
truthfully I could really go cl/cljs if I really wanted to.
<mfiano>
I'm specifically saying not to skim. There's a lot of information that is important to grasp which may not seem like so at first. The book is intended to be read from front to back.
<Josh_2>
Just write the front end in js ¯\_(ツ)_/¯
<iAmDecim>
mfiano: correction i skim away from the computer, re-read and code as i re-read. I meant to go back and correct myself but didn't want to spam the chat
<iAmDecim>
ok, i'm going to go ahead and jump in. i'm sure i'll be in here most of the day
v_m_v has quit [Remote host closed the connection]
<iAmDecim>
I read twice because I like to step away from the computer. i generaly buy both physical and ebook copies
<Shinmera>
There's also #clschool for very basic questions.
<iAmDecim>
Shinmera: ok, cool
<iAmDecim>
that's another reason why clojure started feeling funny. they migrated to slack and the conversation is just different and not as informal as it was
pjb has quit [Ping timeout: 272 seconds]
<jackdaniel>
if I'll ever create a library for js, I'll call it cl-ojure and watch the world burn
<montaropdf>
jackdaniel: ahahahahaha
<iAmDecim>
lol
lavaflow has quit [Quit: WeeChat 2.7]
v_m_v has joined #lisp
developernotes has joined #lisp
<jackdaniel>
if you are into jokes which drag too long I'm sure you'll appreciate that it will run on clozure common lisp inside the closure web browser as a cl-ojure javascript engine
v_m_v has quit [Remote host closed the connection]
v_m_v has joined #lisp
lavaflow has joined #lisp
v_m_v has quit [Remote host closed the connection]
georgieP_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bitmapper has quit [Remote host closed the connection]
v_m_v has joined #lisp
<montaropdf>
I feel my brain cells screaming in terror ;)
<beach>
Why?
bitmapper has joined #lisp
v_m_v has quit [Ping timeout: 268 seconds]
<montaropdf>
Too much entanglements for them to contemplate. *English is not my natural language so wording is not necessarily right :(*
<beach>
Is it something you are reading?
Josh_2 has quit [Remote host closed the connection]
heisig has quit [Remote host closed the connection]
EvW1 has joined #lisp
<montaropdf>
beach: What do you mean? Am I able to read what I have written? and by reading, you mean translating?
<beach>
I don't mean anything. I did not understand your second utterance, so I was guessing that your problem was interpreting something written.
wxie has quit [Ping timeout: 260 seconds]
<phoe>
beach: montaropdf likely refers to the clozure+closure+cl-ojure post by jackdaniel
<beach>
Ah.
<beach>
Makes sense.
<phoe>
I know, right
<montaropdf>
phoe: exactly, thanks for clarifying everything so easily.
lucasb has joined #lisp
<phoe>
montaropdf: I wish that all the clo[zjs]ure stuff was as clear though
<montaropdf>
phoe: well enough to get the joke and I agree that it begin to be dragging way too long at this point.
<jackdaniel>
closure browser + cl-ojure engine will be called clojsure ,) I'll stop now.
oxum has quit [Quit: Leaving...]
shifty has quit [Ping timeout: 265 seconds]
milanj has quit [Quit: This computer has gone to sleep]
milanj has joined #lisp
shifty has joined #lisp
<phoe>
we need a CL-gnome layer for convenient GTK bindings; I'll allow myself to call it clogure
* phoe
ducks
Josh_2 has joined #lisp
v_m_v has joined #lisp
Bike has joined #lisp
shifty has quit [Ping timeout: 252 seconds]
shifty has joined #lisp
georgiePorgie has joined #lisp
<p_l>
we need a full-featured UI toolkit that meshes into native environment properly :|
<beach>
Like McCLIM.
<p_l>
well, McCLIM right now doesn't mesh well with any native environment (the few where CLIM meshes well aren't supported by McCLIM) and frankly speaking, it needs some important changes in protocols to be good even after it regains ability to run outside X11 in default distribution
<beach>
I have several remarks to that. First, what you consider "native" must be a personal choice, and in that case, you can declare CLIM to be the native environment. Second, we spend so much time here debugging FFI-based GUI toolkits, that if all that energy were spent improving McCLIM, it would benefit everyone.
<montaropdf>
As you speak about McCLIM. If I am not mistaken, it is based on clx? And if I am not mistaken, again, clx still can't properly deal with accented characters or dead keys, right? So the question is why doesn't clx devs/maintainers have fixed that, what is blocking them?
<jackdaniel>
I'm sure that it will be easier to improve McCLIM than to whip out a full-featured UI toolkit in CL from scratch (i.e by diagnosing tangible problems and reporting them - even better fixing them; "important changes in protocol" is to vague for me)
<jackdaniel>
montaropdf: what is blocking us is time and motivation ,) that said, McCLIM works fine with accented characters and dead keys despite being implemented on top of clx
<beach>
montaropdf: It is not based on CLX. It just so happens that CLX is the only seriously operational backend we have at the moment. But if just a tiny fraction of the energy spent on debugging FFI-based solution here would be spent writing more backends, everyone would win.
<p_l>
beach: "meshes with native" in this case means for me it will "work with" the native environment. Doesn't mean it has to be FFI toolkit, but it probably will need a degree of FFI to interact with external environment outside of Mezzano/Movitz/etc
<montaropdf>
jackdaniel, beach: So, If StumpWM is not accepting such characters, It is up to them to fix it instead of you?
<jackdaniel>
p_l: then please propose changes to protocols, we may discuss them. requesting a feature "let's do accessibility" is not a proposal
<jackdaniel>
also, I doubt that changes to CLIM protocols would be necessary
<jackdaniel>
fact that something predates some concept doesn't mean that the older thing is not exensible enough to accomodate it
<p_l>
jackdaniel: I actually spent some time recently looking through how accessibility APIs are implemented in practice and how to mesh it with CLIM
<p_l>
which is a step forward to state of my complaint from few months ago
<beach>
I totally agree with jackdaniel that it would be much easier to improve McCLIM than the other directions that were proposed.
<jackdaniel>
yet you've raised no technical concern on tracker and you've said here that "McCLIM is not suitable"; sorry, but it is totally not convincing to me
<p_l>
Some more and I should have something concrete to point for CLIM, but I'm unsure if it would continue to be well compatible with existing CLIM applications
<p_l>
jackdaniel: feature on the tracker will be when I have enough details to make it of interest, but honestly? CLX being the only operational backend is kinda limiting me on that
<jackdaniel>
that's why proposal-discussion scheme is prefered
<jackdaniel>
clx backend is mere an implementation detail
<beach>
p_l: CLIM is a collection of layered protocols. There are provisions for adapting each protocol at each level. Such adaptation can be specific to your application.
<p_l>
as AT-SPI quite sucks to get an usable description of, and all other platforms will require different backend to integrate
<beach>
p_l: For example, we have a Emacs-Style-Application command loop that is used for Climacs.
<jackdaniel>
my point is that broadcasting "not suitable" without any concrete arguments is quite irking
<beach>
p_l: It is totally incompatible with existing CLIM applications.
<beach>
p_l: And that is not a problem.
<beach>
p_l: In fact, the CLIM specification was created to make such things possible. Possibly very unlike your "native" alternatives.
shifty has quit [Ping timeout: 272 seconds]
EvW1 has quit [Ping timeout: 245 seconds]
v_m_v has quit [Remote host closed the connection]
<beach>
p_l: If you prefer to write some Common Lisp solution from scratch, or use some FFI-based alternative, that is of course up to you. But please don't try to justify your choice by claiming that CLIM is unsuitable for this kind of stuff.
LiamH has joined #lisp
<p_l>
beach: CLIM minus painting that bypasses output records is actually a sensible start, but as-is, it's not much of an option, and McCLIM lack of backends other than CLX is extra problematic (not impossible, just pretty big issue to take care of first)
<beach>
Bigger issue that writing an entire library from scratch? I doubt it.
<p_l>
anyway, my issue was with "McCLIM as of right now"
<jackdaniel>
this is still very vague what you say. how clx limits you?
<jackdaniel>
why output records does not fit into the whole picture?
<beach>
p_l: But you seemed to suggest creating something new. How is that going to be easier?
<p_l>
jackdaniel: the opposite, output-records *only*, i.e. avoid painting without output records
<jackdaniel>
why "as-is" is not much of an option?
<jackdaniel>
well, if you use the default abstraction, that is application panes, then all output is recorded
<jackdaniel>
if you create sheets which do not do that you are in fact working with silica which was "meshed" into CLIM specification
cosimone has quit [Remote host closed the connection]
<p_l>
beach: "seemed", maybe. It was more that "this is something we need, and which McCLIM is pretty far from getting soon even compared to wrapping FFI libs". I still quite like CLIM so McCLIM getting there is somewhere on my list of priorities, that 's why I put some time into checking where and how to hook things together
<beach>
OK.
<beach>
I don't see anything that is closer to "what we need" that what McCLIM is right now, so in that case, it would be good to get more help to get there.
<p_l>
jackdaniel: CLX limits because a) interacting with interfaces other than AT-SPI will be made more problematic due to disconnect between drawing system and accessibility interface b) AT-SPI sucks when it comes to documentation
<jackdaniel>
that would be more convincing if there were issue reports or technical discussions on #clim channel
dddddd_ has joined #lisp
* jackdaniel
needs to continue packing, will check logs later
<p_l>
I did mention it earlier on #clim, though I had hard time getting through why "write special support just in your app" isn't the right solution
sunwukong has quit [Quit: Leaving]
<beach>
p_l: I see McCLIM as a collection of modules, some of which are implementations of the CLIM II spec, others that aren't.
milanj has quit [Quit: This computer has gone to sleep]
<p_l>
beach: it's just that *right now*, getting McCLIM from current state to "will run across MacOS and Windows with standard accessibility support" appears to be more effort than "figure how to bring CommonQT from Qt4 to Qt6 including writing a C++ parser to generate glue code"
<beach>
There is absolutely nothing wrong with modules that use the protocols differently, and with letting applications choose such modules. The specification was written to allow that.
m00natic has joined #lisp
<beach>
p_l: Then just go ahead and do that. There is no need to justify your choice by claiming that it is harder to do it with McCLIM.
dddddd has quit [Ping timeout: 260 seconds]
dddddd_ is now known as dddddd
<Nilby>
Something like Clouseau feels like one of the most brillant and magical pieces of software I can run, but it also seems sad, like a lost child from the past a without it's mother the Lisp Machine, and is a little disabled on McCLIM vs CLIM.
<beach>
Er, what?
jmercouris has joined #lisp
<beach>
Clouseau is just an application that uses CLIM/McCLIM.
<p_l>
it was more a reaction of pushing McCLIM as default without caveats - because there are important caveats to take before going with McCLIM *unless* you're willing to spend time working on McCLIM itself
<jmercouris>
would it be possible to use the approach of using C as a bridge to do FFI to a C++ application?
<beach>
Nilby: It is just an inspector for arbitrary Common Lisp objects. Programmable on top of that.
<Nilby>
Right, but it's a poignant demonstration of it's strengths.
<beach>
It certainly is.
<beach>
And we need more such applications.
<jmercouris>
things like Next ;-)
<p_l>
if I were to make a GUI application from scratch, with no interest in spending time to advance state of the art of open source GUI toolkits, and that allows me to make an application *for other people to use that I don't know upfront* on all major platofmrs....
<beach>
p_l: Just as there are important caveats going for an FFI-based solution *unless* you want the pain a suffering of interacting with a completely different language semantics and no GC.
<p_l>
unfortunately it would be 1) CAPI 2) CommonQT 3) that one GTK wrapper using GObject (lotsa pain starts there) 4) McCLIM
<jmercouris>
I have a lot to say on the matter, and none of those would be my choice
<beach>
p_l: You continue trying to justify your choice. Just go ahead and do what you want. I have no problem with your choice. I don't think anybody else does either.
<p_l>
beach: I believe we have a much better distributed knowledge on FFI issues :)
<jmercouris>
GObject is terrible!
<p_l>
jmercouris: it is
<jmercouris>
Actually CAPI would probably be my first choice too
<beach>
p_l: The pain and suffering I see here from trying to debug such solutions tells me otherwise.
<jmercouris>
and it got me thinking if you can call C++ from a C program, then you should be able to wrap a C++ program in C and use CL CFFI
<jmercouris>
is my thinking correct?
<beach>
Here we go again.
<p_l>
jmercouris: that's literally how all bridging of anything to C++ happens
<jmercouris>
so the answer is, yes?
<jmercouris>
OK, thank you
<jmercouris>
just wanted to confirm
<p_l>
yes, but you get to deal with C++
<jmercouris>
sure, no problem
<p_l>
which is pretty shitty case
igemnace has joined #lisp
<jmercouris>
Is that really how all bridging is done?
<jmercouris>
for example smoke does that as well?
<phoe>
nope
<jmercouris>
OK, it did seem strange to me to thinkk there would be no other way
<phoe>
AFAIK smoke doesn't bind to C++ directly, it exposes a static C interface that calls C++
<jmercouris>
so basically the same idea though
<phoe>
but there is nonetheless a layer of C between them
amerlyq has quit [Quit: amerlyq]
<jmercouris>
yay :-D
<jmercouris>
I love C
<jmercouris>
I'm joking of course, but it becomes clear to me that I'll have to become more proficient in it
<jmercouris>
it keeps showing up in my carreer over and over again
<jmercouris>
whether I like it or not
<jackdaniel>
montaropdf: yes, clx only reports events as defined in x11 protocol, so a dead key is just an event with the dead-key code inside
amerlyq has joined #lisp
<jackdaniel>
writing something on top of clx to provide input abstraction is of course possible;
<montaropdf>
jackdaniel: thanks, for the clarification, I now know whom to annoy ;)
<jackdaniel>
(as proven i.e by that McCLIM indeed handles dead keys correctly on standard-extended-input-streams)
<jackdaniel>
p_l: all I remember is that you've mentioned, that you'd want to have accessibility on McCLIM (i.e a feature request), not what should be added/ changed (i.e not a feature proposal)
<p_l>
jackdaniel: There was a bit more when I was trying to explain what kind of things that requires while trying to figure what's the state. My current knowledge on state of CLIM is much better, but I need some more time to figure certain aspects before I give a concrete proposal
<jackdaniel>
OK
brown121407 has joined #lisp
brown121408 has quit [Read error: Connection reset by peer]
amerlyq has quit [Client Quit]
<_death>
there is another way.. a Lisp interface that incidentally uses the underlying GUI library.. so instead of having a C or C++-ish low-level interface in Lisp you have a Lispy interface that is implemented in whatever
<jackdaniel>
n.b I'd agree with a statement, that McCLIM requires work to be better suited for average-joe developer -- that's why I'm investing my time in it ;)
<jackdaniel>
_death: that's basically the idea behind "backends"
Bike26 has joined #lisp
Bike has quit [Disconnected by services]
<_death>
jackdaniel: yes, CLIM is a good example.. there is a spec that defines a Lispy interface and however it's implemented is none of its concern
igemnace has quit [Remote host closed the connection]
igemnace has joined #lisp
varjag has quit [Ping timeout: 272 seconds]
mjl has quit []
mjl has joined #lisp
davsebamse has quit [Ping timeout: 265 seconds]
brandelune has quit [Quit: This computer has gone to sleep]
orivej has quit [Ping timeout: 260 seconds]
brandelune has joined #lisp
splittist has quit []
splittist has joined #lisp
brown121407 has quit [Remote host closed the connection]
davsebamse has joined #lisp
brown121407 has joined #lisp
jmercouris has quit [Remote host closed the connection]
jmercouris has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
ljavorsk__ has quit [Ping timeout: 260 seconds]
brown121407 has quit [Ping timeout: 268 seconds]
v_m_v has quit [Remote host closed the connection]
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
milanj has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
igemnace has quit [Remote host closed the connection]
georgiePorgie has joined #lisp
igemnace has joined #lisp
frgo has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 265 seconds]
v_m_v has joined #lisp
efm_ has quit [Ping timeout: 265 seconds]
v_m_v has quit [Remote host closed the connection]
efm_ has joined #lisp
v_m_v has joined #lisp
shangul has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 248 seconds]
georgiePorgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jmercouris>
let's say I have two instances of SBCL running, what are some ways I can communicate between them?
<oni-on-ion>
socket/udp ?
<Josh_2>
a nice socket
<jmercouris>
ok so if I use socket, I can do some FFI between the instances?
<beach>
jmercouris: What is your reason for having several instances?
<oni-on-ion>
uiop is probably the most portable. ive asked similar question a month ago about sandboxing and multiplayer repl
<jmercouris>
my reasoning is sandboxing memory
<jmercouris>
one of the Lisp instances will be using unsafe memory from CFFI
<jmercouris>
and I do not want it to bring down the whole image
<jmercouris>
s/image/program
<oni-on-ion>
yea..
<jmercouris>
oni-on-ion: how would you use UIOP for IPC?
<oni-on-ion>
as portable CL sockets
<jmercouris>
I'm sorry
<jmercouris>
can you please expand
<jmercouris>
I'm not understanding
<oni-on-ion>
a socket is a communication concept
<jmercouris>
what does this have to do with UIOP?
<jmercouris>
UIOP has support for sockets?
<jmercouris>
is that what you are telling me?
<phoe>
jmercouris: swank
shangul has joined #lisp
<phoe>
use swank-crew and swank-client to connect to these
<jmercouris>
I see
<jmercouris>
ah, that is interesting
<jmercouris>
thank you
<phoe>
or lfarm if you feel like distributing lparallel workload across multiple images
<phoe>
if you feel like going down to shared memory or pipes, I'd use zeromq for IPC
boeg has quit []
boeg has joined #lisp
<oni-on-ion>
*usocket . did not mean to inspire so much confusion, jmercouris .
Cymew has joined #lisp
whartung has quit [Quit: whartung]
<jmercouris>
ah, OK
<jmercouris>
that makes a lot more sense now
<phoe>
usocket is raw TCP/UDP though; swank-crew is much higher level
<jmercouris>
yeah, swank-crew sounds more appropriate for my usecase should I pursue it
<oni-on-ion>
nice
<oni-on-ion>
though not sure if connecting to one image will allow sandboxing or prevent taking down the image with cffi
frgo has joined #lisp
whartung has joined #lisp
<phoe>
sandboxing? hell no
<phoe>
swank exposes a REPL
<phoe>
if you have REPL access, you own the image
<phoe>
either that, or you reimplement swank using some limited DSL implemented in Lisp
<jmercouris>
it is not about sandboxing
<jmercouris>
it is about errant C code taking down the image
<jmercouris>
sandboxing is a loose approximation
<jmercouris>
there is no security aspect related to what I am doing though
<phoe>
> it is about errant C code taking down the image
<phoe>
wait a second
<jmercouris>
I am waiting
dddddd has quit [Ping timeout: 260 seconds]
<phoe>
you want to run a second Lisp image in order to run C code that might destroy the image
<jmercouris>
correct
<phoe>
as an error recovery mechanism
<jmercouris>
yes
<phoe>
instead of actualy fixing the C code to *not* be buggy?
<jmercouris>
that's correct
<jmercouris>
the c code is hundreds of thousands of lines long
<jmercouris>
I don't kknow if I am capable of fixing it myself
<phoe>
is it maintained?
<jmercouris>
maybe given a hundre lifetimes
<jmercouris>
it is WebKit we are talking about
<phoe>
are you using a maintained branch of WebKit?
<jmercouris>
Yes
pjb has joined #lisp
<phoe>
find bugs, send them upstream to be fixed, get bugfixes
<jmercouris>
that's a good plan
efm_ has quit [Quit: Konversation terminated!]
<phoe>
that's a way to work with monoliths like that
<phoe>
I kind of wonder what good you will get out of this architecture - it seems that you will have one process that is responsible for controlling the other process
<phoe>
but if the other goes down, I assume that most of the browser crashes anyway
<phoe>
so all you can do is try and restart it anyway
rumbler31 has quit [Ping timeout: 240 seconds]
<phoe>
I just wonder what exactly do you gain by using this architecture
<Nilby>
Both chrome and firefox do the same with themselves.
<phoe>
hm, but they have separate processes for tab rendering and such
<phoe>
so it's not just one process, it's dozens of them
<jmercouris>
maybe it is a stupid plan
<jmercouris>
perhaps I just journal and recover
<jmercouris>
I don't know
<jmercouris>
I am trying to figure out my options here
rumbler31 has joined #lisp
<phoe>
recover from *what*
<phoe>
what kind of bugs do you expect
<phoe>
what kind of bugs do you want to shield yourself with
<dlowe>
it sounds to me like you want to run the C code in another process and drive it as a service
jmercouris has quit [Remote host closed the connection]
montaropdf has quit [Quit: ERC (IRC client for Emacs 26.3)]
smazga has joined #lisp
Cymew has quit [Ping timeout: 265 seconds]
<phoe>
I get the same impression
Cymew has joined #lisp
shifty has joined #lisp
LiamH has quit [Remote host closed the connection]
LiamH has joined #lisp
LiamH has quit [Remote host closed the connection]
LiamH has joined #lisp
LiamH has quit [Remote host closed the connection]
LiamH has joined #lisp
ebrasca has joined #lisp
shifty has quit [Ping timeout: 268 seconds]
shifty has joined #lisp
fivo has joined #lisp
iAmDecim has quit [Ping timeout: 260 seconds]
brandelune has quit [Quit: This computer has gone to sleep]
Cymew has quit [Ping timeout: 265 seconds]
iAmDecim has joined #lisp
orivej has joined #lisp
iAmDecim has quit [Read error: Connection reset by peer]
<phoe>
What would be a good way to split a list into two lists that contain the odd- and even-number elements?
<phoe>
For any definition of "good".
<phoe>
(split '(a b c d e f g)) ;=> (a c e g) (b d f)
<phoe>
Oh wait, that's just PARTITION-IF #'EVENP.
<pfdietz95>
I assume that's in some semi-standard library somewhere.
<jackdaniel>
(loop for (i j) on '(a b c d e f) by #'cddr collecting i into odd collecting j into even finally (return (values odd even)))
<jackdaniel>
phoe: ^
<pfdietz95>
So your question reduces to "which library is this in, and what's it called there?"
<sjl_>
if you're talking about PARTITION-IF from quickutil, doesn't it call the predicate on the elements themselves, not their positions?
<phoe>
jackdaniel: fails for odd-numbered lists
<phoe>
sjl_: oh wait. Correct.
<jackdaniel>
phoe: that's left as an excercise for the reader
<phoe>
pfdietz95: correct, I kind of wanted to avoid writing it myself
<jackdaniel>
but wait, it is just #'split-list-odd/even
<phoe>
touché
<phoe>
(serapeum:partition (let (x) (lambda (y) (phoe-toolbox:notf x))) '(a b c d e f g)) does what I want
<phoe>
so, I guess I found it
scymtym has joined #lisp
ebzzry has quit [Ping timeout: 265 seconds]
shifty has quit [Ping timeout: 265 seconds]
<sjl_>
(defun paritition (l &aux e o p) (dolist (i l) (if p (push i o) (push i e)) (setf p (not p))) (values (nreverse e) (nreverse o)))
<jackdaniel>
hardly shorter than a loop, certainly less readable
<sjl_>
"paritition" as in "parity-partition"
v88m has quit [Ping timeout: 265 seconds]
<sjl_>
but yeah, I'd just write a little utility function rather than trying to inline some combination of existing utils
<phoe>
I'll do the same
<pfdietz95>
(iter (while l) (collect (pop l) into even) (while l) (collect (pop l) into odd) (finally (return (values even odd))))
gko_ has quit [Ping timeout: 272 seconds]
<pfdietz95>
Or use LOOP and fewer parens.
<pfdietz95>
This could be a place to use IF places, if they were a thing (they are not).
<pfdietz95>
(push (pop l) into (if (evenp i) even odd))
<pfdietz95>
Er, no into
<pfdietz95>
(push (pop l) (if (evenp i) even odd))
<pfdietz95>
But one cannot conformantly such a thing to CL:IF.
<phoe>
(serapeum:partition (alternatingly t) '(a b c d e f g))
<phoe>
should make a decent addition to CL:CONSTANTLY
davepdotorg has quit [Remote host closed the connection]
tahmehare has joined #lisp
<tahmehare>
:vs
tahmehare has left #lisp ["ERC (IRC client for Emacs 26.1)"]
varjag has joined #lisp
jmercouris has joined #lisp
jmercouris has quit [Remote host closed the connection]
igemnace_ has joined #lisp
impulse has joined #lisp
v_m_v has quit [Remote host closed the connection]
igemnace has quit [Ping timeout: 268 seconds]
Nilby has quit [Ping timeout: 245 seconds]
hhdave has quit [Quit: hhdave]
igemnace_ has quit [Remote host closed the connection]
igemnace_ has joined #lisp
rozenglass has joined #lisp
narimiran has quit [Ping timeout: 260 seconds]
zmv has joined #lisp
m00natic has quit [Remote host closed the connection]
developernotes has quit [Ping timeout: 240 seconds]
developernotes has joined #lisp
frgo has quit [Remote host closed the connection]
Guest19180 has joined #lisp
narimiran has joined #lisp
Guest19180 has quit [Ping timeout: 240 seconds]
frgo has joined #lisp
Achylles has joined #lisp
frgo has quit [Ping timeout: 260 seconds]
<pjb>
Solution with loop without libraries: (let ((l '(a b c d e f g))) (loop with s for x in l if (setf s (not s)) collect x into a else collect x into b finally (return (values a b)))) #| --> (A C E G) ; (B D F) |#
impulse has quit [Ping timeout: 272 seconds]
rixard has quit []
v_m_v has joined #lisp
chrpape has joined #lisp
Odin-FOO has joined #lisp
v_m_v has quit [Ping timeout: 240 seconds]
Guest19180 has joined #lisp
brown121407 has joined #lisp
Guest19180 has quit [Ping timeout: 240 seconds]
dddddd has joined #lisp
brown121407 has quit [Ping timeout: 268 seconds]
fivo has quit [Quit: WeeChat 2.4]
Odin-FOO has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
cosimone has joined #lisp
shifty has joined #lisp
rixard has joined #lisp
cosimone has quit [Remote host closed the connection]
add^_ has left #lisp [#lisp]
rixard has quit [Remote host closed the connection]
rixard has joined #lisp
Odin- has quit [Quit: Meep?]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
Odin- has joined #lisp
shifty has quit [Ping timeout: 268 seconds]
shifty has joined #lisp
shangul has quit [Ping timeout: 268 seconds]
gnufr33d0m has quit [Remote host closed the connection]