;;; $DOOMDIR/+lang.el -*- lexical-binding: t; -*- (load! "+eglot") (load! "+flycheck") (load! "+format") ;; functions (defun my/hs-eval () (interactive) (let* ((src (buffer-file-name)) (out (file-name-sans-extension src))) (when (zerop (call-process-shell-command (format "runghc %s" src) nil "*runghc-output*")) (let ((buf (make-comint "hs-run" out))) (display-buffer buf))))) (add-hook 'haskell-mode-hook (lambda () (local-set-key (kbd "") #'my/hs-eval)))