Hi Lawrence,
Lawrence Bottorff <borg...@gmail.com> writes: > I've been trying to get Haskell to work in babel code blocks for a long > time. A year or so ago I tried and eventually gave up. I tried again > recently . . . same old problems, i.e., the code block is evaluated > exclusively by the ghci REPL, which doesn't understand or play well with an > org babel code block. > ... > Soooo, any ideas? I'm using the header arguments: :prologue ":{\n" :epilogue ":}\n" to request org to insert those multiline tags :{ :} (so, I'm not using ":set +m"). I'm defining these header args as headline properties (so that I don't have to enter them again and again). Something like that: #+begin_example ,** A title :PROPERTIES: :header-args:haskell: :prologue ":{\n" :epilogue ":}\n" :END: #+end_example I'm telling ghci to not insert a prompt, when waiting for the end of a multiline. #+begin_src haskell :set prompt-cont "" #+end_src Configured like this, it seems to be working quite well for me (great job org and GHC teams!). #+begin_src haskell doubleSmallNumber x = if x > 10 then x else x * 2 #+end_src No error. #+begin_src haskell let showMe :: Int -> [String] showMe x = [show x, show $ doubleSmallNumber x] in [ ["x", "doubleSmallNumber x"] , showMe 3 , showMe 13 ] #+end_src #+RESULTS: | x | doubleSmallNumber x | | 3 | 6 | | 13 | 13 | My config: | ghci | 8.6.3 | | emacs | 26.1 | | org | 9.2.3 | | OS | linux | If it doesn't work for you on GNU/Linux, post the example and I will try it on my computer (sorry, I won't be able to help you with Microsoft Windows though). Bruno > LB