alcor has quit [Remote host closed the connection]
<beach>
Looks great! So that's part of McCLIM on ECL?
<jackdaniel>
these are clim-like operators for now, but I plan to implement some protocols on it; that's part of ECL running directly in a browser as WebAssembly module
<beach>
Yes, I see.
treflip` has quit [Ping timeout: 264 seconds]
<beach>
Maybe this question will show my ignorance, but won't this stuff make it possible to implement things like Clog differently? I don't know how Clog is implemented, hence the ignorance part.
<jackdaniel>
yes, clog requires server with running common lisp process that communicates with javascript running on the client side; while here the common lisp is also on the client side (you just serve static files)
<jackdaniel>
that said, having some "server" makes it possible to store persistent data in a database, so the use scenario is quite different
<beach>
Right, I see.
<beach>
But the JavaScript part could then be eliminated, right?
<jackdaniel>
some operators I'm using call to javscript, but yeah -- the endgame is to be able to (i.e) run unmodified clim applications
zetef has joined #commonlisp
<beach>
Got it. Thanks for explaining.
<jackdaniel>
i.e the toolkit itself will use some javascript, but the client won't need to touch it; not much different from using cffi for system api
<jackdaniel>
sure
<beach>
Yes, I understand. I am sure this will create a lot of excitement.
<jackdaniel>
I think that it will be a nice thing to point out for people who want to try common lisp
<jackdaniel>
(or to share runnable snippets of code)
<beach>
Sounds right.
<jackdaniel>
another use case would be deploying applications of course
<jackdaniel>
(for anyone to use)
<beach>
Sure.
<pranav>
jackdaniel: Thanks for working on this. Do you think CLIM on ECL web would be feasible, performance wise?
<jackdaniel>
I don't know yet. I think that if everything is done correctly (i.e we don't try to create a low-level backend, and implement higher level protocols instead), then it should work just fine
traidare has joined #commonlisp
<pranav>
I see. Thanks.
<jackdaniel>
it is also worth noting, that there are two options here: doing what I'm doing right now -- "talking" with javascript, or using nearly finished sdl2 backend (low-level thing)
traidare has quit [Client Quit]
<jackdaniel>
and there's the size thing: ecl itself is 6MB -- not much more than an average web application, but still
<jackdaniel>
perhaps this could also be optimized given enough coding, but I'm not planning to attend to that for now
<pranav>
DOM access is really cool anyway.
<jackdaniel>
thanks
traidare has joined #commonlisp
traidare has quit [Client Quit]
traidare has joined #commonlisp
traidare has quit [Client Quit]
traidare has joined #commonlisp
kurfen has quit [Ping timeout: 260 seconds]
kurfen has joined #commonlisp
treflip has joined #commonlisp
treflip has quit [Remote host closed the connection]
traidare has quit [Quit: WeeChat 4.2.2]
treflip has joined #commonlisp
danse-nr3 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danse-nr3 has quit [Ping timeout: 256 seconds]
donleo has joined #commonlisp
bollu has quit [Quit: Ping timeout (120 seconds)]
bollu has joined #commonlisp
msavoritias has joined #commonlisp
zetef has quit [Ping timeout: 268 seconds]
X-Scale has quit [Quit: Client closed]
admich1 has quit [Ping timeout: 272 seconds]
admich1 has joined #commonlisp
danse-nr3 has joined #commonlisp
King_julian has quit [Ping timeout: 268 seconds]
zetef has joined #commonlisp
traidare has joined #commonlisp
rtypo has joined #commonlisp
admich1 has quit [Remote host closed the connection]
admich1 has joined #commonlisp
treflip` has joined #commonlisp
treflip has quit [Ping timeout: 260 seconds]
treflip` has quit [Client Quit]
random-nick has joined #commonlisp
green_ has joined #commonlisp
amb007 has quit [Ping timeout: 268 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
zetef has quit [Remote host closed the connection]
amb007 has joined #commonlisp
donleo has quit [Remote host closed the connection]
dinomug has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
yitzi has quit [Remote host closed the connection]
nodata has joined #commonlisp
King_julian has quit [Ping timeout: 272 seconds]
danse-nr3 has quit [Remote host closed the connection]
traidare has quit [Ping timeout: 264 seconds]
triffid has quit [Ping timeout: 260 seconds]
triffid has joined #commonlisp
pillton has quit [Remote host closed the connection]
King_julian has joined #commonlisp
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
X-Scale has joined #commonlisp
McParen has joined #commonlisp
decweb has joined #commonlisp
yitzi has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
semarie has quit [Ping timeout: 252 seconds]
son0p has quit [Ping timeout: 256 seconds]
waleee has joined #commonlisp
semarie has joined #commonlisp
traidare has joined #commonlisp
danse-nr3 has joined #commonlisp
neano has joined #commonlisp
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
ocra8 has joined #commonlisp
josrr has joined #commonlisp
nodata has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
monospod has joined #commonlisp
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
uhuh has joined #commonlisp
admich1 has quit [Ping timeout: 255 seconds]
admich1 has joined #commonlisp
pfdietz has joined #commonlisp
King_julian has quit [Ping timeout: 264 seconds]
yitzi has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 240 seconds]
rogersm has joined #commonlisp
monospod has quit [Remote host closed the connection]
<dbotton>
<beach> in theory it will be possible to take an existing CLOG app switch one file clog-connection-websockets.lisp and your CLOG app works unmodified
<beach>
I see.
<dbotton>
if I have access to JavaScript then the entire WebSocket layer disappears
son0p has joined #commonlisp
<dbotton>
CLOG is pure lisp
<dbotton>
of course if want to save state, files, you need access to that ability
danse-nr3 has quit [Ping timeout: 256 seconds]
<beach>
I am afraid I don't know enough background to understand everything you say.
<dbotton>
Essentially it is exactly same as will be with McClim accept that CLOG uses HTML and McCLIM would use the the HTML5 Canvas
<dbotton>
CLOG is not drawn, McClim is
<beach>
So it's "pure lisp" but it generates HTML to get the browser to display it?
<dbotton>
yes
<beach>
I see.
<dbotton>
and uses JavaScript to do this dynamically
<dbotton>
not just page by page or with Ajax (partial page requests)
<dbotton>
I think jackdaniel mentioned that there would be a way to use McClim in future with native widgets
<dbotton>
if that exists then McClim in theory could do the same sort of the as CLOG does
<dbotton>
the/thing
<beach>
OK.
<dbotton>
If writing at WebApp there is little reason to use WASM
<dbotton>
unless it is a freestanding game or app that does not need a server anyways
<dbotton>
but WASM + some JS ToolKits for mobile does open up the mobile space with out need to custom program for iOS or Android
McParen has left #commonlisp [#commonlisp]
rogersm has quit [Remote host closed the connection]
<dbotton>
(oh even on Mobile it is just if no server needed, once a server needed no point with CLOG and WASM)
rogersm has joined #commonlisp
<jackdaniel>
clim protocols are not limited to "drawing"; i.e the default backend uses x11 primitives (and doesn't draw windows and their decorations)
<jackdaniel>
in fact a natural choice, if I implement the sheet protocol in wecl, would be directly manipulating dom; divs on the video above are created with something to this effect (although not real clim)
<dbotton>
The controls are not drawn by McClim?
<dbotton>
(the x version)
<jackdaniel>
content of gadget panes is drawn, but windows themselves are not
<jackdaniel>
also, the adaptive toolkit allwos for providing any element as a "realization" of a "control"
<jackdaniel>
McCLIM *
<dbotton>
So basically what I said.
<dbotton>
Sorry not so familiar with McCLIMs terminology
<jackdaniel>
McCLIM is /nothing/ on web, so it is neither drawn nor adapts native gadgets, so the difference in this case would be "CLOG is not drawn, McCLIM is not anything"
cage has joined #commonlisp
<dbotton>
CLOG could at some point in future say in it's clog-gui provide a canvas that could be used by McCLIM to draw its gadgets and decorations etc
<jackdaniel>
i.e svg backend produces xml nodes (naturally), and that would be closer to producing html than "drawing"
<dbotton>
well that would still be drawing just vector based and using a descriptive XML language for it
<jackdaniel>
it is not more drawing than <input type='checkbox'> is, but let's agree to disagree
<dbotton>
the point is that many of the current McCLIM tools could be easily adopted into CLOG apps
<dbotton>
It is matter of level of abstraction
<dbotton>
that is a descriptive layout language for "widgets/gadgets/controls"
<dbotton>
ie HTML
X-Scale has quit [Quit: Client closed]
<dbotton>
There is far more that can be done with "custom drawing" your own controls
<dbotton>
and that is not CLOGs goal at all
k_hachig has joined #commonlisp
<dbotton>
What I like is the possibility of using McCLIM gadgets in CLOG
lucasta has joined #commonlisp
<dbotton>
I am sure at some point possible to had McCLIM a target <div> and CLOG just lays it out, the rest is McCLIM terratory
<dbotton>
had/hand
<dbotton>
For that WASM is really amazing
<dbotton>
even for server based CLOG apps
<jackdaniel>
I can imagine that the biggest issue with ui controlled from the server is latency (and of course uninterrupted connection)
<dbotton>
I don't think we disagree on anything at all
<dbotton>
exactly
<jackdaniel>
well, I've disagreed on your definition of drawing
<dbotton>
ah
<dbotton>
ok
<dbotton>
I guess I see drawing ad manipulating details not compositing
<dbotton>
Modern artists would disagree with me :)
<dbotton>
ad/as
<jackdaniel>
taking the controls example, the radio choice gadget composes individual elements, (i.e it does not invoke any painting operation itself)
<jackdaniel>
it operates on output record history which is very much like dom
<dbotton>
I guess my age, in win16 and later "User Drawn Control" was the term regardless of how it was done, but accepted
rogersm has quit [Remote host closed the connection]
rogersm has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
X-Scale has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
chiselfuse has joined #commonlisp
zxcvz has joined #commonlisp
danse-nr3 has joined #commonlisp
zxcvz has quit [Client Quit]
danse-nr3 has quit [Remote host closed the connection]
<ixelp>
Debug Tools in CLOG and CLOG Builder · rabbibotton/clog · Discussion #361 · GitHub
<dbotton>
I thought this would have some general interest as these graphical tools do not require you use CLOG or you app use CLOG
johnjaye has joined #commonlisp
metsomedog has joined #commonlisp
McParen has joined #commonlisp
pve has quit [Quit: leaving]
johnjaye has quit [Ping timeout: 260 seconds]
danza has joined #commonlisp
johnjaye has joined #commonlisp
vats has quit [Ping timeout: 260 seconds]
zxcvz has joined #commonlisp
danza has quit [Ping timeout: 252 seconds]
zxcvz has quit [Quit: zxcvz]
King_julian has joined #commonlisp
dom2 has quit [Ping timeout: 268 seconds]
qhong has quit [Remote host closed the connection]
<alcor>
Is there some any shorthand for (setf (symbol-function 'curried-func) (curry #'myfunc 42)), aka for defining curried functions?
varjag has joined #commonlisp
_cymew_ has quit [Ping timeout: 256 seconds]
McParen has left #commonlisp [#commonlisp]
dom2 has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
dom2 has quit [Ping timeout: 268 seconds]
dom2 has joined #commonlisp
admich1 has quit [Ping timeout: 255 seconds]
theruran has quit [Quit: Connection closed for inactivity]
King_julian has quit [Ping timeout: 255 seconds]
cage has quit [Quit: rcirc on GNU Emacs 29.3]
_whitelogger_ has quit [Ping timeout: 260 seconds]
_whitelogger has joined #commonlisp
phadthai has joined #commonlisp
admich1 has joined #commonlisp
waleee has quit [Quit: WeeChat 4.1.2]
waleee has joined #commonlisp
son0p has quit [Quit: Leaving]
Renfield has quit [Ping timeout: 268 seconds]
shka has quit [Quit: Konversation terminated!]
ronald has quit [Ping timeout: 260 seconds]
attila_lendvai has quit [Ping timeout: 255 seconds]
son0p has joined #commonlisp
dom2 has joined #commonlisp
traidare has quit [Quit: WeeChat 4.2.2]
dino_tutter has quit [Ping timeout: 256 seconds]
metsomedog has quit [Remote host closed the connection]
ronald has joined #commonlisp
waleee has quit [Quit: WeeChat 4.1.2]
waleee has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
brokkoli_origin has quit [Ping timeout: 260 seconds]
robin has joined #commonlisp
tok has joined #commonlisp
brokkoli_origin has joined #commonlisp
fe[nl]ix has quit [Quit: Valete!]
fe[nl]ix has joined #commonlisp
synchromesh has joined #commonlisp
synchrom1 has quit [Ping timeout: 240 seconds]
neano has quit [Remote host closed the connection]
neano has joined #commonlisp
amb007 has joined #commonlisp
alcor has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 255 seconds]
shawnw has quit [Ping timeout: 260 seconds]
jon_atack has joined #commonlisp
donleo has quit [Ping timeout: 268 seconds]
jonatack has quit [Ping timeout: 272 seconds]
char has joined #commonlisp
<char>
bike: I think I might need a ctype for plist for my project. Would you be interested in having that in ctype/ext ?
<Colleen>
were asking, though
<Colleen>
char: scymtym said at 2021.10.01 09:36:09: trivial-with-current-source-form is for attaching particular source forms to errors that are signaled by macro expanders. i guess this is an improvement over attaching the whole form received by the expander and it is technically affecting conditions signaled by the compiler. i'm not sure whether that is what you