practicalli / practicalli/clojure

Understanding namespaces

Open
#135 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clojure-core
Dominant language
Makefile
Stars
117
Forks
36
PR merge metrics
No merged PRs in 30d

Description

I thought namespaces were the same as packages in Java

namespaces are different, they don't exist in java
(the clojure namespace construct has a representation in java, but it's not something a non-clojure java class would be likely to care about, use, or resepect)

It's much weirder / messier than that. If a namespace creates a class, the heirarchy of the ns is translated into the class' package
but the ns itself is a data structure, and clojure keeps a mapping of all ns symbols to their implementations, and each ns contains mappings describing what's visible to them and what's exported from them

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No documentation file or test is named. Review the existing explanation of Clojure namespaces and compare it with the distinctions described here, including Java package translation, namespace data structures, and symbol mappings. Done means the documentation clearly explains these differences without implying that namespaces are Java packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.