Re: [Haskell-cafe] Editor OT: streamofconciousness

2007-05-22 Thread Jules Bean

John Meacham wrote:


It is somewhat depressing that immutable pre-packaged macros[1] and the
simple brute-force inclusion of separate tools[2] into the editor are
hailed as innovation, when new innovations, whether they are simple
refinements of old ideas[3], excercises in orthoginality[4], or truely
new research[5] are left to the wayside. But such is the power of the
bullet point.

John

[1] many (but not all) refactoring features i have seen.


This is a little harsh.

The refactoring features I've seen (in Eclipse) are more than macros; 
they are semantically aware. That is, they understand the scoping and 
typing of the language and they can distinguish between 'a' in an inner 
scope and 'a' in an outer scope, so they they can do a safe rename. Then 
can also distinguish between List (the class imported from 
my.cool.package) and List (the class imported from java.main.package) 
and do a safe multi-file rename so you have a true 'atomic' class 
renaming ability.


These things go well beyond syntactic macros. It is often stated that 
Java has such powerful IDEs because it's such a tedious language to edit 
without them, and I have some sympathy for that line of argument, but I 
would love to have local definition floating and project-global rename 
and so on in my haskell editor. I know people are working on this stuff.


Jules


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-22 Thread Paul Drummond

On 5/21/07, Michael T. Richter [EMAIL PROTECTED] wrote:


Code like makeRandomValueST :: StdGen - (MyType, StdGen) (which,
incidentally, was far easier to copy from in Gedit than GVim to paste into
this message) ...



Really?

To copy that line of code in vim you could do:

v%y

assuming the cursor is in the right place (at the start of the code) and if
it isn't it's easy in vim to get it there!

Of course, in Windows you must have guioptions=a in your config so that
all yanks go directly to the Windows clipboard (which should really be in
there by default but it isn't).

Vim is extremely powerful, but I understand that the steep learning curve is
a problem for many.  As a developer, I would recommend taking the time to
learn advanced features of any editor (whether emacs, vim, or whatever).  I
presume most developers on this list use regular expressions to navigate
their code despite the relatively steep learning curve, correct?

BTW:  Hello everyone - first post!  I planned to wait to introduce myself as
a Haskell newbie when I came up with my few questions but as a Vim lover I
couldn't resist posting about this!

Paul.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor OT: streamofconciousness

2007-05-22 Thread Chaddaï Fouché

While I strongly disagree with you on the fact that refactoring is
just big macros (well it is, simply they're macros which operate more
on structured code than on structured text, ie they're aware of the
semantic of the language on which they're operating, and I don't know
you but I don't code macro like that in less than a few days/weeks
(/months ?)... Let's say _really_ big macros and settle at that), I
thank you for introducing me to acme. It seems really interesting, and
with the acme-sac project I can use it on my OS.
So thanks.

(Oh and if you saw things your coworker called refactoring and you
would have done as well with a one-line macro in emacs (or even a
standard command), it's just that you're right to consider
refactoring as a buzzword, but it's not only that)

--
Jedaï
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Editor

2007-05-21 Thread Michael T. Richter
I have a dream.  It's not a little dream.  It's a big dream.  I have a
dream that someday I can find a UNIX/Linux text editor for Haskell
hacking (and possibly two or three hundred other programming languages,
although that's optional) that can give me all of the following:


 1. A real GUI environment that takes into account some of the HID
advances made in the past 30 years.  (Emacs and Vim don't count,
in other words.)
 2. Good quality syntax highlighting for Haskell that includes all
of the usual syntax highlighting goodies, plus:

  * the ability to seamlessly handle raw Haskell and both
common forms of Literate Haskell;
  * the ability to properly highlight Haddock comments;
  * the ability to highlight functions and types from
libraries (user-expandable) differently from local
functions and types.

 3. Line folding to hide and show blocks of code.
 4. Code completion (user-expandable, ideally) for common library
functions, type declarations, etc.
 5. Easy, quick access to online documentation for said functions
and declarations.
 6. Good (ideally scriptable) access to external utilities for
compilation, debugging, profiling, type inference, project
management, etc.
 7. A good plug-in system (ideally written in Haskell?) for
expansion.


Is there such a beast available out there somewhere?  If not, is such a
beast lurking in the background ready to pounce in the near future?
-- 
Michael T. Richter [EMAIL PROTECTED] (GoogleTalk:
[EMAIL PROTECTED])
I have to wonder why people think that when they can't manage local
personnel within easy strangling and shooting distance, then they can
manage personnel thousands of miles away that have different languages,
cultures, and business rules. (Joe Celko)


signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Jules Bean

Michael T. Richter wrote:
I have a dream.  It's not a little dream.  It's a big dream.  I have a 
dream that someday I can find a UNIX/Linux text editor for Haskell 
hacking (and possibly two or three hundred other programming languages, 
although that's optional) that can give me all of the following:


   1. A real GUI environment that takes into account some of the HID
  advances made in the past 30 years.  (Emacs and Vim don't count,
  in other words.)



That particular part is trolling. Both emacs and vim take into account 
many of the HID advances made in the past 30 years. You're going to have 
to be more explicit about what you find unacceptable about them to get 
useful answers, in my opinion.


I can't speak for vim, but emacs certainly satisfies 2.3, 2.4, 3, 4, 5, 
6, and 7.  (I'm not sure if 5 is 100% out-of-the-box but it would be 
very easy to sort it out if not).


2.5 I'd not really thought about before as an interesting requirement. 
Could be useful.




   2. Good quality syntax highlighting for Haskell that includes all of
  the usual syntax highlighting goodies, plus:

   3. the ability to seamlessly handle raw Haskell and both common
  forms of Literate Haskell;
   4. the ability to properly highlight Haddock comments;
   5. the ability to highlight functions and types from libraries
  (user-expandable) differently from local functions and types. 


   3. Line folding to hide and show blocks of code.
   4. Code completion (user-expandable, ideally) for common library
  functions, type declarations, etc.
   5. Easy, quick access to online documentation for said functions and
  declarations.
   6. Good (ideally scriptable) access to external utilities for
  compilation, debugging, profiling, type inference, project
  management, etc.
   7. A good plug-in system (ideally written in Haskell?) for expansion. 



Is there such a beast available out there somewhere?  If not, is such a 
beast lurking in the background ready to pounce in the near future?

--
*Michael T. Richter* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] (*GoogleTalk:* [EMAIL PROTECTED])
/I have to wonder why people think that when they can't manage local 
personnel within easy strangling and shooting distance, then they can 
manage personnel thousands of miles away that have different languages, 
cultures, and business rules. (Joe Celko)/





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Michael T. Richter
On Mon, 2007-21-05 at 11:47 +0100, Jules Bean wrote:

 Michael T. Richter wrote:
 1. A real GUI environment that takes into account some of the HID
advances made in the past 30 years.  (Emacs and Vim don't count,
in other words.)



 That particular part is trolling. Both emacs and vim take into account 
 many of the HID advances made in the past 30 years. You're going to have 
 to be more explicit about what you find unacceptable about them to get 
 useful answers, in my opinion.


Vim is eliminated before it reaches the gate because it's a modal
editor.  Even with GVim in place, it still has that modal stench to it
that leaps up and bites at awkward moments.  And HID advances (the modal
issue aside)?  Go to an underpowered little editor like Gedit (what I
use currently for raw Haskell, but which sadly isn't applicable to .lhs
files of either stripe) and adjust your editing preferences.  It's not a
particularly good programmer's editor, but look at the lovely tabbed
dialog box with all those lovely HID bits like checkboxes, radio
buttons, spin buttons, dropdown lists, lists, etc.  Now do the same in
GVim and get ... a text file with some editing tricks to make things
slightly easier.  (It's not immediately obvious how to get rid of it
either.)  Where is the accounting for HID advances there?  (Raw Vim is
even worse.)  

Hell, even comparing the out-of-the-box syntax highlighting support in
Gedit vs. (G)Vim is instructive.  Code like makeRandomValueST :: StdGen
- (MyType, StdGen) (which, incidentally, was far easier to copy from
in Gedit than GVim to paste into this message) only differentiates ::
and - from the text and delimiters in GVim while in Gedit (keeping in
mind that Gedit isn't a very good editor!) differentiates those plus
makeRandomValueST vs. StdGen and MyType.  And the parentheses.

(G)Vim is losing to freakin' GEDIT here!  The Notepad of the GNOME
world.

Emacs is its own set of nightmares.  I'm not even going to start going
down the path of that particular holy war (and bucky-bit Hell).  I'll
acknowledge freely that it's an incredibly powerful programming
environment.  It just really doesn't play well with others at almost any
level and quite definitely doesn't have anything resembling modern HID
thought behind it.  (To be fair to it, it does predate most modern HID
work by a couple of decades.)

-- 
Michael T. Richter [EMAIL PROTECTED] (GoogleTalk:
[EMAIL PROTECTED])
All really first class designers are both artists, engineers, and men of
a powerful and intolerant temper, quick to resist the least modification
of the plans, energetic in fighting the least infringement upon what
they regard as their own sphere of action. (Nevil Shute)


signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Rodrigo Queiro

My friend read your email and remarked:
How is this guy not embarrassed posting on the internet about not liking
vim because he doesn't like editing config files?

On 21/05/07, Michael T. Richter [EMAIL PROTECTED] wrote:


 On Mon, 2007-21-05 at 11:47 +0100, Jules Bean wrote:

Michael T. Richter wrote:1. A real GUI environment that takes into account some 
of the HID   advances made in the past 30 years.  (Emacs and Vim don't 
count,   in other words.)


 That particular part is trolling. Both emacs and vim take into account many of 
the HID advances made in the past 30 years. You're going to have to be more 
explicit about what you find unacceptable about them to get useful answers, in 
my opinion.


Vim is eliminated before it reaches the gate because it's a modal editor.
Even with GVim in place, it still has that modal stench to it that leaps up
and bites at awkward moments.  And HID advances (the modal issue aside)?  Go
to an underpowered little editor like Gedit (what I use currently for raw
Haskell, but which sadly isn't applicable to .lhs files of either stripe)
and adjust your editing preferences.  It's not a particularly good
programmer's editor, but look at the lovely tabbed dialog box with all those
lovely HID bits like checkboxes, radio buttons, spin buttons, dropdown
lists, lists, etc.  Now do the same in GVim and get ... a text file with
some editing tricks to make things slightly easier.  (It's not immediately
obvious how to get rid of it either.)  Where is the accounting for HID
advances there?  (Raw Vim is even worse.)

Hell, even comparing the out-of-the-box syntax highlighting support in
Gedit vs. (G)Vim is instructive.  Code like makeRandomValueST :: StdGen -
(MyType, StdGen) (which, incidentally, was far easier to copy from in Gedit
than GVim to paste into this message) only differentiates :: and - from
the text and delimiters in GVim while in Gedit (keeping in mind that Gedit
isn't a very good editor!) differentiates those *plus* makeRandomValueST
vs. StdGen and MyType.  And the parentheses.

(G)Vim is losing to freakin' GEDIT here!  The Notepad of the GNOME world.

Emacs is its own set of nightmares.  I'm not even going to start going
down the path of that particular holy war (and bucky-bit Hell).  I'll
acknowledge freely that it's an incredibly powerful programming
environment.  It just really doesn't play well with others at almost any
level and quite definitely doesn't have anything resembling modern HID
thought behind it.  (To be fair to it, it does predate most modern HID work
by a couple of decades.)

  --
*Michael T. Richter* [EMAIL PROTECTED] (*GoogleTalk:*
[EMAIL PROTECTED])
*All really first class designers are both artists, engineers, and men of
a powerful and intolerant temper, quick to resist the least modification of
the plans, energetic in fighting the least infringement upon what they
regard as their own sphere of action. (Nevil Shute)*

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Thomas Davie


On 21 May 2007, at 13:04, Rodrigo Queiro wrote:


My friend read your email and remarked:
How is this guy not embarrassed posting on the internet about not  
liking vim because he doesn't like editing config files?


Two points
1)  This guy doesn't like editing config files -- that's his  
preference.  He's stated he doesn't like either of vim or emacs, and  
whether you agree or not, you maybe should respect that and try to be  
useful and answer his question.
2) Believe it or not, a computer is a tool, it's there to get things  
done in the fastest and easiest way possible -- I should be able to  
edit my preferences in three clicks of a mouse button, rather than  
opening the preferences, finding the right place to edit (possibly  
looking up the manual to find the relevant things to insert in the  
config), typing a load in, and then having my preferences edited!


Yes, I really do think that's an advantage, and no, I don't think  
snarky comments about not liking editing config files are either  
relevant or useful.


Bob

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Michael T. Richter
On Mon, 2007-21-05 at 13:04 +0100, Rodrigo Queiro wrote:

 My friend read your email and remarked:
 How is this guy not embarrassed posting on the internet about not
 liking vim because he doesn't like editing config files?


Because, unlike your friend, I actually have seen the advances in HID
over the past 30 years.  Editing text files is not the be-all/end-all of
user interfaces.  Indeed there is astonishingly high volumes of evidence
showing that it's a pretty miserable user interface -- a misery
amplified by the fact that every two-bit program has its own entirely
unique syntax (usually broken in many exciting ways!) full of cryptic
commands and settings.  Don't believe it?  Go to your home directory and
compare all the .files you find.  You really think it's a good thing
to maintain each of those manually?

Oh, and of course it wasn't just the config files I showed problems
with, now, was it?  I seem to remember something about modality and bad
syntax highlighting.  Maybe I was tripping.  It happens.

For your friend's reference, here's a good outline of what principles
underlie HID: http://www.asktog.com/basics/firstPrinciples.html.  For
even more modern outlooks, I'm sure a quick search at Amazon.com (or his
bookseller of choice) can give him other ideas.

So am I embarrassed for asking for something resembling a 21st-century
user interface instead of a 1970s vintage one?  Not in the slightest.

-- 
Michael T. Richter [EMAIL PROTECTED] (GoogleTalk:
[EMAIL PROTECTED])
It's OK to figure out murder mysteries, but you shouldn't need to figure
out code. You should be able to read it. (Steve McConnell)


signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Alex Queiroz

Hallo,

On 5/21/07, Michael T. Richter [EMAIL PROTECTED] wrote:


 Oh, and of course it wasn't just the config files I showed problems with, now, 
was it?  I seem to remember something about modality and bad syntax 
highlighting.  Maybe I was tripping.  It happens.



   You may not like modality, it's entirely within your rights, but
it is *not* a problem. Fortunately it's still there for the millions
of us who like it.

--
-alex
http://www.ventonegro.org/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Thomas Schilling

Your rant accomplishes nothing.  Just note that programmers can
generally be considered more open towards harder-to-learn but
eventually more efficient to use interfaces.  Yes, to a large part
they lack visibility, consistency, integration, or other such
properties; then again, once you learn to use them you're so much more
efficient than before.  And you loose the incentive to improve things.

So instead of insulting people and complaining that nothing fits your
needs you have at least two options:

1. Implement it.  Of course, this is a _major_ effort and many many
things are completely unsolved research issues.

2. Take what's there, learn to use it.  Yes, it will lack so many
things but one way or another you'll eventually get things done.

On 5/21/07, Michael T. Richter [EMAIL PROTECTED] wrote:


 On Mon, 2007-21-05 at 13:04 +0100, Rodrigo Queiro wrote:

 My friend read your email and remarked:
 How is this guy not embarrassed posting on the internet about not liking vim 
because he doesn't like editing config files?

 Because, unlike your friend, I actually have seen the advances in HID over the past 
30 years.  Editing text files is not the be-all/end-all of user interfaces.  Indeed 
there is astonishingly high volumes of evidence showing that it's a pretty miserable 
user interface -- a misery amplified by the fact that every two-bit program has its 
own entirely unique syntax (usually broken in many exciting ways!) full of cryptic 
commands and settings.  Don't believe it?  Go to your home directory and compare all 
the .files you find.  You really think it's a good thing to maintain each of 
those manually?

 Oh, and of course it wasn't just the config files I showed problems with, now, 
was it?  I seem to remember something about modality and bad syntax 
highlighting.  Maybe I was tripping.  It happens.

 For your friend's reference, here's a good outline of what principles underlie 
HID: http://www.asktog.com/basics/firstPrinciples.html.  For even more modern 
outlooks, I'm sure a quick search at Amazon.com (or his bookseller of choice) 
can give him other ideas.

 So am I embarrassed for asking for something resembling a 21st-century user 
interface instead of a 1970s vintage one?  Not in the slightest.


  --
 Michael T. Richter [EMAIL PROTECTED] (GoogleTalk: [EMAIL PROTECTED])
 It's OK to figure out murder mysteries, but you shouldn't need to figure out 
code. You should be able to read it. (Steve McConnell)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe







--
Remember! Everytime you say 'Web 2.0' God kills a startup! -
userfriendly.org, Jul 31, 2006
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Claus Reinke

I have a dream.  It's not a little dream.  It's a big dream.  I have a
dream that someday I can find a UNIX/Linux text editor for Haskell
hacking (and possibly two or three hundred other programming languages,
although that's optional) that can give me all of the following:


'find / -type dream | xargs rm' is not a good way to go about that
that search, is it?-) by excluding the editors that fullfill most of your
criteria, without any good reason, you're guaranteed to come up
empty. i have a dream that there is an answer to life the universe
and everything, and it isn't 42?

you might not like the answer most people give, but there is a reason
why that answer is so popular. of course, just because it is one valid
answer, it need not be the right answer for you. you just need to be
specific about why that particular answer doesn't suit you.


1. A real GUI environment that takes into account some of the HID
   advances made in the past 30 years.  (Emacs and Vim don't count,
   in other words.)


be specific, please! emacs and vim are often the first to integrate
and experiment with whatever new ideas come into view (some even
originated there). only few of those experiments find enough followers
to make it into the main distributions, though. whatever it is you're
missing, if you can't even name it, it can't be good enough reason to
discard either emacs or vim).

in my experience, most people complain about vim or emacs because
they aren't aware of what these can do. it is not just that there is so much
functionality and variation available that one has to invest time to learn
even parts of that, one new feature a day. it is that much of what people
don't like is deliberately not fixed, but configurable.

some people don't like the complexity of emacs interactions, and
prefer vim's brief and efficient modeskey-strokes, some don't like
vim modes and prefer emacs-style commands, some prefer plain
text, some prefer gui, some ... you might prefer either vim or emacs,
but you shouldn't complain about anything that you can configure
yourself (such as modes vs long commands, gui vs text, os-style
or vim-style copypaste, colours and specifics of syntax highlighting,
available menus, and so on).

vim has a good integrated manual, and tutorials, but if i want that
much functionality, i have to learn about it, and spend a lot of time
in that documentation. the more my personal needs deviate from
default settings, the more i have to learn and configure; the more
specific functionality i need the more i have to delve into the details
of what is available. if i don't want to learn how to use such powers,
i have to make do with a less powerful, out-of-the-box environment.

some people are happy with textpad, but i know nobody who has
studied all of current vim or emacs. most users start out with the
textpad equivalent of functionality in vim or emacs, then add to their
knowledge and toolbox as and when they need to do so.

looking at your requirements, for vim, to the extent i know it:


2. Good quality syntax highlighting for Haskell that includes all
   of the usual syntax highlighting goodies, plus:


yes


 * the ability to seamlessly handle raw Haskell and both
   common forms of Literate Haskell;


i stopped using literate haskell long ago, so i can't really say.

(i always wanted literate haskell _sessions_, not programs, with
definitions, redefinitions, evaluations, explanations, but all with a
quite different structure than is useful for the programs being
explored/described in such a session)


 * the ability to properly highlight Haddock comments;


seem to be highlighted only as comments, by default, but you could
change that, if you really wanted to. if the change looks useful, it
should make it into the next vim release - that's how the current haskell
highlighting got there and keeps developing.


 * the ability to highlight functions and types from
   libraries (user-expandable) differently from local
   functions and types.


that sounds potentially useful, and some of the information is
available (my vim settings have tables of local and library definitions
for completion). however, vim doesn't know about haskell scopes,
so the easiest solution would be unaware of renaming/hiding/etc.


3. Line folding to hide and show blocks of code.


yes, along with other folding modes


4. Code completion (user-expandable, ideally) for common library
   functions, type declarations, etc.


several completions, including two user-expandable ones. in my setup,
completion can be based on source, tag files, haddock indices, ghci
:browse,..


5. Easy, quick access to online documentation for said functions
   and declarations.


yes. open your favourite browser on the haddocks for the id under cursor.


6. Good (ideally scriptable) access to external utilities for
   compilation, debugging, profiling, 

Re: [Haskell-cafe] Editor

2007-05-21 Thread Rodrigo Queiro

With a slightly less flippant response, have you ever tried TextMate? I
haven't, but I've heard many wax lyrical about its combination of the UNIXy
power of Vim et al with the intuitive and simple UI that OS X has a
reputation for. Unfortunately, it's not free and is only for Mac OS X, but
it seems that it was created by someone who shared your dream (although a
less Haskell-centric version, no doubt).

On 21/05/07, Michael T. Richter [EMAIL PROTECTED] wrote:


 I have a dream.  It's not a little dream.  It's a big dream.  I have a
dream that someday I can find a UNIX/Linux text editor for Haskell hacking
(and possibly two or three hundred other programming languages, although
that's optional) that can give me all of the following:


   1. A real GUI environment that takes into account some of the HID
   advances made in the past 30 years.  (Emacs and Vim don't count, in other
   words.)
   2. Good quality syntax highlighting for Haskell that includes all of
   the usual syntax highlighting goodies, plus:

   3. the ability to seamlessly handle raw Haskell and both common
   forms of Literate Haskell;
   4. the ability to properly highlight Haddock comments;
   5. the ability to highlight functions and types from libraries
   (user-expandable) differently from local functions and types.

   6. Line folding to hide and show blocks of code.
   7. Code completion (user-expandable, ideally) for common library
   functions, type declarations, etc.
   8. Easy, quick access to online documentation for said functions and
   declarations.
   9. Good (ideally scriptable) access to external utilities for
   compilation, debugging, profiling, type inference, project management, etc.
   10. A good plug-in system (ideally written in Haskell?) for
   expansion.


Is there such a beast available out there somewhere?  If not, is such a
beast lurking in the background ready to pounce in the near future?
  --
*Michael T. Richter* [EMAIL PROTECTED] (*GoogleTalk:*
[EMAIL PROTECTED])
*I have to wonder why people think that when they can't manage local
personnel within easy strangling and shooting distance, then they can manage
personnel thousands of miles away that have different languages, cultures,
and business rules. (Joe Celko)*

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Michael T. Richter
On Mon, 2007-21-05 at 13:41 +0100, Neil Mitchell wrote:

 Michael is asking is there something more GUI like? - to
 which the answer is yes - Visual Haskell -


Sadly what I was asking was is there anything more GUI like for
Linux.  ;)  It doesn't surprise me that Macs and Windows boxes have
something like what I'm looking for.  Usability testing isn't alien to
those platforms' mindsets.  Unfortunately Macs are basically unavailable
where I live.  (I guess I could travel 24 hours round-trip to the
nearest Apple store I know of and pay five months' spending money for a
MacBook, not to mention the ticket prices, but that's not going to
happen, I'm afraid.)  And Windows as a platform lacks certain features I
like (including stability, security and an absence of Trusted
Computing) that made me turn away from it in the first place.  It's one
of those trade-off situations, but sometimes I really wish this
particular trade-off weren't necessary.

-- 
Michael T. Richter [EMAIL PROTECTED] (GoogleTalk:
[EMAIL PROTECTED])
Theory is knowledge that doesn't work. Practice is when everything works
and you don't know why. (Hermann Hesse)
attachment: smiley-4.png

signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] Editor

2007-05-21 Thread Bayley, Alistair
 1.A real GUI
 2.Good quality syntax highlighting for Haskell..., plus: 
   3.  raw Haskell both forms of Literate Haskell; 
   4.  properly highlight Haddock comments; 
   5.  highlight functions and types from libraries differently
from local 
 3.Line folding to hide and show blocks of code.
 4.Code completion
 5.Easy, quick access to online documentation 
 6.access to external utilities for compilation, debugging,
profiling, type inference, 
 project management, etc. 
 7.A good plug-in system

Having dismissed Visual Haskell for being Windows-only, have you
considered EclipseFP? It doesn't tick all of your boxes, but maybe it
goes far enough in the right direction. AFAICT it fulfills 1, 2.3, 2.5
(but I'm not sure about this), 3, 6, and 7 (ish - plugins would be
written in Java).

Alistair
*
Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.
*
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Arthur van Leeuwen


On 21-mei-2007, at 13:56, Michael T. Richter wrote:


Hell, even comparing the out-of-the-box syntax highlighting support  
in Gedit vs. (G)Vim is instructive.  Code like  
makeRandomValueST :: StdGen - (MyType, StdGen) (which,  
incidentally, was far easier to copy from in Gedit than GVim to  
paste into this message) only differentiates :: and - from the  
text and delimiters in GVim while in Gedit (keeping in mind that  
Gedit isn't a very good editor!) differentiates those plus  
makeRandomValueST vs. StdGen and MyType.  And the parentheses.


This is an interesting take on things. What to highlight and why is
decidedly non-trivial. Personally, I strongly *dislike* highlighting
of user-defined identifiers. And honestly, in Haskell, most identifiers
are user-defined. Furthermore, the haskell vim highlighter actually
allows you to highlight delimiters, True and False, the names of a
number of types, and the names of debugging functions. It requires
settings to turn that on though, as the highlighter should be as  
minimally
visually intrusive in its default setting as possible. Or at least,  
that's what
I think, and I was the last person to get his grubby paws on vim's  
highlighter
for Haskell. It does highlight literate Haskell code quite nicely  
however,
both in bird track style and in TeX style. It does expect literate  
Haskell

to be in .lhs files though...

Note that it is somewhat tricky to distinguish between the occurences
of the a's before and after the semicolon in the following:
map :: ( a - b ) - [a] - [b]; map f (a:as) = f a : (map f as)

I'd like to see what GEdit does to that. :)

Doei, Arthur van Leeuwen.

--

  /\/ |   [EMAIL PROTECTED]   | Work like you don't need  
the money
/__\  /  | A friend is someone with whom | Love like you have never  
been hurt
/\/__ | you can dare to be yourself   | Dance like there's nobody  
watching




___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Leif Frenzel

Bayley, Alistair wrote:

1.  A real GUI
2.	Good quality syntax highlighting for Haskell..., plus: 
	3.	raw Haskell both forms of Literate Haskell; 
	4.	properly highlight Haddock comments; 
	5.	highlight functions and types from libraries differently
from local 

3.  Line folding to hide and show blocks of code.
4.  Code completion
5.	Easy, quick access to online documentation 
6.	access to external utilities for compilation, debugging,
profiling, type inference, 
project management, etc. 
7.	A good plug-in system


Having dismissed Visual Haskell for being Windows-only, have you
considered EclipseFP? It doesn't tick all of your boxes, but maybe it
goes far enough in the right direction. AFAICT it fulfills 1, 2.3, 2.5
(but I'm not sure about this), 3, 6, and 7 (ish - plugins would be
written in Java).
There is also some experimentation under way to implement plugins in 
Haskell: http://leiffrenzel.de/eclipse/cohatoe/ The Haskell code is 
plugged into Eclipse via hs-plugins. However, the ultimate entry point 
to the IDE is still Eclipse's, so there will be some Java/XML 
boilerplate necessary for getting a plugin hooked.


Thanks  ciao,
Leif



Alistair
*
Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.
*
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread David House

On 21/05/07, Michael T. Richter [EMAIL PROTECTED] wrote:

Easy, quick access to online documentation for said functions and declarations.


I'm writing this for Emacs right now. At the moment both Emacs and Vim
can access everything that GHCi has to offer on a function, which
means where it's defined, it's type and so on, but not Haddock
documentation. I'm extending haskell-mode's inf-haskell.el to take
this into account.

--
-David House, [EMAIL PROTECTED]
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Ben Moseley

You mentioned a dream 

Have you looked at Yi? might be worth a peek if you're prepared  
to work towards your dream.


http://www.haskell.org/haskellwiki/Yi

...a long way to go - but it certainly nails #7!

--Ben

On 21 May 2007, at 15:44, Leif Frenzel wrote:


Bayley, Alistair wrote:

1.  A real GUI
2.	Good quality syntax highlighting for Haskell..., plus: 	3.	raw  
Haskell both forms of Literate Haskell; 	4.	properly highlight  
Haddock comments; 	5.	highlight functions and types from  
libraries differently

from local

3.  Line folding to hide and show blocks of code.
4.  Code completion
5.	Easy, quick access to online documentation 6.	access to  
external utilities for compilation, debugging,

profiling, type inference,

project management, etc. 7. A good plug-in system

Having dismissed Visual Haskell for being Windows-only, have you
considered EclipseFP? It doesn't tick all of your boxes, but maybe it
goes far enough in the right direction. AFAICT it fulfills 1, 2.3,  
2.5

(but I'm not sure about this), 3, 6, and 7 (ish - plugins would be
written in Java).
There is also some experimentation under way to implement plugins  
in Haskell: http://leiffrenzel.de/eclipse/cohatoe/ The Haskell code  
is plugged into Eclipse via hs-plugins. However, the ultimate entry  
point to the IDE is still Eclipse's, so there will be some Java/XML  
boilerplate necessary for getting a plugin hooked.


Thanks  ciao,
Leif


Alistair
*
Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.
*
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Albert Y. C. Lai

Michael T. Richter wrote:

   1. A real GUI environment that takes into account some of the HID
  advances made in the past 30 years.  (Emacs and Vim don't count,
  in other words.)


I for my life think HID refers to human input devices: keyboard, mouse, 
joystick, gamepad, pedal, microphone, touchscreen... When this HID 
statement is brought up, the first and only thing I think of is the 
recent Mathematica 6: It supports the gamepad for rotating 3D plots.
Apart from that, absolutely no programming environment takes into 
account much of the HID advances in the past 30 years; they only go up 
to keyboard and mouse.


GUI, menu, modal, modeless... those would be HCI.

But that inspires some real fantasy for the next century.

I want to watch a function definition as a 3D thunk, and rotate it with 
the gamepad. It is even better than a parse tree, because I want let 
x2=x*x in x2+x2 to be displayed as:


 *
/ \
   x2  x2
|  |
---
  +
 / \
 \ /
  x

or any topological equivalence. At my selection, some nodes stick out 
blurbs containing their types or haddocks. No more 20th century dark age 
dogma of vertical serialization of horizontal serialization of 
characters euphemized as plain text file, the least problem of which 
is the sorry kludge of operator precedences and parenthesizing. In this 
thread I ask, can programming be liberated from the plain text file, 
now that it is liberated from the von Neumann style?


Module dependency graphs receive the same treatment. Modules in a 
project are shown as a 3D graph. Using the gamepad, I rotate the graph, 
bring a module to the forefront, and press the circle button to open it.


Debugging has never been more enticing! All CAFs and thunks are 
displayed in 3D. (As usual, you can use the gamepad to change 
perspective at will.) A small virtual organism, dubbed the bug, walks 
the thunks and does the graph reductions. You can of course interrupt 
the bug and give explorative instructions. You may want to rename this 
activity to bugging. Imperative communities may boast the best 
debuggers, but only in Haskell you find the best buggers!


(On second thought, dubbing the virtual organism the alligator may bug 
you less.)

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor

2007-05-21 Thread Alexis
On Tuesday 22 May 2007 02:30, Claus Reinke wrote:
 Vim is eliminated before it reaches the gate because it's a modal
 editor.  Even with GVim in place, it still has that modal stench to it
 that leaps up and bites at awkward moments.

 that's a bit more specific, at least. but as far as i recall, modes were
 considered bad for specific reasons, such as 'users can't see where
 they are, modewise',  'functionality becomes unavailable in a mode',
 'users have no way to get out of a mode', etc. and most of these
 specific issues have actually been addressed in vim.

Since no-one else has done so, i thought i should mention Cream:

http://cream.sourceforge.net/featurelist.html

Cream is a customisation of Vim/gVim, providing a more contemporary GUI style 
and single-mode editing (although modal editing is available if one wants 
it)  - with all the power of Vim under the hood. :-)


Alexis.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Editor OT: streamofconciousness

2007-05-21 Thread John Meacham
On Mon, May 21, 2007 at 06:37:22PM +0800, Michael T. Richter wrote:
  1. A real GUI environment that takes into account some of the HID
 advances made in the past 30 years.  (Emacs and Vim don't count,
 in other words.)

heh. find me a new GUI editor that takes into account the HID advances
that were well established 30 years ago and I will be happy. I am all
for innovation, but not at the cost of needed and useful functionality.

I recently had a discussion with a coworker where he went off for a long
time about his new 'refactoring' editor, telling me cool stuff he could
do with it. Excited and interested, I went to see what it was about (I
always am interested in new stuff, especially if it can make my life
easier). I watched as he used pop-up windows and dialogs to happily
indent and unindent methods and rename variables, after which he turned
to me and said proudly now this is refactoring.. To which, I, puzzled,
responded, Really? to me it just looked like you were editing.

It is a perhaps sad fact that a lot of innovation when it comes to
editing interfaces is simply one of terminology. Inventing names for
well established practices, imbuing them with the magical power of
buzzwords to sway opinion in the face of rationality and then dismiss
every feature that one cannot list on a features FAQ as irrelevant.

It is somewhat depressing that immutable pre-packaged macros[1] and the
simple brute-force inclusion of separate tools[2] into the editor are
hailed as innovation, when new innovations, whether they are simple
refinements of old ideas[3], excercises in orthoginality[4], or truely
new research[5] are left to the wayside. But such is the power of the
bullet point.

John

[1] many (but not all) refactoring features i have seen.
[2] http://en.wikipedia.org/wiki/Cscope
[3] http://en.wikipedia.org/wiki/Sam_(text_editor)
[4] http://en.wikipedia.org/wiki/Acme_%28Plan_9%29
[5] http://tlau.org/research/smartedit/


-- 
John Meacham - ⑆repetae.net⑆john⑈
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe