Clojure – Namespaces

Clojure namespaces

In this guide, we will discuss Clojure Namespaces. Namespaces in Clojure are used to differentiate classes into separate logical spaces just like in Java. Consider the following statement.

(:require [clojure.set :as set])

In the above statement, ‘clojure.set’ is a namespace which contains various classes and methods to be used in the program. For example, the above namespace contains the function called map-invert, which is used to invert a map of key-values. We cannot use this function unless we explicitly tell our program to include this namespace.

Let’s look at the different methods available for namespaces.

Sr.No.Methods & Description
1*ns*
This is used to look at your current namespace.
2ns
This is used to create a new namespace and associate it with the running program.
3alias
Add an alias in the current namespace to another namespace. Arguments are two symbols: the alias to be used and the symbolic name of the target namespace.
4all-ns
Returns a list of all namespaces.
5find-ns
Finds and returns a particular namespace.
6ns-name
Returns the name of a particular namespace.
7ns-aliases
Returns the aliases, which are associated with any namespaces.
8ns-map
Returns a map of all the mappings for the namespace.
9un-alias
Returns a map containing only those entries in map whose key is in keys.

Next Topic : Click Here

This Post Has One Comment

Leave a Reply