                 (and (not (eq nil m))
                      (goto-char m)
                      (current-column)))))
-
-       ;; If the previous code line ends with "=", align to the matching "fun"
-       ;; or "let" or "loop" column plus one indent level.
-       (save-excursion
-         (and (futhark-backward-part)
-              (looking-at "=[[:space:]]*$")
-              (let ((m
-                     (futhark-max
-                      (futhark-max
-                       (save-excursion
-                         (futhark-keyword-backward "fun"))
-                       (save-excursion
-                         (futhark-keyword-backward "let")))
-                      (save-excursion
-                        (futhark-keyword-backward "loop")))))
-                (and (not (eq nil m))
-                     (goto-char m)
-                     (+ (current-column) futhark-indent-level)))))
 
        ;; Align "then" to nearest "else if" or "if".
        (save-excursion

;; efficient GPU code.  This Emacs mode provides syntax highlighting and
;; conservative automatic indentation for Futhark source code.
;;
;; Define your local keybindings in `futhark-mode-map'.  Add startup
;; functions to `futhark-mode-hook'.
;;
;; Manual installation: To load futhark-mode automatically on Emacs
;; startup, put this file in your load path and require the mode,
;; e.g. something like this:
;;
;;   (add-to-list 'load-path "~/.emacs.d/futhark-mode")
;;   (require 'futhark-mode)
;;
;; In this case, you have to create the directory
;; "~/.emacs.d/futhark-mode" and store this file in that directory.
;;
;; This will also tell your Emacs that ".fut" files are to be handled by
;; futhark-mode.

;;; Code:


    "All Futhark keywords.")

  (defconst futhark-builtin-functions
    '("reshape" "rearrange" "rotate"
      "split" "concat" "zip" "unzip" "unsafe" "copy" "map" "reduce"
      "reduce_comm" "scan" "filter" "partition" "scatter" "stream_map"
      "stream_map_per" "stream_red" "stream_map_per" "stream_seq")
