<commit_before>;;; module-haskell.el

;; requires cabal (flycheck), ghci/hugs (repl)

(def-package! haskell-mode
  :mode (("\\.hs$" . haskell-mode)
         ("\\.ghci$" . ghci-script-mode)
         ("\\.cabal$" . haskell-cabal-mode))
  :interpreter (("runghc" . haskell-mode)
                ("runhaskell" . haskell-mode))
  :config
  (load "haskell-mode-autoloads" nil t)

  (set! :popup "*debug:haskell*" :size 20)
  (set! :repl 'haskell-mode 'switch-to-haskell)
  (push ".hi" completion-ignored-extensions)

  (autoload 'switch-to-haskell "inf-haskell" nil t)
  (after! inf-haskell
    (map! :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close)))


(def-package! dante
  :after haskell-mode
  :config
  (when (executable-find "cabal")
    (add-hook! 'haskell-mode-hook '(flycheck-mode dante-mode))))
<commit_msg>lang/haskell: fix #42; enable interactive-haskell-mode<commit_after>;;; module-haskell.el

;; requires cabal (flycheck), ghci/hugs (repl)

(def-package! haskell-mode
  :mode (("\\.hs$" . haskell-mode)
         ("\\.ghci$" . ghci-script-mode)
         ("\\.cabal$" . haskell-cabal-mode))
  :interpreter (("runghc" . haskell-mode)
                ("runhaskell" . haskell-mode))
  :config
  (load "haskell-mode-autoloads" nil t)

  (set! :popup "*debug:haskell*" :size 20)
  (set! :repl 'haskell-mode 'switch-to-haskell)
  (push ".hi" completion-ignored-extensions)

  (autoload 'switch-to-haskell "inf-haskell" nil t)
  (after! inf-haskell
    (map! :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close)))


(def-package! dante
  :after haskell-mode
  :config
  (when (executable-find "cabal")
    (add-hook! 'haskell-mode-hook
      '(flycheck-mode dante-mode interactive-haskell-mode))))

{'fraction_non_alphanumeric': 0.18522860492379836, 'fraction_numerical': 0.0035169988276670576, 'mean_word_length': 3.256857855361596, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2989049', 'n_tokens_mistral': 722, 'n_tokens_neox': 684, 'n_words': 131}