Difference between revisions of "User:BrettGiles"

From HaskellWiki
Jump to navigation Jump to search
m (Adding link to guidelines page)
m (A sad wikignome with little time)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''Brett Giles'''
 
'''Brett Giles'''
  +
{{Foundations infobox}}
 
 
Grad Student in Formal Methods at the University of Calgary.
 
Grad Student in Formal Methods at the University of Calgary.
   
  +
A proud wikignome - who unfortunately finds that full-time Ph.D. studies + full-time job leaves little or no time for gnoming. :(
http://pages.cpsc.ucalgary.ca/~gilesb
 
  +
 
[http://pages.cpsc.ucalgary.ca/~gilesb U of C home page]
   
  +
[http://drogar.blogspot.com/search/label/Haskell My blogs related to Haskell]
   
  +
__NOTOC__
== Haskell Interests ==
+
== Haskell interests ==
   
 
Compilers: Currently make lots of use of [[Alex]] and [[Happy]].
 
Compilers: Currently make lots of use of [[Alex]] and [[Happy]].
Line 13: Line 17:
   
 
==Haskell mode for XEmacs==
 
==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.
+
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.
   
 
===line-end-position===
 
===line-end-position===
   
 
To fix this, find where the haskell mode package is installed on your system. (Usually <code>/usr/share/emacs/site-lisp/haskell-mode</code>). Edit the file <code>haskell-indent.el</code> and add the lines:
 
To fix this, find where the haskell mode package is installed on your system. (Usually <code>/usr/share/emacs/site-lisp/haskell-mode</code>). Edit the file <code>haskell-indent.el</code> and add the lines:
<pre>
+
<pre-lisp>
 
(eval-and-compile
 
(eval-and-compile
   
Line 27: Line 31:
 
(save-excursion
 
(save-excursion
 
(end-of-line n)
 
(end-of-line n)
(point)))))
+
(point))))
</pre>
+
</pre-lisp>
 
right after the comments at the top. That should fix the issue.
 
right after the comments at the top. That should fix the issue.
   
Line 36: Line 40:
   
 
To fix this one, edit the file <code>haskell-font-lock.el</code>. Look for the line that says:
 
To fix this one, edit the file <code>haskell-font-lock.el</code>. Look for the line that says:
<pre>
+
<pre-lisp>
 
(defvar haskell-default-face nil)
 
(defvar haskell-default-face nil)
</pre>
+
</pre-lisp>
 
and change this to
 
and change this to
<pre>
+
<pre-lisp>
 
(defvar haskell-default-face 'default)
 
(defvar haskell-default-face 'default)
</pre>
+
</pre-lisp>
 
In my version, this is line 168.
 
In my version, this is line 168.
   
 
Then, look for the line that says:
 
Then, look for the line that says:
<pre>
+
<pre-lisp>
 
(,qvarid 0 haskell-default-face)
 
(,qvarid 0 haskell-default-face)
</pre>
+
</pre-lisp>
 
and change it to
 
and change it to
<pre>
+
<pre-lisp>
 
(,qvarid 0 (symbol-value 'haskell-default-face))
 
(,qvarid 0 (symbol-value 'haskell-default-face))
</pre>
+
</pre-lisp>
   
 
For me, this is line 326 of the file.
 
For me, this is line 326 of the file.
Line 63: Line 67:
   
   
==Reverting Spam==
+
==Reverting spam==
   
 
If you find some spam - the easiest way to undo it is use the "diff" on the recent changes page (selecting the first spam change). Then, click on the "Revison as of yyyy-mm ..." link on the left side. This will show the page as it was before the spam edit.
 
If you find some spam - the easiest way to undo it is use the "diff" on the recent changes page (selecting the first spam change). Then, click on the "Revison as of yyyy-mm ..." link on the left side. This will show the page as it was before the spam edit.

Latest revision as of 18:18, 9 October 2007

Brett Giles

Haskell theoretical foundations

General:
Mathematics - Category theory
Research - Curry/Howard/Lambek

Lambda calculus:
Alpha conversion - Beta reduction
Eta conversion - Lambda abstraction

Other:
Recursion - Combinatory logic
Chaitin's construction - Turing machine
Relational algebra

Grad Student in Formal Methods at the University of Calgary.

A proud wikignome - who unfortunately finds that full-time Ph.D. studies + full-time job leaves little or no time for gnoming. :(

U of C home page

My blogs related to Haskell


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.

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.

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: <pre-lisp> (eval-and-compile

 ;; 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."
     (save-excursion
       (end-of-line n)
       (point))))

</pre-lisp> right after the comments at the top. That should fix the issue.

haskell-default-face

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

To fix this one, edit the file haskell-font-lock.el. Look for the line that says: <pre-lisp> (defvar haskell-default-face nil) </pre-lisp> and change this to <pre-lisp> (defvar haskell-default-face 'default) </pre-lisp> In my version, this is line 168.

Then, look for the line that says: <pre-lisp>

(,qvarid 0 haskell-default-face)

</pre-lisp> and change it to <pre-lisp>

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

</pre-lisp>

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

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)


Reverting spam

If you find some spam - the easiest way to undo it is use the "diff" on the recent changes page (selecting the first spam change). Then, click on the "Revison as of yyyy-mm ..." link on the left side. This will show the page as it was before the spam edit.

Then, edit the page and save it as is (Please indicate you are reverting spam in the Summary). WikiPedia will warn you when you edit that this is an old version. But that is what you want - so go ahead and save it.

Links in the WIKI