From: "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org>
To: emacs-orgmode-mXXj517/zsQ@public.gmane.org
Subject: Re: Babel woes
Date: Wed, 17 Aug 2011 15:51:39 +0200 [thread overview]
Message-ID: <8039h0qh78.fsf@somewhere.org> (raw)
In-Reply-To: CALPHr6xUKd2kk69Rzus19-S5-w1Oxn0EX7VmWfgtcLgA4y5-gA@mail.gmail.com
Hi Andras,
Andras Major wrote:
> I've been trying to use org-mode for report generation lately, and
> haven't really succeeded. Here's a list of issues I encounter:
>
> - Babel offers a way of generating a code block from the output or
> value of a code block. That new block, however, is forced to the
> same language as the original block -- that is doesn't allow me, for
> example, to use a Haskell block to create an asymptote figure which
> then generates an image in the HTML or PDF export version. Is there
> a way around this limitation?
I had the similar wish some months ago. See thread
http://www.mail-archive.com/emacs-orgmode-mXXj517/zsQ@public.gmane.org/msg35290.html for another
use case.
No idea about the rest of your email...
> - Ruby: is inf-ruby really required? Why can't I execute a ruby block
> without it?
>
> - Haskell: there are at least two interpreters that babel will invoke,
> depending on what is available (ghci and hugs), and those two are
> incompatible in some areas (such as loading modules, where the
> commands are different -- :add vs. :load). I haven't found a way of
> + forcing the use of a specific interpreter;
> + specifying command-line arguments to the interpreter (which would
> eliminate the need for :add or :load).
> This really makes using Haskell rather hit-and-miss, see below.
>
> - Haskell code usage is rather cumbersome: since Babel invokes an
> interpreter rather than runghc, a Haskell block doesn't nearly have
> the flexibility of a real Haskell program. In particular, one can
> only make definitions (portably) in the Haskell code by creating a
> separate block which is tangled but not executed. Another block,
> which is executed, can then load the tangled module and use its
> definitions (if it weren't for the problems described above and
> below).
>
> - The handling of interpreted Haskell appears to be rather dodgy: If I
> want to load a module (in ghci) and then evaluate some function,
> then I run into real trouble. None of my tests run at all when
> first loaded into emacs, but if I execute some tests in a certain
> order, it all starts working. I haven't been able to figure out yet
> what goes wrong and what "playing around" makes things work, but it
> appears that
> #+begin_src haskell
> :add SomeModule
> someFunction
> #+end_src
> will not work because the :add statement is ignored. If I put the
> two lines in separate Haskell blocks and execute each one
> separately, then things start to work.
>
> - I also tried using sbe to invoke a Haskell function from within a
> table formula. Here I usually get an error "ERROR - Undefined
> variable "x"", which sometimes goes away rather magically (I'm not
> sure what makes it go away), after which things work just fine.
> Emacs-lisp blocks written in the same manner work out of the box.
>
> - Haskell uses a static type system, and there is no such thing as
> automatic casting if a variable has the wrong type for a given
> function. Thus, if I evaluate the numbers of a table using Haskell
> and sbe, and some values have a decimal dot and other (integer) ones
> omit it, then one of these versions will throw an error. Is there a
> way of converting the values beforehand to a given type (say,
> Double), only to make Haskell happy?
>
> Can anyone give me a hint of why these things don't work and whether
> I'm doing something wrong?
>
> Oh, I'm using emacs from Debian testing (23.2+1-7) and org from git
> (cloned today).
Best regards,
Seb
--
Sebastien Vauban
next prev parent reply other threads:[~2011-08-17 13:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-17 12:59 Babel woes Andras Major
2011-08-17 13:51 ` Sebastien Vauban [this message]
2011-08-17 17:37 ` Thomas S. Dye
2011-08-19 12:59 ` Eric Schulte
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8039h0qh78.fsf@somewhere.org \
--to=wxhgmqzgwmuf-genee64ty+gs+fvcfc7uqw@public.gmane.org \
--cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.