I've got this code in an org-mode buffer (from HTDP)
#+name: letter
#+header:
#+begin_src scheme :exports both :session ch1
(define (letter fst lst signature-name)
(print (string-append
(opening fst)
"\n\n"
(body fst lst)
"\n\n"
(closing signature-name))))
(define (opening fst)
(string-append "Dear " fst ","))
(define (body fst lst)
(string-append
"We have discovered that all people with the last name " "\n"
lst " have won our lottery. So, " fst ", " "\n"
"hurry and pick up your prize."))
(define (closing signature-name)
(string-append
"Sincerely,"
"\n\n"
signature-name
"\n"))
#+end_src
. . . nothing earth-shaking, and it is accepted and works in the "ch1" REPL buffer. But if I try this with C-c C-c
#+BEGIN_SRC scheme :session ch1
(letter "Lawrence" "Bottorff" "The Grand Nagus")
#+END_SRC
I get
#+RESULTS:
: #<unspecified>
and a new Geiser dbg buffer with this output:
=> #<unspecified>
Dear Lawrence,
We have discovered that all people with the last name
Bottorff have won our lottery. So, Lawrence,
hurry and pick up your prize.
Sincerely,
The Grand Nagus
;; -*- geiser-scheme-implementation: chicken -*-
(letter "Lawrence" "Bottorff" "The Grand Nagus")
This is the proper output -- but as a guile dbg buffer displacing the ch1 REPL? Please advise if this is a ob-scheme.el issue. (We've tracked down one major issue already.) ob-scheme is designed to work only with geiser, BTW.
LB