From: Hunter Jozwiak <hunter.t.joz@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: Connecting to an Already Running Scheme REPL with org-babel
Date: Mon, 29 Jan 2024 12:21:12 -0500 [thread overview]
Message-ID: <87zfwojbsn.fsf@gmail.com> (raw)
In-Reply-To: <87il3cmg4o.fsf@localhost> (Ihor Radchenko's message of "Mon, 29 Jan 2024 13:19:19 +0000")
[-- Attachment #1.1.1: Type: text/plain, Size: 2853 bytes --]
Ihor Radchenko <yantar92@posteo.net> writes:
> Hunter Jozwiak <hunter.t.joz@gmail.com> writes:
>
>> Here is a patch that provides this functionality.
>
> Thank you!
>
>> Subject: [PATCH] org-mode: allow ob-scheme to accept a remote connection.
>>
>> * lisp/org/ob-scheme.el (org-babel-scheme-get-repl): introduce two
>> optional variables host and port. If there are not given, just run
> ^^^^^^^^^ arguments
>
>> * lisp/org/ob-scheme (org-babel-scheme-execute-with-geiser,
>> org-babel-execute:scheme): take these optional arguments into
>> account.
>
> ... and add two new optional arguments.
>
>> @@ -231,6 +235,8 @@ org-babel-execute:scheme
>> geiser-scheme-implementation
>> geiser-default-implementation
>> (car geiser-active-implementations)))
>> + (host (cdr (assq :host params)))
>> + (port (cdr (assq :port params)))
>
> Please declare these new scheme-specific header argument in
> `org-babel-header-args:scheme'.
> See `org-babel-header-args:C' for an example.
> This is necessary for header argument completion to work.
>
Okay. Is there a way to tighten these inputs further? I have them set to
:any for the moment, but I wonder if there is a way to leverage the
values for `geiser-repl-default-host` and `geiser-repl-default-port`.
> Also, please document the new header argument in the ob-scheme
> documentation at
> https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-scheme.html
> (you can submit a patch against
> https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/languages/ob-doc-scheme.org )
>
Sure thing; I can do that after I finish this message.
>> - (and (not (string= session "none")) session)))) ; session
>> + (and (not (string= session "none")) session) host port))) ; session
>
> This does not look right. Your change will disable session support
> completely when host and port are not provided.
Is there a way to test this and pinpoint the problem? I'm not familiar with using :sessions. Here is what I tested so far:
#+begin_example
#+begin_src scheme :scheme guile :host localhost :port 37146 :session *image*
(use-modules (gnu)
(guix)
(guix gexp))
#+end_src
#+begin_src scheme :host localhost :port 37146 :session *image*
(use-service-modules sound)
(use-package-modules linux)
#+end_src
#+begin_src scheme :scheme guile :session *other*
(use-srfis '(26))
#+end_src
#+end_example
This particular test gave me two REPLS. In the =*image*= REPL, I have access to the packages and services I would need to build part of the current project I am working on. The other REPL gives me access to the `cut` and `cute` macros, and there isn't any plution between the two. Is there something else I'm missing here?
[-- Attachment #1.1.2: Type: text/html, Size: 4412 bytes --]
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]
next prev parent reply other threads:[~2024-01-29 17:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-28 22:17 Connecting to an Already Running Scheme REPL with org-babel Hunter Jozwiak
2024-01-28 22:45 ` Ihor Radchenko
2024-01-29 3:08 ` Hunter Jozwiak
2024-01-29 13:19 ` Ihor Radchenko
2024-01-29 17:21 ` Hunter Jozwiak [this message]
2024-01-30 11:54 ` Ihor Radchenko
2024-01-30 15:18 ` Hunter Jozwiak
2024-01-30 15:46 ` Ihor Radchenko
2024-01-29 19:10 ` Hunter Jozwiak
2024-01-30 15:47 ` Ihor Radchenko
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zfwojbsn.fsf@gmail.com \
--to=hunter.t.joz@gmail.com \
--cc=emacs-orgmode@gnu.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 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).