4 ms·
All fairly reasonable critiques, but a few are actively being addressed or have been addressed > if you want to use operators liberally consider the hoops peop
by dtech 9y ago
All fairly reasonable critiques, but a few are actively being addressed or have been addressed
> if you want to use operators liberally consider the hoops people who need to search up `<++=` have to go through
To be fair, the SBT maintainers have realized this for a while and deprecated them all in 2013, and removed them in the 1.0 release from 2017.
> Speeding up compilation is a non-trivial exercise in futility
Do you mean for the developer? It's more of a critique of scala then of SBT, but incremental compilation has gotten a huge speed up in the new Zinc compiler of SBT 1.0, and Lightbend has started actively benchmarking and improving compiler speeds.
- aphexairlines 9y agoThe intro docs still mention some custom operators: := in http://www.scala-sbt.org/1.x/docs/Basic-Def.html http://www.scala-sbt.org/1.x/docs/Basic-Def.html / in http://www.scala-sbt.org/1.x/docs/Task-Graph.html http://www.scala-sbt.org/1.x/docs/Task-Graph.html % in http://www.scala-sbt.org/1.x/docs/Library-Dependencies.html http://www.scala-sbt.org/1.x/docs/Library-Dependencies.html %% in http://www.scala-sbt.org/1.x/docs/Library-Dependencies.html http://www.scala-sbt.org/1.x/docs/Library-Dependencies.html I don't know if they're useful or not, but they're there.
- vvillena 9y agoSome quick explanation: := is the standard SBT assignment operator. You see it everywhere, so its use is clear. / is used for directory traversal. This is not SBT-specific, it comes from the File class in the Scala standard library. This is not as common, but it is sometimes used to setup custom source directories. % and %% are used all the time for declaring dependencies. % is the standard separator, and %% is used to automatically choose the library version compatible with the Scala version used in the project. There is also %%%, used in ScalaJS. You can use only % if you want to, the only thing the other two do is add a suffix to the dependency name. So yeah, useful. Still, they could probably have done without these custom symbols.