   :config (global-evil-surround-mode 1))
 
 ;; Haskell
-(use-package intero
+(use-package haskell-mode
   :defer
   :init (add-hook 'haskell-mode-hook
-                  'intero-mode)
-  :config (flycheck-add-next-checker 'intero '(warning . haskell-hlint)))
-
+                  (lambda () (interactive)
+                    (setq evil-auto-indent nil)
+                    (interactive-haskell-mode)))
+  :config
+  (progn
+    (setq haskell-stylish-on-save t)
+    (nmapm 'haskell-mode-map
+           "M-." 'haskell-mode-jump-to-def-or-tag)))
+(use-package company-ghc
+  :after haskell-mode
+  :config (add-to-list 'company-backends 'company-ghc))
+(use-package company-ghci
+  :after haskell-mode
+  :config (add-to-list 'company-backends 'company-ghci))
+
+;; R
 (use-package ess
   :defer)
 

    (package-install 'use-package)
    (require 'use-package)))
(setq use-package-always-ensure t)

;;; Start of use-package stanzas
;; I will somewhat keep to a system of placing options and necessary

                  '(company-pseudo-tooltip-frontend
                    company-echo-metadata-frontend
                    company-preview-frontend))
            (define-key company-active-map (kbd "<return>") nil)
            (amapm company-active-map
                   "<return>" nil
                   "RET" nil
                   "C-SPC" 'company-complete-selection))
  :diminish company-mode)
(use-package company-quickhelp
  :after company
  :config (company-quickhelp-mode 1))

(use-package ggtags
  :init
