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