authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-25 15:22:52-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-25 15:22:52-07:00
logc0dc0ca6c90649f157dfcb43c7ec69fa4b5f6b09
tree0570aa1bb1edc922432ddc54df6b5a28137cbb92
parente85e7ebcf0d3e47f0766a13233daa26eb0a9e277

update README


1 files changed, 13 insertions(+), 16 deletions(-)

README.md+13-16
...@@ -22,35 +22,32 @@ compromises backward compatibility....@@ -22,35 +22,32 @@ compromises backward compatibility.
22 always compiled against statically in source form.22 always compiled against statically in source form.
23 * Generics so that one can write efficient data structures that work for any23 * Generics so that one can write efficient data structures that work for any
24 data type.24 data type.
25 * Ability to run arbitrary code at compile time and generate code.
26 * No null pointer. Convenient syntax for dealing with a maybe type so that25 * No null pointer. Convenient syntax for dealing with a maybe type so that
27 null pointer is not missed.26 null pointer is not missed.
28 * A type which represents an error and has some convenience syntax with27 * An error type, combined with some syntatical constructs which makes writing
29 regards to resources.28 robust code convenient and straightforward.
30 * Defer statement.
31 * Eliminate the need for configure, make, cmake, etc.29 * Eliminate the need for configure, make, cmake, etc.
32 * Eliminate the need for header files (when using zig internally).30 * Eliminate the need for header files (when using zig internally).
33 * Tagged union enum type.31 * Tagged union enum type. No more accidentally reading the wrong union field.
34 * Resilient to parsing errors to make IDE integration work well.32 * Easy to parse language so that humans and machines have no trouble with the
35 * Eliminate the preprocessor, but have a plan for how to do things you would33 syntax.
36 want to use the preprocessor for such as conditional compilation.34 * Eliminate the preprocessor, but (most) everything you can accomplish with
35 the preprocessor, you can accomplish directly in the language.
37 * Ability to mark functions as test and automatically run them in test mode.36 * Ability to mark functions as test and automatically run them in test mode.
38 This mode should automatically provide test coverage.37 Automatically provide test coverage.
39 * Friendly toward package maintainers.38 * Friendly toward package maintainers.
40 * Ability to declare dependencies as Git URLS with commit locking (can39 * Ability to declare dependencies as Git URLS with commit locking (can
41 provide a tag or sha1).40 provide a tag or sha1).
42 * Include documentation generator.41 * Include documentation generator.
43 * Shebang line OK so language can be used for "scripting" as well.42 * Shebang line OK so language can be used for "scripting" as well.
44 * Have the compiler run continuously, watching the file system for source43 * Debug mode optimizes for fast compilation time and crashing when undefined
45 changes and automatically perform multithreaded compilation to build projects44 behavior *would* happen.
46 quickly.45 * Release mode produces heavily optimized code. What other projects call
47 * Hot code swapping. When integrated with the previous feature, you could46 "Link Time Optimization" Zig does automatically.
48 press "save" in your editor and see the change immediately in your running
49 software.
5047
51### Current Status48### Current Status
5249
53 * Have a look in the examples/ folder to see some code examples.50 * Have a look in the example/ folder to see some code examples.
54 * Basic language features available such as loops, inline assembly,51 * Basic language features available such as loops, inline assembly,
55 expressions, literals, functions, importing, structs, tagged unions.52 expressions, literals, functions, importing, structs, tagged unions.
56 * Linux x86_64 is supported.53 * Linux x86_64 is supported.