コンテンツにスキップ

English

言語リファレンス

このセクションでは、Graphcal のすべての言語機能について形式的なドキュメントを提供します。

概要

Graphcal は、計算の**有向非巡回グラフ(DAG)**を中心に構築された、工学計算のためのドメイン固有言語です。すべての .gcl ファイルは、パラメーター(入力)、ノード(計算された値)、定数を記述し、それらは明示的な参照によって接続されます。

この言語は階層化された型システムを持ちます:

機能 目的
1 プリミティブ プリミティブ値型(正規の一覧)
2 次元 物理次元の代数(コンパイル時の型)
3 単位 次元に付随する値レベルのスケーリング係数
4 代数的データ型 コンストラクター、ペイロード、パターンマッチング
5 インデックス コレクションのための有限ラベル集合
6 DAG ブロック dag ブロックと include による再利用可能な計算

リファレンスページ

  • 計算モデル


    DAG の意味論、param/node/const node@ シジル。

    計算モデル

  • 型システム


    実体の完全な階層化、正規のプリミティブ一覧、および 明示的な変換。

    型システム

  • 次元と単位


    次元の代数、単位の定義、変換、プレリュード。

    次元と単位

  • 代数的データ型


    単一コンストラクター型と複数コンストラクター型、match 式、およびジェネリクス。

    ADT

  • インデックス


    名前付き、座標、および Fin(N) インデックス。forscan、および unfold

    インデックス

  • DAG ブロック


    dag ブロックと include による再利用可能な計算。

    DAG ブロック

  • Extern 関数(プラグイン)


    import plugin ブロック: 次元シグネチャが宣言された、 外部から提供される関数。

    Extern 関数


  • 演算子、優先順位、if/else、リテラル。

  • 複数ファイルプロジェクト


    import 宣言、パッケージ依存関係、エイリアス、循環検出。

    複数ファイル

  • アサーションと属性


    assert 宣言、許容誤差チェック、#[assumes(...)]

    アサーション

  • プロット


    plot 宣言、チャートの種類、インタラクティブな可視化。

    プロット

  • 組み込みリファレンス


    プレリュードの次元、単位、定数、および関数。

    組み込み