Re: [Haskell-cafe] Editor OT: streamofconciousness
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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