
Fellow haskellers: Haskell-mode 2.6 has been released. * By web: http://projects.haskell.org/haskellmode-emacs/ * By darcs: http://code.haskell.org/haskellmode-emacs/ This is mainly a bugfix release; to anyone using haskell-indentation, the big news will be that it no longer under some circumstances hands you a parse error and refuses to insert a newline, or backspace. It still gives you a parse error. It just tries its best to proceed anyway. There are also some new features, courtesy of Alex Ott: More font-lock symbols, and a hayoo function. In the case of the font-lock symbols, your mileage may vary on how nice the picked ones are. Mine certainly does. As such, I'm announcing open season on font-lock symbols: Comment to your heart's desire, and I'll use whatever you decide on for the next official release. The tab-cycle implementation is thanks to ivanm, whose random comments can trigger hours and hours of work. I'll just quote from the NEWS file now: === Changes since 2.5.1 * haskell-indentation: Pressing tab in the rightmost position now moves to the leftmost, by default with a warning. * Typo fix: One haskell-indentation variable had ended up in the haskell-ntation customize group. * haskell-hoogle aliased to hoogle, haskell-hayoo aliased to hayoo * Courtesy of Alex Ott: - Additional unicode symbols for font-lock-symbols: () == /= >= <= !! && || sqrt - M-x haskell-hayoo search added, opens using browse-url - Bug-fix for inferior-haskell-type * If haskell-indentation errors out, it now fail-safes to inserting a literal newline or deleting one character, for return and backspace respectively. -- Svein Ove Aas

On Sunday 01 November 2009 4:45:58 pm Svein Ove Aas wrote:
On Sun, Nov 1, 2009 at 8:20 PM, Svein Ove Aas
wrote: Fellow haskellers:
Haskell-mode 2.6 has been released.
Make that 2.6.1. Naturally, I broke something, but I think I'm about out of things to break now.
As it happens, the haskell-indentation mode (the new one) doesn't like hierarchical modules names. Something like: module Foo.Bar (\n will begin at the beginning of the line, complaining about there being an operator (the '.'). Though you may not have broken it. :) I can't recall if that happened previously or not. Cheers, -- Dan

On Mon, Nov 2, 2009 at 1:18 PM, Dan Doel
On Sunday 01 November 2009 4:45:58 pm Svein Ove Aas wrote:
On Sun, Nov 1, 2009 at 8:20 PM, Svein Ove Aas
wrote: Fellow haskellers:
Haskell-mode 2.6 has been released.
Make that 2.6.1. Naturally, I broke something, but I think I'm about out of things to break now.
As it happens, the haskell-indentation mode (the new one) doesn't like hierarchical modules names. Something like:
module Foo.Bar (\n
will begin at the beginning of the line, complaining about there being an operator (the '.').
Though you may not have broken it. :) I can't recall if that happened previously or not.
What seems to be going on is that haskell-indentation simply isn't prepared to deal with hierarchical module names at all, or qualified imports. The latter works because it interprets "Foo.bar" as actually using the operator (.), which it considers to be valid syntax. Operators are not valid in module statements, however. I'm going to try teaching it. Hopefully I won't break anything in the process. -- Svein Ove Aas

On Mon, Nov 2, 2009 at 4:18 PM, Svein Ove Aas
I'm going to try teaching it. Hopefully I won't break anything in the process.
I have so taught. If you grab the latest darcs version, it should work. However, I won't be releasing this without further testing, so if you do - caveat emptor. -- Svein Ove Aas

I also thought of some font-lock symbols you could consider adding to haskell-font-lock.el: ;; Nice bottom symbol (cons "undefined" (decode-char 'ucs #X22A5)) ;; Small case pi symbol (cons "pi" (decode-char 'ucs #X3C0)) ;; This one is less serious (cons "unsafePerformIO" (decode-char 'ucs #X2620)) I don't know if the predicate in the list of font-lock symbols can express this condition, but it would be nice to be able to replace 'a' and 'b' in types with lowercase alpha (U003B1) and beta (U003B1) symbols. But only in the context of a type. Regards, Roel

On Sun, Nov 1, 2009 at 8:20 PM, Svein Ove Aas
Fellow haskellers:
Haskell-mode 2.6 has been released.
* By web: http://projects.haskell.org/haskellmode-emacs/ * By darcs: http://code.haskell.org/haskellmode-emacs/
Since there appears to be some confusion: Indentation is now /off by default/. This is because there are several indentation modules, and I don't want to force people to use a particular one. If you want indentation, read the README; it explains how to turn it on. -- Svein Ove Aas

Thanks for the update. I am using it now and am very happy with it! No more tabtabtabtabtab to properly indent something. I did notice a bug in the declaration scanning part. Blocks of haddock comments are parsed as code. Code like this: {-| bla bla bla -} will be parsed as a variable "bla". If you remove the pipe symbol "|" the comment is skipped. I though it would be an easy fix in the declaration scanner but my elisp-fu is too weak :-( This bug makes the nice imenu almost useless in well documented code. Otherwise I am a very happy user! Regards, Roel

Svein Ove Aas
Haskell-mode 2.6 has been released.
The first hit for haskell-mode is http://www.haskell.org/haskell-mode/ This still points to Stefan's home page as the place to find it, which then points to http://projects.haskell.org/haskellmode-emacs/ , which is the right place. I don't know who has the right permissions, but can someone update http://www.haskell.org/haskell-mode/ to point to the right place?
participants (4)
-
Dan Doel
-
Justin Bogner
-
Roel van Dijk
-
Svein Ove Aas