Re: [racket-dev] Project Idea to port Paredit mode to DrRacket.

2013-06-09 Thread Laurent
FWIW, I like the Alt-Arrows keybindings of DrRacket for moving around
s-exp, but they can probably be improved.
For example, Alt-Up goes up one level, and Alt-Shift-Up selects from the
cursor's position to the left paren.
It would probably be better if it selected the whole surrounding s-exp.

If you haven't seen it yet, you can also activate Edit/Racket/Automatically
adjust closing parentheses.
The new behavior of the double-quotes with this is great too (and goes
slightly beyond paredit, IIUC).

Laurent


On Sat, Jun 8, 2013 at 8:36 PM, Mayank Jain firesof...@gmail.com wrote:

 Hi,

 I am participating in Lisp in Summer Project[0].  Recently I stated
 doing this course on coursera[1], and I realized that there is no
 equivalent of paredit[2] mode in DrRacket (atleast I couldn't find anything
 of that sort).

 And I was wondering if I could work on porting it. Can anyone guide me
 into what is possible? What I should be looking at etc?

 I am a noob in Clojure and have basic familiarity with Emacs.
 I love paredit[3], and I find that very crucial to using lisp dialects and
 I found it very hard to work without it in DrRacket.
 So was wondering about this idea.

 Any feedback, suggestions, criticism etc would be great.

 Thanks,
 Mayank.

 [0] : http://lispinsummerprojects.org/
 [1] : https://class.coursera.org/programdesign-001/
 [2] : https://github.com/emacsmirror/paredit
 [3] : *http://emacsrocks.com/e14.html*

 _
   Racket Developers list:
   http://lists.racket-lang.org/dev


_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Project Idea to port Paredit mode to DrRacket.

2013-06-09 Thread Asumu Takikawa
On 2013-06-09 23:25:43 +0530, Mayank Jain wrote:
 While it does autocomplete the closing paren, it does not prevent you from
 breaking the form if I accidentally delete the opening/closing paren.

This is a feature that I like a lot from paredit, because it provides
some level of confidence that I won't have silly mismatched parens.

One improvement over paredit that I'd like to see in a DrRacket port is
to handle #; comments correctly.

For the features of paredit that are already in DrRacket, it'd be nice
if the paredit plugin could just change the keybindings around so that
those of us who are used to emacs+paredit can use it without
re-training (unless this is already the case).

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] Project Idea to port Paredit mode to DrRacket.

2013-06-08 Thread Mayank Jain
Hi,

I am participating in Lisp in Summer Project[0].  Recently I stated
doing this course on coursera[1], and I realized that there is no
equivalent of paredit[2] mode in DrRacket (atleast I couldn't find anything
of that sort).

And I was wondering if I could work on porting it. Can anyone guide me into
what is possible? What I should be looking at etc?

I am a noob in Clojure and have basic familiarity with Emacs.
I love paredit[3], and I find that very crucial to using lisp dialects and
I found it very hard to work without it in DrRacket.
So was wondering about this idea.

Any feedback, suggestions, criticism etc would be great.

Thanks,
Mayank.

[0] : http://lispinsummerprojects.org/
[1] : https://class.coursera.org/programdesign-001/
[2] : https://github.com/emacsmirror/paredit
[3] : *http://emacsrocks.com/e14.html*
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Project Idea to port Paredit mode to DrRacket.

2013-06-08 Thread Neil Van Dyke
Mayank, paredit-like features for DrRacket would be good.  You might 
also want to look at some similar work from around the same time as 
paredit was created: http://cs.brown.edu/research/plt/software/divascheme/


Neil V.

_
 Racket Developers list:
 http://lists.racket-lang.org/dev


Re: [racket-dev] Project Idea to port Paredit mode to DrRacket.

2013-06-08 Thread Asumu Takikawa
On 2013-06-09 00:06:21 +0530, Mayank Jain wrote:
 I am participating in Lisp in Summer Project[0]. *Recently I stated
 doing this course on coursera[1], and I realized that there is no
 equivalent of paredit[2] mode in DrRacket (atleast I couldn't find
 anything of that sort).

That sounds like a great project idea! I just wanted to comment that if
you get this working, I would definitely use it.

 And I was wondering if I could work on porting it. Can anyone guide me
 into what is possible? What I should be looking at etc?

You will probably want to look into the main text editing interfaces in
Racket's GUI library such as editor%, text%, and racket:text%.

  http://docs.racket-lang.org/gui/editor___.html
  http://docs.racket-lang.org/gui/text_.html
  
http://docs.racket-lang.org/framework/Racket.html#%28def._%28%28lib._framework%2Fmain..rkt%29._racket~3atext~3c~25~3e%29%29

(maybe you can port paredit by replacing the emacs text buffer
 manipulation function calls with method calls into these interfaces)

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Project Idea to port Paredit mode to DrRacket.

2013-06-08 Thread Neil Van Dyke

Asumu Takikawa wrote at 06/08/2013 05:26 PM:

(maybe you can port paredit by replacing the emacs text buffer
  manipulation function calls with method calls into these interfaces)
   


If you wanted to make it even more cool... One of the original goals of 
Guile (a Scheme implementation that was once intended to be the new GNU 
language, including for Emacs) was to implement backward-compatibility 
interpreter for existing Emacs Lisp add-ons code.  If someone made a 
Racket #lang emacs-lisp that used DrRacket text buffers -- even if 
only a small subset of Emacs Lisp operations -- I think that would earn 
them some kudos, besides being a fun exercise for Racket's language 
support.  (The hardest part might be translating some of the Emacs Lisp 
dynamically-scoped variables into Racket parameters.  You don't need the 
dynamic scoping for most of them, though, but you have to decide which 
ones.)


Neil V.

_
 Racket Developers list:
 http://lists.racket-lang.org/dev