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