tutorial online example clojure

clojure - online - ¿Por qué requiere en la forma ns comportarse diferente de la función require?



clojure vs scala (1)

Cuando solicito bibliotecas del formulario ns obtengo:

test> (ns test (:require ''(clojure.contrib [logging :as log] [sql :as sql]) )) lib names inside prefix lists must not contain periods [Thrown class java.lang.Exception]

Cuando uso la función require, funciona como se esperaba.

test> (require ''(clojure.contrib [logging :as log] [sql :as sql]) ) nil

La documentación para ns se refiere a la documentación de la función require, pero como se comportan de manera diferente, esto es un poco confuso.


El formulario ns es una macro, por lo que no es necesario que use ''para citar la secuencia proporcionada.

Un ejemplo de los documentos de Clojure:

(ns foo.bar (:refer-clojure :exclude [ancestors printf]) (:require (clojure.contrib sql sql.tests)) (:use (my.lib this that)) (:import (java.util Date Timer Random) (java.sql Connection Statement)))