Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Parallel universes for namespaces
Clojure
branch: master

This branch is 5 commits ahead of technomancy:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc
sample
src/meta
test/metaverse
.gitignore
README.md
project.clj

README.md

Metaverse

Parallel universes ... for namespaces!

Usage

The meta.verse/ns- macro lets you simultaneously load multiple revisions of a given namespace:

(require 'meta.verse)

(ns- my.namespace
  (:require [slam.hound.stitch :as stitch1
             :rev "1a98e2021313105a7e3c7dcd5be578caa812b347"]
            [slam.hound.stitch :as stitch2
             :rev "df185e59448b09c0985cbdaf167146cfd4e4df73"])

Currently this requires seeding the Metaverse home with revisions though.

(meta.verse.seed/-main "slamhound" "slamhound" "1.2.0")
(meta.verse.seed/-main "slamhound" "slamhound" "1.1.1")
(meta.verse.seed/-main "/home/phil/src/clj-http/src/clj_http/client.clj")

Seeding is currently manual.

Limitations

This won't allow you to load multiple Java classes at the same time, just Clojure files. See jarjar for some prior art in this area.

It's also currently not transitive.

License

Copyright © 2012 Seattle Clojure Group

Distributed under the Eclipse Public License, the same as Clojure.

Something went wrong with that request. Please try again.