Personal tools


From HaskellWiki

Revision as of 08:41, 6 December 2006 by Uchchwhash (Talk | contribs)

Jump to: navigation, search


1 A proposition for hIDE (to make it a unique editor for Haskell)

WARNING! This proposal is not well thought and promotes 'artistic' (as opposed to 'pragmatic') views and may have several design limitations. Feel free to contribute as long as you allow yourself to dream.

1.1 The idea

Proxima is more like an idea of a very general IDE that has different layers for presenting, editing, and storing documents. hIDE can be a Haskell specific implementation of it. To be precise, hIDE should store Haskell in a tree structure (preferably XML) but provide enough functionality to let the programmer completely forget about this inner representation. Of course, transformers to and fro (literate) Haskell is a must.

1.2 The approach

Proxima does not advocate a top-down editor. Haskell source code do not have deep tree structure so this is desirable.

Proxima identifies the different levels of an editor as document level (my translation: raw ASCII code), enriched document level (function and type declaration boundaries), presentation level (syntax highlight), layout level (collapsing, for example), arrangement level (word wrap, margins), and finally, rendering level.

1.3 Separating presentation from representation

What if we have for all, exists, and logical implication symbols displayed, instead of their ASCII equivalents? may be Greek letters for type variables?

\mbox{sequence :: Monad }m\mbox{ }\implies\mbox{ }\forall \alpha.\mbox{ }[m\mbox{ }\alpha] \rightarrow m\mbox{ }[\alpha]

This is just a funny way of displaying the original text

sequence :: Monad m => [m a] -> m [a]

The programmer can click on the displayed image to edit the underlying text.

What if we do not display the
{- -}
but instead different colors differentiate code from comments?

Haskell source gets a WYSIWYG editor (almost like modern HTML editors).

The C-style directives can have a different color and folding.

1.4 Pros

  • Compact presentation of code
  • Faster navigation (based on the structure of the source code)
  • The document has to be parsed anyway if we want refactoring, so why not?

1.5 Cons

  • Too much work
  • The presentation must be "broken down" in order to edit it

--Pirated Dreams 17:19, 1 May 2006 (UTC)

2 Lemmih's comment on the previous (written with a flu) proposition

So you want a full Proxima style IDE?

Lemmih 16:23, 6 May 2006 (UTC)

hell yeah, man, thanks for the link. I'm checking it out. why don't you build it on top of Proxima, should be easy enough. --Pirated Dreams 12:00, 7 May 2006 (UTC)

The guy wrote a 200 page long PhD thesis on the topic, and even then, didn't solve all the problems. In my opinion, writing a great IDE isn't trivial. If you disagree, feel free to take the first step.

Lemmih 18:47, 7 May 2006 (UTC)

 :) Who wants to write a great IDE? there are too many of those already! --Pirated Dreams 08:41, 6 December 2006 (UTC)