Hi Org Maintainers, Please see the attached patch to remove "Prelude> " and "Prelude| " line continuations from the block result output when parsing blocks that contain multi-line function declarations.
This likely requires yesterday's patch to return value-type results from Haskell blocks. This patch applies cleanly against the org-mode master. #+name: chain-ecm #+BEGIN_SRC haskell :{ chain :: (Integral a) => a -> [a] chain 1 = [1] chain n | even n = n:chain (n `div` 2) | odd n = n:chain (n*3 + 1) :} chain 10 #+END_SRC Results without patch: : Prelude| Prelude| Prelude| Prelude| Prelude| Prelude| Prelude> [10,5,16,8,4,2,1] Results with patch: : | 10 | 5 | 16 | 8 | 4 | 2 | 1 | Thank you for your time, Nick
--- lisp/ob-haskell.el +++ lisp/ob-haskell.el @@ -84,9 +84,11 @@ (reverse (mapcar #'org-trim raw))))))) (org-babel-reassemble-table (let ((result - (pcase result-type - (`output (mapconcat #'identity (reverse results) "\n")) - (`value (car results))))) + (replace-regexp-in-string + "Prelude[|>] " "" + (pcase result-type + (`output (mapconcat #'identity (reverse results) "\n")) + (`value (car results)))))) (org-babel-result-cond (cdr (assq :result-params params)) result (if (stringp result) (org-babel-script-escape result)))) (org-babel-pick-name (cdr (assq :colname-names params)) Diff finished. Sun May 17 14:26:21 2020