Commit f6937db7d6
Changed files (1)
README.md
@@ -3,137 +3,11 @@
Zig is an open-source programming language designed for **robustness**,
**optimality**, and **maintainability**.
-[Download & Documentation](https://ziglang.org/download/)
-
-## Feature Highlights
-
- * Small, simple language. Focus on debugging your application rather than
- debugging knowledge of your programming language.
- * Ships with a build system that obviates the need for a configure script
- or a makefile. In fact, existing C and C++ projects may choose to depend on
- Zig instead of e.g. cmake.
- * A fresh take on error handling which makes writing correct code easier than
- writing buggy code.
- * Debug mode optimizes for fast compilation time and crashing with a stack trace
- when undefined behavior *would* happen.
- * ReleaseFast mode produces heavily optimized code. What other projects call
- "Link Time Optimization" Zig does automatically.
- * Compatible with C libraries with no wrapper necessary. Directly include
- C .h files and get access to the functions and symbols therein.
- * Provides standard library which competes with the C standard library and is
- always compiled against statically in source form. Zig binaries do not
- depend on libc unless explicitly linked.
- * Optional type instead of null pointers.
- * Safe unions, tagged unions, and C ABI compatible unions.
- * Generics so that one can write efficient data structures that work for any
- data type.
- * No header files required. Top level declarations are entirely
- order-independent.
- * Compile-time code execution. Compile-time reflection.
- * Partial compile-time function evaluation which eliminates the need for
- a preprocessor or macros.
- * The binaries produced by Zig have complete debugging information so you can,
- for example, use GDB, MSVC, or LLDB to debug your software.
- * Built-in unit tests with `zig test`.
- * Friendly toward package maintainers. Reproducible build, bootstrapping
- process carefully documented. Issues filed by package maintainers are
- considered especially important.
- * Cross-compiling is a primary use case.
- * In addition to creating executables, creating a C library is a primary use
- case. You can export an auto-generated .h file.
-
-### Supported Targets
-
-#### Tier 1 Support
-
- * Not only can Zig generate machine code for these targets, but the standard
- library cross-platform abstractions have implementations for these targets.
- Thus it is practical to write a pure Zig application with no dependency on
- libc.
- * The CI server automatically tests these targets on every commit to master
- branch, and updates ziglang.org/download with links to pre-built binaries.
- * These targets have debug info capabilities and therefore produce stack
- traces on failed assertions.
- * ([coming soon](https://github.com/ziglang/zig/issues/514)) libc is available
- for this target even when cross compiling.
-
-#### Tier 2 Support
-
- * There may be some standard library implementations, but many abstractions
- will give an "Unsupported OS" compile error. One can link with libc or other
- libraries to fill in the gaps in the standard library.
- * These targets are known to work, but are not automatically tested, so there
- are occasional regressions.
- * Some tests may be disabled for these targets as we work toward Tier 1
- support.
-
-#### Tier 3 Support
-
- * The standard library has little to no knowledge of the existence of this
- target.
- * Because Zig is based on LLVM, it has the capability to build for these
- targets, and LLVM has the target enabled by default.
- * These targets are not frequently tested; one will likely need to contribute
- to Zig in order to build for these targets.
- * The Zig compiler might need to be updated with a few things such as
- - what sizes are the C integer types
- - C ABI calling convention for this target
- - bootstrap code and default panic handler
- * `zig targets` is guaranteed to include this target.
-
-#### Tier 4 Support
-
- * Support for these targets is entirely experimental.
- * LLVM may have the target as an experimental target, which means that you
- need to use Zig-provided binaries for the target to be available, or
- build LLVM from source with special configure flags. `zig targets` will
- display the target if it is available.
- * This target may be considered deprecated by an official party,
- [such as macosx/i386](https://support.apple.com/en-us/HT208436) in which
- case this target will remain forever stuck in Tier 4.
- * This target may only support `--emit asm` and cannot emit object files.
-
-#### Support Table
-
-| | freestanding | linux | macosx | windows | freebsd | netbsd | UEFI | other |
-|-------------|--------------|--------|--------|---------|---------|------- | -------|--------|
-|x86_64 | Tier 2 | Tier 1 | Tier 1 | Tier 1 | Tier 2 | Tier 2 | Tier 2 | Tier 3 |
-|i386 | Tier 2 | Tier 2 | Tier 4 | Tier 2 | Tier 3 | Tier 3 | Tier 3 | Tier 3 |
-|arm | Tier 2 | Tier 3 | Tier 3 | Tier 3 | Tier 3 | Tier 3 | Tier 3 | Tier 3 |
-|arm64 | Tier 2 | Tier 2 | Tier 3 | Tier 3 | Tier 3 | Tier 3 | Tier 3 | Tier 3 |
-|wasm32 | Tier 2 | N/A | N/A | N/A | N/A | N/A | N/A | Tier 2 |
-|bpf | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|hexagon | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|mips | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|powerpc32 | Tier 3 | Tier 3 | Tier 4 | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|powerpc64 | Tier 3 | Tier 3 | Tier 4 | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|amdgcn | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|sparc | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|s390x | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|lanai | Tier 3 | Tier 3 | N/A | N/A | Tier 3 | Tier 3 | N/A | Tier 3 |
-|wasm64 | Tier 4 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
-|avr | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|riscv32 | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | Tier 4 | Tier 4 |
-|riscv64 | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | Tier 4 | Tier 4 |
-|xcore | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|nvptx | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|msp430 | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|r600 | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|arc | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|tce | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|le | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|amdil | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|hsail | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|spir | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|kalimba | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|shave | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-|renderscript | Tier 4 | Tier 4 | N/A | N/A | Tier 4 | Tier 4 | N/A | Tier 4 |
-
-## Community
-
- * IRC: `#zig` on Freenode ([Channel Logs](https://irclog.whitequark.org/zig/)).
- * Reddit: [/r/zig](https://www.reddit.com/r/zig)
- * Email list: [~andrewrk/ziglang@lists.sr.ht](https://lists.sr.ht/%7Eandrewrk/ziglang)
+## Resources
+
+ * [Introduction](https://ziglang.org/#Introduction)
+ * [Download & Documentation](https://ziglang.org/download)
+ * [Community](https://github.com/ziglang/zig/wiki/Community)
## Building from Source