all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Unhealthy Haskell babel
@ 2020-12-10  3:20 Lawrence Bottorff
  2020-12-10 10:27 ` Immanuel Litzroth
  2020-12-14 20:45 ` Bastien
  0 siblings, 2 replies; 6+ messages in thread
From: Lawrence Bottorff @ 2020-12-10  3:20 UTC (permalink / raw)
  To: emacs-orgmode Mailinglist

[-- Attachment #1: Type: text/plain, Size: 1573 bytes --]

I'm looking into Haskell (latest ghci) again on org-mode. This

#+begin_src haskell :results verbatim :exports both
:set +m
doubleSmallNumber x = if x > 100
  then x
  else x*2
#+end_src

works, but still the :set +m is necessary for it to see the whole. But this

#+begin_src haskell :results verbatim :exports both
:set +m
factorial :: Int -> Int
factorial 0 = 1
factorial n = n * factorial (n - 1)
#+end_src

results in this on the REPL side:

Prelude> :set +m
factorial :: Int -> Int
factorial 0 = 1
factorial n = n * factorial (n - 1)
"org-babel-haskell-eoe"
Prelude>
<interactive>:26:1-23: error:
    • No instance for (Show (Int -> Int)) arising from a use of ‘print’
        (maybe you haven't applied a function to enough arguments?)
    • In a stmt of an interactive GHCi command: print it
Prelude> Prelude> Prelude> "org-babel-haskell-eoe"

which is the same behavior if I try to feed the program into the REPL one
line at a time, i.e.,

Prelude> factorial :: Int -> Int

<interactive>:40:1-23: error:
    • No instance for (Show (Int -> Int)) arising from a use of ‘print’
        (maybe you haven't applied a function to enough arguments?)
    • In a stmt of an interactive GHCi command: print it

So the :set +m trick (take multiple lines) doesn't help here. Obviously,
Haskell is not ready to be used with Babel. Can it be fixed? BTW, this does
work with the regular ghci REPL and haskell-mode. If it helps, Standard ML,
which has very similar syntax (it was Haskell's parent), works fine.

LB

[-- Attachment #2: Type: text/html, Size: 1964 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-12-14 20:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-10  3:20 Unhealthy Haskell babel Lawrence Bottorff
2020-12-10 10:27 ` Immanuel Litzroth
2020-12-10 17:21   ` Lawrence Bottorff
2020-12-10 18:40     ` Immanuel Litzroth
2020-12-10 20:26       ` Lawrence Bottorff
2020-12-14 20:45 ` Bastien

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.