Code Comments
Programming Forum and web based access to our favorite programming groups.Hello Two months ago I thought that it's time for me to write mature and serious application in C. My choice was yet another Scheme-aware GTK2 editor, which will be in future (hopefully) a part of Scheme IDE based on guile. As a complete newbie in scheme world I'm asking you for some tips and advices or requests. What is essential in your work with Scheme code, what features of your current editor are most useful and what features you would like to see? I'm focusing on guile because it is big and guile main objective is to be embedded in C applications, but it lacks a good non-vi, non-emacs editor. Kamil Ignacak
Post Follow-up to this messageKamil, > Two months ago I thought that it's time for me to write mature and > serious application in C. My choice was yet another Scheme-aware GTK2 > editor, which will be in future (hopefully) a part of Scheme IDE based > on guile. > As a complete newbie in scheme world I'm asking you for some tips and > advices or requests. What is essential in your work with Scheme code, > what features of your current editor are most useful and what features > you would like to see? I think you should take a look at the following book: The Craft of Text Editing - http://www.finseth.com/craft/ This book covers the basic features of a good text editor, mainly focusing of Emacs-like editors. As far as Scheme coding is concerned, take a look at these editors/IDEs to get a feel of what Scheme programmers really care about : XEmacs: http://www.xemacs.org and it's Scheme modes (cmuscheme) DrScheme: http://www.plt-scheme.org SchemeWay: http://schemeway.sourceforge.net Cheers, Dominique Boucher SchemeWay Project http://schemeway.sourceforge.net
Post Follow-up to this messagecampbell@bloodandcoffee.net (Taylor Campbell) writes: > Why don't you write the application itself in Scheme? > Good question. FWIW, Guile has pretty good GTK2 bindings now, see http://home.gna.org/guile-gnome </plug> Cheers, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.a t http://yi.org/rotty | GnuPG Key: http://yi.org/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B6 2 Latein ist das humanoide Äquivalent zu Fortran. -- Alexander Bartolich in at.linux
Post Follow-up to this messageKamil Ignacak wrote: > Hello > > Two months ago I thought that it's time for me to write mature and > serious application in C. My choice was yet another Scheme-aware GTK2 > editor, which will be in future (hopefully) a part of Scheme IDE based > on guile. > As a complete newbie in scheme world I'm asking you for some tips and > advices or requests. What is essential in your work with Scheme code, > what features of your current editor are most useful and what features > you would like to see? It's going to be really, really hard to improve on Emacs for scheme editing. The basic scheme-mode is good, and there are some customized scheme-editing modes avalable as EL files that are even better. But, at a minimum: Autoindentation Paren Matching Paren Walking (jump to matching paren) syntax coloring (scheme has no reserved words, but assume people want to know when they're using the names of functions and syntax defined in R5RS) Jump to definition/Jump back Bear
Post Follow-up to this messageRay Dillinger <bear@sonic.net> writes: > But, at a minimum: > Autoindentation > Paren Matching > Paren Walking (jump to matching paren) > syntax coloring (scheme has no reserved words, but assume > people want to know when they're using the names > of functions and syntax defined in R5RS) > Jump to definition/Jump back I would add: S-expression-based movements - forward/backward S-expression - upward S-expression S-expression-based selection - select next/previous S-expression - select enclosing S-expression Mouse copy You move your mouse over an S-expression, press a key sequence, and the S-expression is copied at the insertion point (or replaces the selection, if any). This is a very useful feature when you don't have code completion on local variables. Interaction with an interpreter - start/restart a Scheme interpreter in a console - eval S-expression - eval top-level expression - eval selection - eval buffer (file being edited) Now let me give some advice to the OP. I think that if he wants to write a very good Scheme IDE, he should begin writing some Scheme code right now (i.e. undertake a non-trivial Scheme project first). I tried many Scheme plugins for the Eclipse environment in the past months, written by students for term projects [1]. They were not bad, but they were almost useless for serious Scheme programming. I guess the main reason is that these students were not Scheme programmers themselves. And they put lot of effort in providing some "" features like syntax coloring (and understanding the Eclipse framework...), but not on core editing features. I would immediately choose a Scheme editor that provides S-expression-based movements, selection, and (correct!) auto indentation, over one providing only syntax coloring. My 2 cents. [1] I'm not assuming that the OP is a student. But he clearly stated that he is a Scheme newbie, which is almost equivalent for me in this context. Scheme code editing is quite different from C or Java code editing. Dominique Boucher The SchemeWay Project http://schemeway.sourceforge.net
Post Follow-up to this messageRay Dillinger <bear@sonic.net> writes: > But, at a minimum: > Autoindentation > Paren Matching > Paren Walking (jump to matching paren) > syntax coloring (scheme has no reserved words, but assume > people want to know when they're using the names > of functions and syntax defined in R5RS) > Jump to definition/Jump back I would add: S-expression-based movements - forward/backward S-expression - upward S-expression S-expression-based selection - select next/previous S-expression - select enclosing S-expression Mouse copy You move your mouse over an S-expression, press a key sequence, and the S-expression is copied at the insertion point (or replaces the selection, if any). This is a very useful feature when you don't have code completion on local variables. Interaction with an interpreter - start/restart a Scheme interpreter in a console - eval S-expression - eval top-level expression - eval selection - eval buffer (file being edited) Now let me give some advice to the OP. I think that if he wants to write a very good Scheme IDE, he should begin writing some Scheme code right now (i.e. undertake a non-trivial Scheme project first). I tried many Scheme plugins for the Eclipse environment in the past months, written by students for term projects [1]. They were not bad, but they were almost useless for serious Scheme programming. I guess the main reason is that these students were not Scheme programmers themselves. And they put lot of effort in providing some "" features like syntax coloring (and understanding the Eclipse framework...), but not on core editing features. I would immediately choose a Scheme editor that provides S-expression-based movements, selection, and (correct!) auto indentation, over one providing only syntax coloring. My 2 cents. [1] I'm not saying that the OP is a student. But he clearly stated that he is a Scheme newbie, which is almost equivalent for me in this context. Scheme code editing is quite different from C or Java code editing. Dominique Boucher The SchemeWay Project http://schemeway.sourceforge.net
Post Follow-up to this messageRay Dillinger <bear@sonic.net> writes: > But, at a minimum: > Autoindentation > Paren Matching > Paren Walking (jump to matching paren) > syntax coloring (scheme has no reserved words, but assume > people want to know when they're using the names > of functions and syntax defined in R5RS) > Jump to definition/Jump back That's pretty lame. Even DrScheme has all that, and more, and it is a tenet of c.l.s religion to revile DrScheme as an editor. DrScheme even has *real* syntax coloring, not that crapola Emacs variant. Shriram
Post Follow-up to this messageShriram Krishnamurthi wrote: > ... DrScheme > even has *real* syntax coloring, not that crapola Emacs variant. > > Shriram Not knowing what `crapola' means, I was reading the helpdesk to see what DrScheme has regarding syntax-coloring that was not `crapola'. The docs say: Each Definitions window has a Check Syntax button. Clicking this button makes DrScheme analyze the program source and identify any syntax errors *without* having to run the program. (my emphasis) So, I typed the following: (let-syntax ([foo (lambda (x) (delete-file "fubar") (syntax-case x () [(_ x) #'(quote x)]))]) (foo 12)) and *without* executing the program, I pressed the "Check Syntax" button. Well, it didn't go very well as fubar got fuedbar. At that point, I realized that I like my crapola Emacs variant. Aziz,,, PS. Please take it as constructive criticism. Having implemented a syntax-case expander, I know that *real* syntax coloring and syntax-case (or even syntax-rules) don't get along very well. However, I know that PLT has brought us manythings to make scheme pleasant to learn. DrScheme's syntax-coloring nicely covers 99% of the common uses (maybe). I wish it was better than my crapola Emacs.
Post Follow-up to this messageShriram Krishnamurthi <sk@cs.brown.edu> wrote in message news:<w7dllcsouh9.fsf@cs.brown.edu >... > Ray Dillinger <bear@sonic.net> writes: > > > That's pretty lame. Even DrScheme has all that, and more, and it is a > tenet of c.l.s religion to revile DrScheme as an editor. DrScheme > even has *real* syntax coloring, not that crapola Emacs variant. > An editor that doesn't suport M-x tetris shouldn't even be called an editor. Besides, emacs is less resource-hungry than DrScheme. :-) cheers, felix
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.