Personal tools


From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (Haskell mode for XEmacs: typo)
(Haskell mode for XEmacs: Add fix for haskell-default-face)

Revision as of 18:05, 3 September 2006

Brett Giles

Grad Student in Formal Methods at the University of Calgary.


1 Haskell Interests

Compilers: Currently make lots of use of Alex and Happy.

Currently working on a compiler and simulator for a quantum programming language, using Gtk2Hs as the visualization tool.

2 Haskell mode for XEmacs

I use Haskell mode for emacs on XEmacs. So far, on all the linux systems that I have tried it on (admittedly, only Ubuntu and Debian), there is a system function missing that interferes with automatic indenting. Secondly, there seems to be an issue with setting the haskell default face to nil.

2.1 line-end-position

To fix this, find where the haskell mode package is installed on your system. (Usually /usr/share/emacs/site-lisp/haskell-mode). Edit the file haskell-indent.el and add the lines:


  ;; If `line-end-position' isn't available provide one.
  (unless (fboundp 'line-end-position)
    (defun line-end-position (&optional n)
      "Return the `point' of the end of the current line."
        (end-of-line n)

right after the comments at the top. That should fix the issue.

2.2 haskell-default-face

This one shows up when typing in code (at various spots - most often when typing a qualified function, such as

To fix this one, edit the file haskell-font-lock.el. Look for the line that says:

(defvar haskell-default-face nil)

and change this to

(defvar haskell-default-face 'default)

In my version, this is line 168.

Then, look for the line that says:

 (,qvarid 0 haskell-default-face)

and change it to

 (,qvarid 0 (symbol-value 'haskell-default-face))

For me, this is line 326 of the file. YMMV - hope this helps.

3 License of contributions

I hereby license all my contributions to this wiki, and the old hawiki, under the simple permissive license on HaskellWiki:CopyrightsBrettGiles 03:14, 2 March 2006 (UTC)