emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)]
@ 2013-06-10 20:07 Simon Beaumont
  2013-06-10 22:53 ` Eric Schulte
  0 siblings, 1 reply; 6+ messages in thread
From: Simon Beaumont @ 2013-06-10 20:07 UTC (permalink / raw)
  To: emacs-orgmode


Whenever I try and evaluate the Haskell code block I get:
"Code block returned no value."

#+begin_src haskell :results value
  let fac n = product [1..n]
  [(x,fac x) | x <- [0..11]]
#+end_src

#+results:


I am using ghci as my haskell-program
The Haskell source is correctly executed in the *haskell* inferior mode.

> let fac n = product [1..n]
[(x,fac x) | x <- [0..11]]
"org-babel-haskell-eoe"
> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
> "org-babel-haskell-eoe"
> 

The raw binding receives appropriate data below but the "parse" is
always null
 
...
(defun org-babel-execute:haskell (body params)
  "Execute a block of Haskell code."
  (let* ((session (cdr (assoc :session params)))
         (vars (mapcar #'cdr (org-babel-get-header params :var)))
         (result-type (cdr (assoc :result-type params)))
         (full-body (org-babel-expand-body:generic
                     body params
		     (org-babel-variable-assignments:haskell params)))
         (session (org-babel-haskell-initiate-session session params))
         ;; ++ we get something like the above here
         (raw (org-babel-comint-with-output
                  (session org-babel-haskell-eoe t full-body)
                (insert (org-babel-trim full-body))
                (comint-send-input nil t)
                (insert org-babel-haskell-eoe)
                (comint-send-input nil t)))
         ;; ++ this is null
         (results (mapcar
                   #'org-babel-haskell-read-string
                   (cdr (member org-babel-haskell-eoe
                                (reverse (mapcar #'org-babel-trim raw)))))))
...

What am I doing wrong?
Thanks for any assistance to fix this - what should we be getting in results?

_________________
Emacs  : GNU Emacs 24.3.1 (x86_64-apple-darwin12.3.0)
 of 2013-05-04 on psi
Package: Org-mode version 8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)

current state:
==============
(setq
 org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe
                      org-babel-header-arg-expand)
 org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook)
 org-occur-hook '(org-first-headline-recenter)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-confirm-shell-link-function 'yes-or-no-p
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-babel-pre-tangle-hook '(save-buffer)
 org-mode-hook '(#[nil "\300\301\302\303\304$\207"
                   [org-add-hook change-major-mode-hook org-show-block-all append local] 5]
                 #[nil "\300\301\302\303\304$\207"
                   [org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-hide-inline-tasks
                  org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
 org-babel-tangle-lang-exts '(("haskell" . "hs") ("python" . "py") ("emacs-lisp" . "el"))
 org-confirm-elisp-link-function 'yes-or-no-p
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-babel-load-languages '((python . t) (R . t) (haskell . t) (emacs-lisp . t))
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 )

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

* Re: Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)]
  2013-06-10 20:07 Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)] Simon Beaumont
@ 2013-06-10 22:53 ` Eric Schulte
  2013-06-11 15:15   ` Simon Beaumont
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Schulte @ 2013-06-10 22:53 UTC (permalink / raw)
  To: Simon Beaumont; +Cc: emacs-orgmode

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

Simon Beaumont <simon@datalligator.com> writes:

> Whenever I try and evaluate the Haskell code block I get:
> "Code block returned no value."
>
> #+begin_src haskell :results value
>   let fac n = product [1..n]
>   [(x,fac x) | x <- [0..11]]
> #+end_src
>
> #+results:
>

I can't reproduce this problem.  With a minimal emacs config started
with -Q, and loading the attached init.el file (you'll have to update
the paths to work with your system).


[-- Attachment #2: init.el --]
[-- Type: application/emacs-lisp, Size: 286 bytes --]

[-- Attachment #3: Type: text/plain, Size: 206 bytes --]


I'm able to execute the following Org-mode file returning a table of
results as expected (although I have to execute it twice, presumably to
clear out some cruft at the beginning of the haskell session).


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: haskell.org --]
[-- Type: text/x-org, Size: 88 bytes --]

#+begin_src haskell
  let fac n = product [1..n]
  [(x,fac x) | x <- [0..11]]
#+end_src

[-- Attachment #5: Type: text/plain, Size: 554 bytes --]


I'm using

    $ emacs --version
    GNU Emacs 24.3.1
    Copyright (C) 2013 Free Software Foundation, Inc.
    GNU Emacs comes with ABSOLUTELY NO WARRANTY.
    You may redistribute copies of Emacs
    under the terms of the GNU General Public License.
    For more information about these matters, see the file named COPYING.

    $ ghc --version
    The Glorious Glasgow Haskell Compilation System, version 7.6.3

    Org-mode version 8.0.3 (release_8.0.3-215-g8e1e6f @ /home/eschulte/src/org-mode/lisp/)

-- 
Eric Schulte
http://cs.unm.edu/~eschulte

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

* Re: Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)]
  2013-06-10 22:53 ` Eric Schulte
@ 2013-06-11 15:15   ` Simon Beaumont
  2013-06-13  5:18     ` Eric Schulte
  0 siblings, 1 reply; 6+ messages in thread
From: Simon Beaumont @ 2013-06-11 15:15 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode

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

Well that's really odd: I modded the paths in init.el and did the following:

emacs -Q -l init.el foo.org

When I eval'ed the code block in foo.org (twice) I still get message: "Code block returned no value"
I've attached the inferior haskell buffer and all relevant files.

[-- Attachment #2: init.el --]
[-- Type: application/octet-stream, Size: 313 bytes --]

(add-to-list 'load-path "~/.emacs.d/elpa/haskell-mode-20130610.152")
(add-to-list 'load-path "~/.emacs.d/elpa/org-20130610")
(require 'org)
(setq org-export-babel-evaluate t
      org-confirm-babel-evaluate nil)
(org-babel-do-load-languages
      'org-babel-load-languages
      '((haskell . t)))

[-- Attachment #3: foo.org --]
[-- Type: application/octet-stream, Size: 104 bytes --]


#+begin_src haskell
  let fac n = product [1..n]
  [(x,fac x) | x <- [0..11]]
#+end_src

#+results:

 

[-- Attachment #4: inf-haskell.txt --]
[-- Type: text/plain, Size: 644 bytes --]

GHClet fac n = product [1..n]
[(x,fac x) | x <- [0..11]]
"org-babel-haskell-eoe"
i, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
> "org-babel-haskell-eoe"
> let fac n = product [1..n]
[(x,fac x) | x <- [0..11]]
"org-babel-haskell-eoe"
> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
> "org-babel-haskell-eoe"
> 

[-- Attachment #5: Type: text/plain, Size: 3051 bytes --]


--
Looks like we are on the same versions of emacs and ghc:

ix@psi(0) [re](4843)> emacs --version
GNU Emacs 24.3.1
Copyright (C) 2013 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

ix@psi(0) [re](4844)> ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3

Org-mode version 8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)

________
As far as I can tell the raw data from inferior-haskell mode is returned but the parsing returns null…

the raw value from:
        (raw (org-babel-comint-with-output
                  (session org-babel-haskell-eoe t full-body)
		(insert (org-babel-trim full-body))
		(comint-send-input nil t)
		(insert org-babel-haskell-eoe)
		(comint-send-input nil t)))
___
> ("> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]          
> \"org-babel-haskell-eoe\"                                                                                            
" "")
-----
         (results (mapcar
                   #'org-babel-haskell-read-string
                   (cdr (member org-babel-haskell-eoe
				(reverse (mapcar #'org-babel-trim raw)))))))

but results is nil

__________
I might be worth noting I am running on OS X not Linux but the raw data looks reasonable to me…

Simon Beaumont

On 10 Jun 2013, at 23:53, Eric Schulte <schulte.eric@gmail.com> wrote:

> Simon Beaumont <simon@datalligator.com> writes:
> 
>> Whenever I try and evaluate the Haskell code block I get:
>> "Code block returned no value."
>> 
>> #+begin_src haskell :results value
>>  let fac n = product [1..n]
>>  [(x,fac x) | x <- [0..11]]
>> #+end_src
>> 
>> #+results:
>> 
> 
> I can't reproduce this problem.  With a minimal emacs config started
> with -Q, and loading the attached init.el file (you'll have to update
> the paths to work with your system).
> 
> <init.el>
> I'm able to execute the following Org-mode file returning a table of
> results as expected (although I have to execute it twice, presumably to
> clear out some cruft at the beginning of the haskell session).
> 
> #+begin_src haskell
>  let fac n = product [1..n]
>  [(x,fac x) | x <- [0..11]]
> #+end_src
> 
> I'm using
> 
>    $ emacs --version
>    GNU Emacs 24.3.1
>    Copyright (C) 2013 Free Software Foundation, Inc.
>    GNU Emacs comes with ABSOLUTELY NO WARRANTY.
>    You may redistribute copies of Emacs
>    under the terms of the GNU General Public License.
>    For more information about these matters, see the file named COPYING.
> 
>    $ ghc --version
>    The Glorious Glasgow Haskell Compilation System, version 7.6.3
> 
>    Org-mode version 8.0.3 (release_8.0.3-215-g8e1e6f @ /home/eschulte/src/org-mode/lisp/)
> 
> -- 
> Eric Schulte
> http://cs.unm.edu/~eschulte


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

* Re: Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)]
  2013-06-11 15:15   ` Simon Beaumont
@ 2013-06-13  5:18     ` Eric Schulte
  2013-06-13  9:35       ` Simon Beaumont
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Schulte @ 2013-06-13  5:18 UTC (permalink / raw)
  To: Simon Beaumont; +Cc: emacs-orgmode

Simon Beaumont <simon@datalligator.com> writes:

> Well that's really odd: I modded the paths in init.el and did the following:
>
> emacs -Q -l init.el foo.org
>
> When I eval'ed the code block in foo.org (twice) I still get message:
> "Code block returned no value" I've attached the inferior haskell
> buffer and all relevant files.
>
> (add-to-list 'load-path "~/.emacs.d/elpa/haskell-mode-20130610.152")

I thought maybe it could be a difference between our haskell modes, so I
switched to the latest available through my elpa (haskell-mode-13.6),
and I still see the correct behavior.

> GHClet fac n = product [1..n]
> [(x,fac x) | x <- [0..11]]
> "org-babel-haskell-eoe"
> i, version 7.6.3: http://www.haskell.org/ghc/  :? for help
> Loading package ghc-prim ... linking ... done.
> Loading package integer-gmp ... linking ... done.
> Loading package base ... linking ... done.
>> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>> "org-babel-haskell-eoe"
>> let fac n = product [1..n]
> [(x,fac x) | x <- [0..11]]
> "org-babel-haskell-eoe"
>> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>> "org-babel-haskell-eoe"
>

My *haskell* buffer looks different then yours.  Namely I have
"Prelude>" where as you just have ">".  I don't know if this is
significant.  Maybe you've customized your ghci prompts in such a way
that the comint functions can no longer recognize where output begins?

,----
| GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
| Loading package ghc-prim ... let fac n = product [1..n]
| [(x,fac x) | x <- [0..11]]
| "org-babel-haskell-eoe"
| linking ... done.
| Loading package integer-gmp ... linking ... done.
| Loading package base ... linking ... done.
| Prelude> Prelude> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
| Prelude> "org-babel-haskell-eoe"
| Prelude> let fac n = product [1..n]
| [(x,fac x) | x <- [0..11]]
| "org-babel-haskell-eoe"
| Prelude> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
| Prelude> "org-babel-haskell-eoe"
| Prelude> 
`----

I'm not sure what else this could be.  One option would be to instrument
`org-babel-execute:haskell' or `org-babel-comint-with-output' with
edebug, and then step through evaluation to see if you can pinpoint
where the problem lies.

Hope this helps,

-- 
Eric Schulte
http://cs.unm.edu/~eschulte

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

* Re: Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)]
  2013-06-13  5:18     ` Eric Schulte
@ 2013-06-13  9:35       ` Simon Beaumont
  2013-06-13 13:04         ` Eric Schulte
  0 siblings, 1 reply; 6+ messages in thread
From: Simon Beaumont @ 2013-06-13  9:35 UTC (permalink / raw)
  To: Eric Schulte; +Cc: emacs-orgmode

Hi Eric,

Thanks for investigating this.

You got it! The blooming prompt! As you say the comint parser expects "Prelude>" and I have customised my prompt in .ghci (also this wouldn't work with module loads like :m +Mymodule.Foo as this changes the ghci prompt). 

BTW if I use a unicode sequence for the prompt (like a greek lambda as a few knights of the lambda calculus do)  then accept-process-output hangs! 

Well at least that's me fixed! Would it be possible for comint to learn the prompt by sending an empty line and then adapting? -- It would need to do this every time it sees a :command and at startup. Of course this is ghci specific.

Or is the answer to write an evaluation server for ghc with a well defined client API? Then Haskell integration gets a lot easier -- this would be like slime (common-lisp) for Haskell. Might be worth an enquiry on the Haskell list as there is a Haskell API that might cover the requirement.


Simon Beaumont

-------------------
On 13 Jun 2013, at 06:18, Eric Schulte <schulte.eric@gmail.com> wrote:

> Simon Beaumont <simon@datalligator.com> writes:
> 
>> Well that's really odd: I modded the paths in init.el and did the following:
>> 
>> emacs -Q -l init.el foo.org
>> 
>> When I eval'ed the code block in foo.org (twice) I still get message:
>> "Code block returned no value" I've attached the inferior haskell
>> buffer and all relevant files.
>> 
>> (add-to-list 'load-path "~/.emacs.d/elpa/haskell-mode-20130610.152")
> 
> I thought maybe it could be a difference between our haskell modes, so I
> switched to the latest available through my elpa (haskell-mode-13.6),
> and I still see the correct behavior.
> 
>> GHClet fac n = product [1..n]
>> [(x,fac x) | x <- [0..11]]
>> "org-babel-haskell-eoe"
>> i, version 7.6.3: http://www.haskell.org/ghc/  :? for help
>> Loading package ghc-prim ... linking ... done.
>> Loading package integer-gmp ... linking ... done.
>> Loading package base ... linking ... done.
>>> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>>> "org-babel-haskell-eoe"
>>> let fac n = product [1..n]
>> [(x,fac x) | x <- [0..11]]
>> "org-babel-haskell-eoe"
>>> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>>> "org-babel-haskell-eoe"
>> 
> 
> My *haskell* buffer looks different then yours.  Namely I have
> "Prelude>" where as you just have ">".  I don't know if this is
> significant.  Maybe you've customized your ghci prompts in such a way
> that the comint functions can no longer recognize where output begins?
> 
> ,----
> | GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
> | Loading package ghc-prim ... let fac n = product [1..n]
> | [(x,fac x) | x <- [0..11]]
> | "org-babel-haskell-eoe"
> | linking ... done.
> | Loading package integer-gmp ... linking ... done.
> | Loading package base ... linking ... done.
> | Prelude> Prelude> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
> | Prelude> "org-babel-haskell-eoe"
> | Prelude> let fac n = product [1..n]
> | [(x,fac x) | x <- [0..11]]
> | "org-babel-haskell-eoe"
> | Prelude> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
> | Prelude> "org-babel-haskell-eoe"
> | Prelude> 
> `----
> 
> I'm not sure what else this could be.  One option would be to instrument
> `org-babel-execute:haskell' or `org-babel-comint-with-output' with
> edebug, and then step through evaluation to see if you can pinpoint
> where the problem lies.
> 
> Hope this helps,
> 
> -- 
> Eric Schulte
> http://cs.unm.edu/~eschulte

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

* Re: Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)]
  2013-06-13  9:35       ` Simon Beaumont
@ 2013-06-13 13:04         ` Eric Schulte
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Schulte @ 2013-06-13 13:04 UTC (permalink / raw)
  To: Simon Beaumont; +Cc: emacs-orgmode

Simon Beaumont <simon@datalligator.com> writes:

> Hi Eric,
>
> Thanks for investigating this.
>
> You got it! The blooming prompt! As you say the comint parser expects
> "Prelude>" and I have customised my prompt in .ghci (also this
> wouldn't work with module loads like :m +Mymodule.Foo as this changes
> the ghci prompt).
>
> BTW if I use a unicode sequence for the prompt (like a greek lambda as
> a few knights of the lambda calculus do) then accept-process-output
> hangs!
>

I would take this up either with the maintainers of comint-mode, or
possibly the inferior-haskell developers.  The function used by Org-mode
(namely `org-babel-comint-with-output') uses standard comint variables
(e.g., `comint-prompt-regexp'), so this is one area where the Babel ship
rises and falls with the quality of the Emacs tide.

>
> Well at least that's me fixed! Would it be possible for comint to
> learn the prompt by sending an empty line and then adapting? -- It
> would need to do this every time it sees a :command and at startup. Of
> course this is ghci specific.
>

I'd raise this with the inferior-haskell devs.

>
> Or is the answer to write an evaluation server for ghc with a well
> defined client API? Then Haskell integration gets a lot easier -- this
> would be like slime (common-lisp) for Haskell. Might be worth an
> enquiry on the Haskell list as there is a Haskell API that might cover
> the requirement.
>

I would imagine that ghci on the haskell side should be fairly easily
adjusted to support such a use case.  Maybe just passing an option when
ghci is started to inhibit any prompt customization would be
sufficient. Another option from the Org/Babel perspective, would be to
add support for non-session evaluation, i.e., compiling the code block
to an executable (perhaps with some default main function), and then
running that executable, as we currently do with C.

Cheers,

>
>
> Simon Beaumont
>
> -------------------
> On 13 Jun 2013, at 06:18, Eric Schulte <schulte.eric@gmail.com> wrote:
>
>> Simon Beaumont <simon@datalligator.com> writes:
>> 
>>> Well that's really odd: I modded the paths in init.el and did the following:
>>> 
>>> emacs -Q -l init.el foo.org
>>> 
>>> When I eval'ed the code block in foo.org (twice) I still get message:
>>> "Code block returned no value" I've attached the inferior haskell
>>> buffer and all relevant files.
>>> 
>>> (add-to-list 'load-path "~/.emacs.d/elpa/haskell-mode-20130610.152")
>> 
>> I thought maybe it could be a difference between our haskell modes, so I
>> switched to the latest available through my elpa (haskell-mode-13.6),
>> and I still see the correct behavior.
>> 
>>> GHClet fac n = product [1..n]
>>> [(x,fac x) | x <- [0..11]]
>>> "org-babel-haskell-eoe"
>>> i, version 7.6.3: http://www.haskell.org/ghc/  :? for help
>>> Loading package ghc-prim ... linking ... done.
>>> Loading package integer-gmp ... linking ... done.
>>> Loading package base ... linking ... done.
>>>> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>>>> "org-babel-haskell-eoe"
>>>> let fac n = product [1..n]
>>> [(x,fac x) | x <- [0..11]]
>>> "org-babel-haskell-eoe"
>>>> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>>>> "org-babel-haskell-eoe"
>>> 
>> 
>> My *haskell* buffer looks different then yours.  Namely I have
>> "Prelude>" where as you just have ">".  I don't know if this is
>> significant.  Maybe you've customized your ghci prompts in such a way
>> that the comint functions can no longer recognize where output begins?
>> 
>> ,----
>> | GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
>> | Loading package ghc-prim ... let fac n = product [1..n]
>> | [(x,fac x) | x <- [0..11]]
>> | "org-babel-haskell-eoe"
>> | linking ... done.
>> | Loading package integer-gmp ... linking ... done.
>> | Loading package base ... linking ... done.
>> | Prelude> Prelude>
>> | Prelude> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>> | Prelude> "org-babel-haskell-eoe"
>> | Prelude> let fac n = product [1..n]
>> | [(x,fac x) | x <- [0..11]]
>> | "org-babel-haskell-eoe"
>> | Prelude> [(0,1),(1,1),(2,2),(3,6),(4,24),(5,120),(6,720),(7,5040),(8,40320),(9,362880),(10,3628800),(11,39916800)]
>> | Prelude> "org-babel-haskell-eoe"
>> | Prelude> 
>> `----
>> 
>> I'm not sure what else this could be.  One option would be to instrument
>> `org-babel-execute:haskell' or `org-babel-comint-with-output' with
>> edebug, and then step through evaluation to see if you can pinpoint
>> where the problem lies.
>> 
>> Hope this helps,
>> 
>> -- 
>> Eric Schulte
>> http://cs.unm.edu/~eschulte
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte

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

end of thread, other threads:[~2013-06-13 15:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-10 20:07 Bug: Babel Haskell mode [8.0.3 (8.0.3-30-g56b864-elpa @ /Users/ix/.emacs.d/elpa/org-20130610/)] Simon Beaumont
2013-06-10 22:53 ` Eric Schulte
2013-06-11 15:15   ` Simon Beaumont
2013-06-13  5:18     ` Eric Schulte
2013-06-13  9:35       ` Simon Beaumont
2013-06-13 13:04         ` Eric Schulte

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).