summaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-11-24 08:58:28 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-11-24 08:58:28 -0800
commit66c58463b9a418fc6690fcf481b9850c783c7b8a (patch)
tree4aae33b43d1cf58137f8f412b865e92f3eff7dd0 /readme.md
parent682bca54018ac332bf40985f5b967db45516076f (diff)
downloadmill-66c58463b9a418fc6690fcf481b9850c783c7b8a.tar.gz
mill-66c58463b9a418fc6690fcf481b9850c783c7b8a.tar.bz2
mill-66c58463b9a418fc6690fcf481b9850c783c7b8a.zip
more readme tweaks
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md15
1 files changed, 6 insertions, 9 deletions
diff --git a/readme.md b/readme.md
index d763753a..934e2766 100644
--- a/readme.md
+++ b/readme.md
@@ -212,15 +212,6 @@ also a 3-layer interpretation model, but layers 1 & 2 are almost exactly the
same: mutable python which performs global side effects (layer 3 is the same
dependency-graph evaluator as SBT/mill)
-Having the two layers be “just python” is great since people know python, but I
-think unnecessary two have two layers ("evaluating macros" and "evaluating rule
-impls") that are almost exactly the same
-
-Having the python layers “do their work” by calling global side-effecting APIs
-(macros instantiate rules, rule impls instantiate actions, both via
-global-side-effecting bazel APIs that return None) is also not great, and I also
-think it’s not necessary
-
You end up having to deal with a non-trivial python codebase where everything
happens via
@@ -237,6 +228,12 @@ do_other_thing(dependencies=["blah"])
where `"blah"` is a global identifier that is often constructed programmatically
via string concatenation and passed around. This is quite challenging.
+Having the two layers be “just python” is great since people know python, but I
+think unnecessary two have two layers ("evaluating macros" and "evaluating rule
+impls") that are almost exactly the same, and I think making them interact via
+return values rather than via a global namespace of programmatically-constructed
+strings would make it easier to follow.
+
With Mill, I’m trying to collapse Bazel’s Python layer 1 & 2 into just 1 layer
of Scala, and have it define it’s dependency graph/hierarchy by returning
values, rather than by calling global-side-effecting APIs I've had trouble