用語集

全てのRustaceanがシステムプログラミングあるいはコンピュータサイエンスのバックグラウンドを持つ訳でもないので馴染みがないかもしれない用語について説明を付与しました。

抽象構文木

コンパイラがプログラムをコンパイルする時、様々なことをします。 その1つがテキストを「抽象構文木」(または「AST」)に変換することです。 この木はプログラムの構造を表します。例えば、 2 + 3 は以下のような木に変換されます。

  +
 / \
2   3

そして 2 + (3 * 4) はこのようになるでしょう。

  +
 / \
2   *
   / \
  3   4

アリティ

アリティは関数、あるいは操作がとる引数の数を指します。

fn main() { let x = (2, 3); let y = (4, 6); let z = (8, 2, 6); }
let x = (2, 3);
let y = (4, 6);
let z = (8, 2, 6);

上記の例では xy はアリティ2を、 z はアリティ3を持ちます。

境界

境界(Bounds)とはある1つの型または トレイト における制約のことです。例えば、ある関数がとる引数に境界が設定されたとすると、その関数に渡される型は設定された制約に必ず従わなければなりません。

DST (Dynamically Sized Type)

A type without a statically known size or alignment. (more info)

コンピュータプログラミングに於いて、式は値、定数、変数、演算子、1つの値へと評価される関数の組み合わせです。 例えば、 2 + (3 * 4) は値14を返す式です。式が副作用を持ちうることに意味はありません。 例えば、ある式に含まれる関数がただ値を返す以外にも何か作用をするかもしれません。

式指向言語

早期のプログラミング言語ではは文法上違うものでした。式は値を持ち、文は何かをします。 しかしながら後の言語ではこれらの溝は埋まり式で何かを出来るようになり文が値を持てるようになりました。 式指向言語では(ほとんど)全ての文が式であり値を返します。同時にこれらの式文はより大きな式の一部を成します。

コンピュータプログラミングに於いて、文とはコンピュータに何かしらの作用をさせるプログラミング言語の最小要素です。