mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
update README
This commit is contained in:
parent
e85e7ebcf0
commit
c0dc0ca6c9
29
README.md
29
README.md
@ -22,35 +22,32 @@ compromises backward compatibility.
|
|||||||
always compiled against statically in source form.
|
always compiled against statically in source form.
|
||||||
* Generics so that one can write efficient data structures that work for any
|
* Generics so that one can write efficient data structures that work for any
|
||||||
data type.
|
data type.
|
||||||
* Ability to run arbitrary code at compile time and generate code.
|
|
||||||
* No null pointer. Convenient syntax for dealing with a maybe type so that
|
* No null pointer. Convenient syntax for dealing with a maybe type so that
|
||||||
null pointer is not missed.
|
null pointer is not missed.
|
||||||
* A type which represents an error and has some convenience syntax with
|
* An error type, combined with some syntatical constructs which makes writing
|
||||||
regards to resources.
|
robust code convenient and straightforward.
|
||||||
* Defer statement.
|
|
||||||
* Eliminate the need for configure, make, cmake, etc.
|
* Eliminate the need for configure, make, cmake, etc.
|
||||||
* Eliminate the need for header files (when using zig internally).
|
* Eliminate the need for header files (when using zig internally).
|
||||||
* Tagged union enum type.
|
* Tagged union enum type. No more accidentally reading the wrong union field.
|
||||||
* Resilient to parsing errors to make IDE integration work well.
|
* Easy to parse language so that humans and machines have no trouble with the
|
||||||
* Eliminate the preprocessor, but have a plan for how to do things you would
|
syntax.
|
||||||
want to use the preprocessor for such as conditional compilation.
|
* Eliminate the preprocessor, but (most) everything you can accomplish with
|
||||||
|
the preprocessor, you can accomplish directly in the language.
|
||||||
* Ability to mark functions as test and automatically run them in test mode.
|
* Ability to mark functions as test and automatically run them in test mode.
|
||||||
This mode should automatically provide test coverage.
|
Automatically provide test coverage.
|
||||||
* Friendly toward package maintainers.
|
* Friendly toward package maintainers.
|
||||||
* Ability to declare dependencies as Git URLS with commit locking (can
|
* Ability to declare dependencies as Git URLS with commit locking (can
|
||||||
provide a tag or sha1).
|
provide a tag or sha1).
|
||||||
* Include documentation generator.
|
* Include documentation generator.
|
||||||
* Shebang line OK so language can be used for "scripting" as well.
|
* Shebang line OK so language can be used for "scripting" as well.
|
||||||
* Have the compiler run continuously, watching the file system for source
|
* Debug mode optimizes for fast compilation time and crashing when undefined
|
||||||
changes and automatically perform multithreaded compilation to build projects
|
behavior *would* happen.
|
||||||
quickly.
|
* Release mode produces heavily optimized code. What other projects call
|
||||||
* Hot code swapping. When integrated with the previous feature, you could
|
"Link Time Optimization" Zig does automatically.
|
||||||
press "save" in your editor and see the change immediately in your running
|
|
||||||
software.
|
|
||||||
|
|
||||||
### Current Status
|
### Current Status
|
||||||
|
|
||||||
* Have a look in the examples/ folder to see some code examples.
|
* Have a look in the example/ folder to see some code examples.
|
||||||
* Basic language features available such as loops, inline assembly,
|
* Basic language features available such as loops, inline assembly,
|
||||||
expressions, literals, functions, importing, structs, tagged unions.
|
expressions, literals, functions, importing, structs, tagged unions.
|
||||||
* Linux x86_64 is supported.
|
* Linux x86_64 is supported.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user