Pluggable external UI for abcl-stepper

Alejandro Zamora Fonseca <[email protected]> Sat, 18 Nov 2023 13:49:34 -0300
Newsgroups gmane.editors.j.devel
Message-ID <CANfGzZwYN+MbDEC+VZ3xF+TwqO0c0+1ixTUfUMsfn6QCHsunKw__16994.8539625452$1700326247$gmane$org@mail.gmail.com>
--000000000000492b94060a700ab2
Content-Type: text/plain; charset="UTF-8"

Hi ABCL-ers :)

I just sent a PR https://github.com/armedbear/abcl/pull/635 that allows to
optionally define different UIs for the visualize and control stepping
process of abcl-stepper.

I also made an initial implementation to be used as a guide for more UI if
someone else is interested
https://gitlab.com/cl-projects/abcl-visual-stepper. This version uses HTMX
<http://htmx.org> and websockets.

The UI is not quite beautiful and it is still a work in progress allowing
syntax highlighting in the browser and other little niceties to the stepper
user. Probably someone with more UI/UX experience can make a better UI and
can do it by using the generic functions defined in the stepper code and
defining his own protocol.

I believe this idea could be also generalized for other components of the
system (inspector, debugger, REPL, etc)

Any feedback is appreciated,

Thanks

Alejandro

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

<div dir=3D"ltr">Hi ABCL-ers :)<div><br></div><div>I just sent a PR=C2=A0<a=
 href=3D"https://github.com/armedbear/abcl/pull/635" target=3D"_blank">http=
s://github.com/armedbear/abcl/pull/635</a>=C2=A0that allows to optionally d=
efine different UIs for the visualize=C2=A0and control stepping process of =
abcl-stepper.</div><div><br></div><div>I also made an initial implementatio=
n to be used as a guide for more UI if someone else is interested<span clas=
s=3D"gmail-Apple-converted-space">=C2=A0</span><a href=3D"https://gitlab.co=
m/cl-projects/abcl-visual-stepper" target=3D"_blank">https://gitlab.com/cl-=
projects/abcl-visual-stepper</a>. This version uses=C2=A0<a href=3D"http://=
htmx.org" target=3D"_blank">HTMX</a>=C2=A0and websockets.=C2=A0</div><div><=
br></div><div>The UI is not quite beautiful and it is still a work=C2=A0in =
progress allowing syntax highlighting=C2=A0in the browser and other little =
niceties to the stepper user. Probably someone with more UI/UX experience c=
an make a better UI and can do it by using=C2=A0the generic functions defin=
ed in the stepper code and defining his own protocol.</div><div><br></div><=
div>I believe this idea could be also generalized for other=C2=A0components=
 of the system (inspector, debugger, REPL, etc)</div><div><br></div><div>An=
y feedback is=C2=A0appreciated,</div><div><br></div><div>Thanks</div><font =
color=3D"#888888"><div><br></div><div>Alejandro</div></font></div>

--000000000000492b94060a700ab2--