Commit graph

88 commits

Author SHA1 Message Date
Nathaniel Nicandro
07bdc46a87 Move some code to a more appropriate place 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
3c2cc77348 Remove the callbacks slot of a jupyter-request
Callbacks are added to a request using `jupyter-message-subscribed`.
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
22d2a3f327 Remove the jupyter-send method...
- Add a `message-publisher` slot to `jupyter-request`, set when
  sending a request.

- `*-request` functions now return a delayed request value instead of
  a request. Update call sites.

- Add the functions `jupyter-messages`, `jupyter-idle`,
`jupyter-message-subscribed` and `jupyter-client-subscribed`.

- Move client subscription to a request's messages to
  `jupyter-client-subscribed`.

- Request callbacks are now added via `jupyter-message-subscribed`.

- Reduce usage of callbacks in favor of searching `jupyter-messages`
  where appropriate.

- Update tests
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
e1221d55a1 Add :parent-request member when publishing request messages 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
37a74e601b Actually delay generation of request in jupyter-request 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
0f271ec322 monads: Reword doc 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
b763c09778 Remove unused functions 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
9dd6268fa5 Remove some comments 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
134167e65e Remove keyword message types 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
ef26ef1b08 Remove jupyter-io 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
a23f8fe864 Use jupyter-generate-request in jupyter-request 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
ab616e4609 Simplify jupyter-request message collecting 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
e133c34707 Add do prefix to launch,shutdown,interrupt functions of a kernel
launch,shutdown,interrupt are now monadic functions.
2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
f5d8e7c535 Remove unused function 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
bd6e2c3228 jupyter-monads.el: Require jupyter-base 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
84b2e140a4 jupyter-publisher: Mention jupyter-subscriber in doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
fa43656632 jupyter-pseudo-bind-content: Mention errors in doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
f28c1c649a Make jupyter-request pure 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
fc0321a1fd Distinguish between a publisher and subscriber error 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
1739346990 Remove unused function 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
61776abcce Add WebSocket I/O 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
f09fd3618c Modify the subscriber list instead of setting it
This is to account for the asynchronous nature of calls to Emacs
process filter functions.  The old way had
`jupyter-pseudo-bind-content` return a new list of subscribers to set
so ultimately, if the same publisher was called recursively the
outer (older) call would set the list.
2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
9f23483681 jupyter-request 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
680d8d845a jupyter-publish: Simplify doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
e1843d719e jupyter-filter and jupyter-filter-content 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
23e58afc35 jupyter-kernel-launch 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
01f76e07a7 jupyter-monads.el: Add jupyter-io 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
d720126871 Update doc of publisher 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
f5c2a4aa63 monads: request 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
02a9c2d7a8 monads: comments 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
5336f16851 jupyter-send-content -> jupyter-content 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
5bd9ca7cbc Flush out the unsubscribe dynamic 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
c1896288d0 jupyter-monads.el: Doc changes 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
024c0e1378 jupyter-return-delayed: fix debug form 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
f19ba287db Update comments 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
afa2f7ef65 pseudo-bind 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
97b620838e websocket-io stuff 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
8052de14dd flesh out jupyter-request 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
e8e7f24ed6 implement jupyter-return-websocket-io 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
5880b29ec8 Don't wrap body with return in mlet* 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
d0941b1c5a Update default value of jupyter-current-io 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
b5e5d84061 Lots of doc changes and comments 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
fd48742ca1 Remove nested pcase in pulisher 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
ae7641b755 jupyter-do: Updtae doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
5b2f182be7 jupyter--deliver: use condition-case 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
20834676b9 small changes 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
98d80d150a jupyter-subscribe: update doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
1d226206d7 jupyter-publish: update doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
af54d1f6bc jupyter-run-with-io: update doc 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
d7dd531646 jupyter-with-io: update doc 2023-02-13 20:22:50 -06:00