Skip to content

Document why clone is called clone; consider merging with describe into a register op #4

@bbatsov

Description

@bbatsov

Two related items from the PR #1 discussion about session establishment.

  • @imrekoszo asked why the op is called clone rather than something like new-session, and followed up asking for the explanation to live in the doc. @alexander-yakushev explained that the name is literal: when invoked on an existing session, it clones that session's state (notably dynamic-variable bindings); when invoked without a parent session, there's nothing to clone yet. The spec should say this.
  • Now that the spec asks clients to send describe immediately on connecting, @technomancy suggested folding the two together into a single register op that returns describe-style info and also registers a session. Worth a real discussion before doing anything.

My take:

  • I'm open to the register op idea, though we could probably retrofit clone to do the same thing.
  • Even if we introduce a new op, I'd probably keep clone around for backwards compatibility.
  • In general I like it when all ops are verbs. completions is an exception for historical reasons (to avoid collisions with cider-nrepl), but down the road anything is possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions