CLIME, or, a (Mc)CLIM backend based on SLIME

Luke Gorrie <[email protected]> Thu, 29 Apr 2021 20:12:20 +0200
Newsgroups gmane.lisp.slime.devel
Message-ID <CAA2XHbdyPng+xn0MCGK4LzheUKFYmWaxhbspTYc0+EedLEVMLg@mail.gmail.com>
--0000000000005ffb4105c1207008
Content-Type: text/plain; charset="UTF-8"

Howdy!

[Resending this mail that was blocked for having a large screenshot as
attachment]

I've started hacking on a SLIME frontend ("backend") for McCLIM. It's super
early days but there's a WITH-OUTPUT-TO-EMACS macro that lets you use CLIM
drawing commands and have the final result rendered as an inline image in
the SLIME REPL.

There's lots to add e.g. a way to choose a CLIM command to execute and a
way to click on presentations to select them as arguments. Add add support
for missing shapes including text. If anyone wants to hack on this with me
that would be most welcome!

The problem this solves is being able to write and debug CLIM code from the
comfort of Emacs. It should also be suitable for writing user interfaces
that don't need really fast response times (I'm planning to use it for a
CAD drawing application in the style of KiCad.) The backend is based on SVG
under the hood so in principle it could be made browser-friendly too.

Anyway! Initial demo screenshot: https://imgur.com/a/4MdaXTb

McCLIM code @ https://github.com/nuddyco/mcclim branch clime
SLIME code @ https://github.com/nuddyco/slime branch clime

The McCLIM code currently fails to build just because it doesn't find my
ASD file. I've no idea what's wrong but it's probably something "obvious."
The workaround is to #+nil the #:mcclim-emacs dependency in mcclim.asd and
then load Backend/Emacs/emacs.lisp manually.

Cheers!
-Luke

--0000000000005ffb4105c1207008
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Howdy!<div><br></div><div>[Resending this mail that was bl=
ocked for having a large screenshot as attachment]</div><div><br></div><div=
>I&#39;ve started hacking on a SLIME frontend (&quot;backend&quot;) for McC=
LIM. It&#39;s super early days but there&#39;s a WITH-OUTPUT-TO-EMACS macro=
 that lets you use CLIM drawing commands and have the final result rendered=
 as an inline image in the SLIME REPL.</div><div><br></div><div>There&#39;s=
 lots to add e.g. a way to choose a CLIM command to execute and a way to cl=
ick on presentations to select them as arguments. Add add support for missi=
ng shapes including text. If anyone wants to hack on this with me that woul=
d be most welcome!</div><div><br></div><div>The problem this solves is bein=
g able to write and debug CLIM code from the comfort of Emacs. It should al=
so be suitable for writing user interfaces that don&#39;t need really fast =
response times (I&#39;m planning to use it for a CAD drawing application in=
 the style of KiCad.) The backend is based on SVG under the hood so in prin=
ciple it could be made browser-friendly too.</div><div><br></div><div>Anywa=
y! Initial demo screenshot:=C2=A0<a href=3D"https://imgur.com/a/4MdaXTb" ta=
rget=3D"_blank">https://imgur.com/a/4MdaXTb</a></div><div><br></div><div>Mc=
CLIM code=C2=A0@=C2=A0<a href=3D"https://github.com/nuddyco/mcclim" target=
=3D"_blank">https://github.com/nuddyco/mcclim</a>=C2=A0branch clime</div><d=
iv>SLIME code=C2=A0@=C2=A0<a href=3D"https://github.com/nuddyco/slime" targ=
et=3D"_blank">https://github.com/nuddyco/slime</a>=C2=A0branch clime</div><=
div><br></div><div>The McCLIM code currently fails to build just because it=
 doesn&#39;t find my ASD file. I&#39;ve no idea what&#39;s wrong but it&#39=
;s probably something &quot;obvious.&quot; The workaround is to #+nil the #=
:mcclim-emacs dependency in mcclim.asd and then load Backend/Emacs/emacs.li=
sp manually.</div><div><br></div><div>Cheers!</div><font color=3D"#888888">=
<div>-Luke</div><div><br></div><div><br></div></font></div>

--0000000000005ffb4105c1207008--