emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Tim Cross <theophilusx@gmail.com>
To: numbchild@gmail.com
Cc: Org-mode <emacs-orgmode@gnu.org>
Subject: Re: ob-clojure.el is not compatible with new CIDER API
Date: Mon, 30 Jul 2018 08:14:22 +1000	[thread overview]
Message-ID: <87fu01u1tt.fsf@gmail.com> (raw)
In-Reply-To: <87o9eqp80z.fsf@gmail.com>


No, there is no public repo and I'm not sure I even kept what little I
had done - it was just a hacked elisp file. I'll have a look through my
elisp archive, but don't expect much.

Over the weekend, I caught up on a bit of clojure and things have
progressed in the last few months. I notice the clj tool seems quite
mature and there is now support for clojurescript with it as well. Don't
know if inf-clojure will move (has already moved?) to be based around it
or not?

At any rate, I think you are probably better off starting from scratch
rather than trying to 'adjust' the existing package. There are some
cases where I can see someone wanting cider/slime support, but for the
majority of cases, just plain clojure via inf-clojure or clojure/clj or
one of the many available repl clients should be fairly straight
forward.

The real challenge is in deciding how to handle interaction between
different clojure blocks and their dependencies. The simple solution
would likely be to just start some form of repl session and have all
blocks sent to that session. However, you then need to decide how to
handle matters when someone opens a new org file. You probably don't
want old definitions/artifacts from the previous session in the repl, so
you would need a clean way of managing multiple sessions (one per org
file?).

Apart from that, all you really need is the ability to send a form to
the repl and read back the result. The inf-clojure package already has
most of the infrastructure for doing that, but from memory, it was a
little hard to fit it into the existing structure of ob-clojure.el -
which is why you may be better off just implementing an
ob-inf-clojure.el rather than try to add a 3rd method to the existing
package (which supports cide and the old slime-clojure interfaces).

stardiviner <numbchild@gmail.com> writes:

> Tim Cross <theophilusx@gmail.com> writes:
>
>> I did begin to look at it. From memory, the inf-clojure integration didn't look that hard,
>> but it did require some additional scaffolding to mae the comms work well. I then got
>> distracted with a new job and haven't had time to go back to it. Currently, I've not had time
>> to do any Clojure work, so it is not high on the priority list.
>>
>
> Can I see your work? Do you have any public source code repository online of this?


-- 
Tim Cross

  reply	other threads:[~2018-07-29 22:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-16 11:17 ob-clojure.el is not compatible with new CIDER API stardiviner
2018-07-18 22:30 ` Tim Cross
2018-07-24  4:32   ` stardiviner
2018-07-24  6:54     ` Tim Cross
2018-07-29 11:59       ` stardiviner
2018-07-29 22:14         ` Tim Cross [this message]
2018-07-31  0:25           ` stardiviner

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=87fu01u1tt.fsf@gmail.com \
    --to=theophilusx@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=numbchild@gmail.com \
    /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).