ジグザグ0.5.0がリリースされました。
ジグザグは、安定性、保守性、性能とデザインのために設計された汎用プログラミング言語、システム上のCプログラミング言語を交換するための最良の位置の追求です。ジグは、次の注目すべき機能を備えています。
- 手動メモリ管理
- C言語ではなく、と競争することに頼っては、標準ライブラリは、libcのに依存しないジグザグ
- 軽量でシンプル、プログラミング言語のデバッグのアプリケーションではなく、知識のデバッグに焦点を当て
- 新しいエラー処理、優れたエラーC言語に似て取り扱いますが、冗長の数を減らします
- あなたがわからない行動である場合に最適化された高速のデバッグモードでコンパイル時間を、クラッシュにスタックトレースを使用して
- ReleaseFastモードとReleaseSafeモード
- 一般的なデータ構造と機能
- コルーチンによって同時実行
- .HインポートヘッダーファイルとC言語タイプ、変数および関数として使用
- C言語のコードに依存エクスポート機能、変数と型は、自動的に.hファイルを生成します
- あるいは、むしろヌルポインタ型より
- クロスコンパイラは主に例で使用されています
1541回のコミットを含む、研磨の6ヶ月後のバージョン0.5.0は、新しいコンテンツの多くをもたらしました。
ジグザグの数日前に、LLVMのペースに従わないLLVM 9のリリースなので、もはやLLVM 8との互換性、LLVM 9へのアップグレード現在、ジグザグ。今ジグを意味RISC-Vをサポートしていることは注目に値します。一方ことができますまた、ジグザグEmscripten コンパイラのターゲットオペレーティングシステムを。EmscriptenはユニークLLVMバックエンドであり、それはLLVMバイトコードのJavaScript(asm.js)にコンパイルすることができ、実際には、(asm.js)JavaScriptにコンパイルされたクランCおよびC ++コードでアップトレースされ、大幅に簡素化することができウェブ時代の既存のコードを再利用します。asm.jsに加えて、Emscripten WebAssemblyも、より高度なWeb技術をサポートしており、同様のメカニズムによってasm.jsは、Emscripten WASMは、バイナリバイトコードを生成することができます。
現在Emscriptenない自己ホスト型の下では、実現可能な後、あなたはWebAssemblyブラウザジグサンドボックスオプションとして使用することができます。
主な更新レベルの言語機能が含まれます:
- スライスタイプフィールドは、もはやアクセスが、使用していません
@typeInfo(Slice).Pointer.child
。 - テキストが組合をタグ付きとして列挙が暗黙的にキャストします。
- また、暗黙的にキャストポインタがオプションであることができます
c_void
ポインタ。 - 追加されました
*[N]T
への暗黙的なキャストを[*c]T
。 anyerror
もはやキーワードとして。- @cmpxchgStrong と @cmpxchgWeak 今x86_64のサポート128ビットの整数に。
comptime_int
今、暗黙的にキャストされますcomptime_float
。- @typeOf 今なしのランタイムエフェクトことを確認します。
noinline
関数宣言キーワードを追加します。- 現在比較し、タグと列挙テキストを設定することができます。
- 単一の要素の
enum
デフォルト設定はu0
、comptime_int
まだタグタイプとして明示的に列挙することができます。
フル更新のお知らせを表示します。