News for hackers. Stuff that matters.
Re:Kati – An experimental GNU make clone by michaelhoffman on Wednesday July 08, 2015 @03:17PM (#9853991)
The Ninja it converts to appears to be here:

https://martine.github.io/ninja/

Re:Kati – An experimental GNU make clone by rspeer on Wednesday July 08, 2015 @03:52PM (#9854195)
I'm a big fan of Ninja: it applies the philosophy of "do one thing and do it well" to build systems. It takes in a dependency graph and a list of build rules, and it builds stuff in parallel.

Like Make, you can use it to build a lot of different kinds of things, and it doesn't care what programming language you're using.

Unlike Make, it doesn't give you its own idiosyncratic, messy, easily-misused programming language for defining your dependency graph. The dependency graph is just an input that comes from somewhere else. You can make it in a reasonable programming language, or apparently now you can make it out of a Makefile using Kati.

Because it's not trying to support decades of Makefile hacks, Ninja can do things that would be dangerous to do in Make, such as a single build step that reads M files and writes N files without any extra locking or bookkeeping.

Re:Kati – An experimental GNU make clone by wichsen on Wednesday July 08, 2015 @04:01PM (#9854236)
I just saw an HN post about this: https://news.ycombinator.com/item?id=9854223
Re:Kati – An experimental GNU make clone by black_knight on Wednesday July 08, 2015 @04:29PM (#9854374)
How does it compare to mk[0]?

mk was make done better for Plan 9.

[0] http://plan9.bell-labs.com/sys/doc/mk.html

Re:Kati – An experimental GNU make clone by koenigdavidmj on Wednesday July 08, 2015 @05:07PM (#9854589)
mk and Ninja (the target to which Kati compiles) appear to be almost equivalent to each other, except that mk has patterns ("here is how to compile any .c file into a .o file") and Ninja requires that each target be written explicitly ("here is how to compile foo.c into foo.o", once per file).

This is okay, because mk is meant to be written by humans and Ninja is meant to be a target for compilers like Kati and cmake.

Re:Kati – An experimental GNU make clone by oso2k on Wednesday July 08, 2015 @07:09PM (#9855211)
Make uses patterns as well, especially if you're "Doing It Right"(tm) [0][1][2].

[0] http://git.suckless.org/st/tree/Makefile#n6

[1] http://git.suckless.org/st/tree/Makefile#n7

[2] http://git.suckless.org/st/tree/Makefile#n20

Re:Kati – An experimental GNU make clone by ngrilly on Wednesday July 08, 2015 @04:23PM (#9854342)
Why two versions of the code in Go and C++?
Re:Kati – An experimental GNU make clone by worik on Wednesday July 08, 2015 @05:06PM (#9854582)
Why? A wheel with less corners...
Re:Kati – An experimental GNU make clone by rurban on Thursday July 09, 2015 @07:56AM (#9857324)
Some people on bigger projects are tired of waiting for their builds and test results, so they wrote something better and faster. => ninja

On bigger projects waiting 60min or 10min or 2min makes a difference.

kati so far converts traditional makefile recipes into ninja builds.

Re:Kati – An experimental GNU make clone by yoklov on Wednesday July 08, 2015 @05:17PM (#9854655)
Not sure this is the answer (I actually doubt it), but possibly because Make works poorly, and requires painful setup on Windows?