chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re : [Chicken-users] Scheme (LISP) editing


From: minh thu
Subject: Re : [Chicken-users] Scheme (LISP) editing
Date: Fri, 2 Mar 2007 09:04:06 +0100

Thank you for the paredit reference. I wasn't really looking for any
such thing at them moment but I will try it when I get the time to
migrate from BBEdit to Emacs.

I knew about paredit (and tried to use it) but I haven't migrated from
vim to emacs yet, and I don't know if I will...

I'm not entirely sure what Minh Thu is up to but I wanted to remind
him of the enormity of the task of editor creation. Personally I
don't think a "pure" Chicken IDE is a useful goal.

At first, I don't want to write a (general purpose) editor.

I'm on the gl-display api, have a working gl-display-glx
implementation, have a working gl-font (based on freetype)
font-loading and text-printing egg.

Everything is very loose and I will release them later, when I think
it's worth to be seen (and ready for discussion (The loose aspect
would make very poor discussion)).

Now, my goal is to write 3d computer graphics code with Chicken (and C).
And more and more my goal is to write it *inside* Chicken :
I've began to write a gl-repl : it takes keyboard input, shows the
characters with gl-font, then feed the expression to Felix's eval.
It's very basic and I want it to be more practical .... and kewl.

What this means : have a 3d application in development in your window
and in the same window you have your repl in overlay. I'd like to have
more than a without-libreadline-like repl. It's OpenGL !! I want to
provide nifty escape sequences to gl-print to have nifty colors (and
more :).

I can do this. But the editor is a wish. Open a file in that OpenGL
window, edit it, feed eval with some s-exp from the file and so on.

Anyway, say I'm crazy enough to begin the task. There're options :
- text (i.e. char array) based.
- direct s-exp based. By direct, I mean the data structure is the same
s-exp that will be fed to eval.
- sxml s-exp based.

At first sight, I want to use one of the s-exp based idea. Of course,
for string editing (i.e. anything not a paren : string, numbers,
comments, ...), the first option has to be present.

- direct s-exp : no need to parse, we have READ.
- sxml s-exp : we have sxpath, sedna, ... a lot of things. We need to
specify the sxml representation for any scheme code. Even the one that
results from user-defined macro ?

With s-exp based editing, I guess especially sxml, we can make an
editor that abstracts away the directory/file organisation, but use
extension/modul/unit/define.
(My knowledge about those is very poor at the moment).

One idea : with a sxml representation, could we have a tool that see
if two procedures do (potentially) the same things ?

------

About the s-exp representation for comments.
What about (comment this is a (silly) comment\) ?
And (cmt> this comment is about the next form) (<cmt and this one
about the previous one).... without syntax highlighting, those ';' are
not necessary.

-----

Briefly :
A basic gl-repl will exist. I really want a cool a gl-edit but I don't
know how far I can go.

(And hooray for 2.6 !)
Cheers,
Vo Minh Thu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]