Skip to content

Documentation on nrepl.org is misleading regarding protocol #401

Description

@technomancy

At the Clojure Conj a few days ago, I met David Miller, the author of ClojureCLR. The conversation came around to nrepl somehow, and I asked him what it was like to add nrepl support to ClojureCLR. To my great surprise, he said he found it quite difficult. When I asked him why, he said it was largely because of the complexity of the abstractions in nrepl around middleware, handlers, transports, etc. With a few further questions I could tell that he had gotten confused between the description of the nrepl protocol and the description of its Clojure reference implementation. But when I went to look at the site, I could see why he had made this mistake; the documentation is very unclear about what is part of the protocol and which parts are just implementation details. When I spoke to other implementors at the conference, they expressed similar concerns.

I'd like to propose that https://nrepl.org become a site that specifically documents the nrepl protocol and does not make any special mention of the Clojure implementation, while the parts that are about the Clojure server get moved somewhere else, perhaps https://clojure.nrepl.org. This way other implementors can read about the spec and have an easy time implementing it, instead of doing a literal port of the Clojure server the way David Miller did.

I'd be willing to help with the protocol-specific documentation, as long as it can be done in a way that doesn't involve npm.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions