fenollp/kju — pull request #15 by fenollp (2014-04-20 21:32:31+00:00)
Title: Add second `import` statement and expand `mf` to namespaces.

# Paju ~ Kju package manag.
```
app0/
src/
app0.app.src
app0.erl
^–> # module app0
import ## Depends on 2 versions of same package:
"github.com/anon42/app1" master
"github.com/anon42/app1" v1.2
"bitbucket.org/user2/repo2" master
export main/0
main () =
ok = app2:bla(bla, bla)
## Static namespaces: disappear after compilation. (Modularity?)
## Reduced import-notation: short-repo:branch.
## MAY prefer even shorter: master:app1:f() & v1.2:app1:f()
## …depending on the conflict.
app1:master:app1:f()
app1:v1.2 :app1:f()
EOF
ebin/
app0.{app,beam}
deps/
github.com'anon42'app1'master/ ## repo-branch, s///'/g
src/ ## Mapping from github.com:anon42:app1:master:app1:f/0,
app1.{app.src,erl} ## app1:master:app1:f/0 or shortest: master:app1:f/0
ebin/ ## is done against deps' folder names.
app1.{app,beam}
github.com'anon42'app1'v1.2/
src/
app1.{app.src,erl}
ebin/
app1.{app,beam}
bitbucket.org'user2'repo2'master/
src/
app1.{app.src,erl}
ebin/
app2.{app,beam}
```

Need namespaces for:
* module names clashing between ≠ apps
* names clashing between ≠ versions of same apps (as in the above app0)

[Work on namespaces](http://www.erlang.se/publications/packages.html)
[Need for a namespacing primitive](http://erlang.org/pipermail/erlang-questions/2010-May/051430.html)
[Go **packages search**](https://github.com/daviddengcn/gcse)
[Shall fill every question](https://docs.google.com/document/d/1k-3mwBqAdTIKGcilWZPuKSMy3DWtfNRFDs9o98lcwHY/edit#heading=h.8910dpoj1qot) (EZ+namespaces already does…)
[Why the GoPM way(+Branch_name) is better](http://nathany.com/go-packages/)

---

```haskell
import ## Depends on 2 versions of same package:
"github.com/anon42/app1" master
"github.com/anon42/app1" v1.2
"bitbucket.org/user2/repo2" master
export main/0
main () =
ok = app2:bla(bla, bla)
app1:master:app1:f()
app1:v1.2 :app1:f()
```
<>
![45](https://cloud.githubusercontent.com/assets/278727/2751508/15fbd02e-c8d3-11e3-921d-904e194473ef.png)