erg/doc/JA/syntax/indexes.md
2022-12-29 15:52:53 +08:00

615 lines
18 KiB
Markdown

# 索引
[![badge](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fgezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com%2Fdefault%2Fsource_up_to_date%3Fowner%3Derg-lang%26repos%3Derg%26ref%3Dmain%26path%3Ddoc/EN/syntax/indexes.md%26commit_hash%3D96b113c47ec6ca7ad91a6b486d55758de00d557d)](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/indexes.md&commit_hash=96b113c47ec6ca7ad91a6b486d55758de00d557d)
この索引にないAPIについては[こちら](../API/index.md)を参照してください。
用語の意味については[こちら](../terms.md)を参照。
## 記号
* ! → [side effect](./07_side_effect.md)
* !-type → [mutable type](./type/18_mut.md)
* ? → [error handling](./30_error_handling.md)
* # → [Str](./00_basic.md/#comment)
* $ → [shared](./type/advanced/shared.md)
* %
* &
* &&
* [′ (single quote)](./20_naming_rule.md)
* [" (double quote)](./01_literal.md)
* () → [Tuple](./11_tuple.md)
* *
* * → [*-less multiplication](./01_literal.md/#less-multiplication)
* + (前置) → [operator](./06_operator.md)
* +_ → + (前置)
* + (中置) → [operator](./06_operator.md)
* + (中置) → [Trait](./type/03_trait.md)
* ,
* − (前置)
* −_ → − (前置)
* − (中置) → [operator](./06_operator.md)
* − (中置) → [Trait](./type/03_trait.md)
* −> → [anonymous function](./21_lambda.md)
* . → [Visibility](./19_visibility.md)
* [... assignment](./28_spread_syntax.md)
* [... Extract assignment](./28_spread_syntax.md)
* [... function](./04_function.md)
* /
* :
* : → [Colon application style](./04_function.md)
* : → [Declaration](./03_declaration.md)
* : → [Keyword Arguments](./04_function.md)
* :: → [visibility](./19_visibility.md)
* := → [default parameters](./04_function.md)
* ;
* <
* <: → [Subtype specification](./type/02_basic.md)
* <<
* <=
* = → [Variable](./19_visibility.md)
* ==
* => → [procedure](./08_procedure.md)
* >
* >>
* >=
* @ → [decorator](./29_decorator.md)
* [] → [Array](./10_array.md)
* \ → [Indention](./00_basic.md)
* \ → [Str](./01_literal.md)
* ^
* ^^
* _ → [Type erasure](./type/advanced/erasure.md)
* _+_+ (infix)
* _-_− (infix)
* [`` (back quote)](./22_subroutine.md)
* {}
* [{} type](./type/01_type_system.md)
* {:}
* {=} → [Type System](./type/01_type_system.md)
* [{=} type](./13_record.md)
* |
* || → [Type variable list](./type/advanced/)
* ~
## アルファベット
### A
* [Add]
* [alias](type/02_basic.md)
* [Aliasing](./type/02_basic.md)
* [algebraic type](./type/13_algebraic.md)
* [And]
* [and]
* [anonymous function](./21_lambda.md)
* [Anonymous polycorrelation coefficient](./21_lambda.md)
* anonymous type → [Type System](./type/01_type_system.md)
* [Array](./10_array.md)
* [assert]
* [Attach](./29_decorator.md)
* [attribute](type/09_attributive.md)
* [Attribute definitions](./type/02_basic.md)
* [Attribute Type](./type/09_attributive.md)
### B
* [Bool, Boolean](./01_literal.md)
* [Boolean Object](./01_literal.md)
* [borrow](./18_ownership.md)
### C
* [Cast](./type/17_type_casting.md)
* [Comments](./00_basic.md)
* [Complex Object](./01_literal.md)
* [Compile-time functions](./04_function.md)
* [circular references](./18_ownership.md)
* [Class](./type/04_class.md)
* [Class Relationship](./type/04_class.md)
* [Class upcasting](./type/16_subtyping.md)
* [Colon application style](./04_function.md)
* [Closure](./23_closure.md)
* [Compound Literals](./01_literal.md)
* [Complement](./type/13_algebraic.md)
* [Comprehension](./27_comprehension.md)
* [constant](./17_mutability.md)
* [Constants](./02_name.md)
* [Context](./30_error_handling.md)
### D
* [Data type](./type/01_type_system.md)
* [Declaration](./03_declaration.md)
* [decorator](./29_decorator.md)
* [Default parameters](./04_function.md)
* [Del](./02_name.md)
* [Dependent Type](./type/14_dependent.md)
* [Deconstructing a record](13_record.md)
* Deprecated
* [Dict](./12_dict.md)
* [Diff](./type/13_algebraic.md)
* [Difference from Data Class](./type/04_class.md)
* [Difference from structural types](type/04_class.md)
* distinct
* [Downcasting](./type/17_type_casting.md)
### E
* [Empty Record](./13_record.md)
* [Enum Class](./type/04_class.md)
* [Enum type](./type/11_enum.md)
* [Enumerated, Interval and Refinement Types](./type/12_refinement.md)
* [error handling](./30_error_handling.md)
* [Existential type](./type/advanced/existential.md)
* [Exponential Literal](./01_literal.md)
* [Extract assignment](./28_spread_syntax.md)
### F
* False → [Boolean Object](./01_literal.md)
* [Float&sbsp;Object](./01_literal.md)
* [for](./05_builtin_funcs.md)
* [For-All Patch](./type/07_patch.md)
* [For all types](./type/15_quantified.md)
* [freeze](./18_ownership.md)
* [Function](./04_function.md)
* [Function definition with multiple patterns](./04_function.md)
### G
* [GADTs(Generalized Algebraic Data Types)](./type/advanced/GADTs.md)
* [Generator](./34_generator.md)
* [Glue Patch](./type/07_patch.md)
### H
* [High-order function](./04_function.md)
### I
* [id](./09_builtin_procs.md)
* [if](./05_builtin_funcs.md)
* [import](./33_package_system.md)
* [impl](./29_decorator.md)
* [in]
* [Indention](./00_basic.md)
* [Instant Block](./13_record.md)
* [Instance and class attributes](./type/04_class.md)
* [Implementing and resolving duplicate traits in the API](type/03_trait.md)
* [inheritable](./29_decorator.md)
* [inheritance](./type/05_inheritance.md)
* [Inheritance of Enumerated Classes](./type/05_inheritance.md)
* [Int](./01_literal.md)
* [Integration with Python](./32_integration_with_Python.md)
* [Interval Type](./type/10_interval.md)
* [Intersection](./type/13_algebraic.md)
* [Iterator](./16_iterator.md)
### J
### K
* [Keyword arguments](./04_function.md)
* [Kind](./type/advanced/kind.md)
### L
* lambda → [anonymous function](./21_lambda.md)
* let-polymorphism → [rank 1 polymorphism]
* [Literal Identifiers](./20_naming_rule.md)
* log → [side effect](./07_side_effect.md)
### M
* [match]
* [Marker Trait](./type/advanced/marker_trait.md)
* [Method](./07_side_effect.md)
* Modifier → [decorator](./29_decorator.md)
* [module](./24_module.md)
* [Multiple Inheritance](type/05_inheritance.md)
* [Multi-layer (multi-level) Inheritance](type/05_inheritance.md)
* [Mutable Type](./type/18_mut.md)
* [Mutable Structure Type](./type/advanced/mut_struct.md)
* [Mutability](./17_mutability.md)
### N
* [Nat](./01_literal.md)
* [Never]
* [New type](./type/advanced/newtype.md)
* [Heterogeneous Dict](./12_dict.md)
* None → [None Object]
* [None Object]
* Nominal Subtyping → [Class](./type/04_class.md)
* [Not]
* [not]
### O
* [Object](./25_object_system.md)
* [Option]
* [Or]
* [or]
* [Ord]
* [ownership system](./18_ownership.md)
* [Overloading](./type/advanced/overloading.md)
* [Overriding](./type/05_inheritance.md)
* [Override in Trait](./type/03_trait.md)
### P
* [Panic](./30_error_handling.md)
* [Patch](./type/07_patch.md)
* [Pattern match](./26_pattern_matching.md)
* [Phantom class](./type/advanced/phantom.md)
* [pipeline operator](./31_pipeline.md)
* [Predicate](./type/19_bound.md)
* [print!]
* [Procedures](./08_procedure.md)
* [Projection Type](./type/advanced/projection.md)
* Python → [Integration with Python](./32_integration_with_Python.md)
### Q
* [Quantified Type](./type/15_quantified.md)
* [Quantified Dependent Type](./type/advanced/quantified_dependent.md)
* [Quantified Types and Dependent Types](./type/15_quantified.md)
### R
* [Range Object](./01_literal.md)
* [ref]
* [ref!]
* [Record](./13_record.md)
* [Record Type Composite](./type/09_attributive.mda12_refinement.md)
* [Recursive functions](./04_function.md)
* [Refinement pattern](./type/12_refinement.md)
* [Refinement Type](./type/12_refinement.md)
* [replication](./18_ownership.md)
* [Replacing Traits](./type/05_inheritance.md)
* Result → [error handling](./30_error_handling.md)
* [Rewriting Inherited Attributes](./type/05_inheritance.md)
* rootobj
### S
* [Script](./00_basic.md)
* [Selecting Patches](./type/07_patch.md)
* self
* [Self](./type/advanced/special.md)
* [Shared Reference](./type/advanced/shared.md)
* [side-effect](./07_side_effect.md)
* [Smart Cast](./type/12_refinement.md)
* [Spread assignment](./28_spread_syntax.md)
* [special type variables](./type/advanced/special.md)
* [Stack trace](30_error_handling.md)
* [Structure type](./type/01_type_system.md)
* [Structural Patch](./type/07_patch.md)
* [Structural Trait](./type/03_trait.md)
* [Structural Subtyping](./type/01_type_system.md)
* [Structural types and class type relationships](./type/16_subtyping.md)
* [Str](./01_literal.md)
* [Subtyping](./type/16_subtyping.md)
* [Subtyping of subroutines](./type/16_subtyping.md)
* [Subtype specification](./type/02_basic.md)
* [Subtyping of Polymorphic Function Types](./type/15_quantified.md)
* [Subroutine Signatures](./22_subroutine.md)
### T
* [Test](./29_decorator.md)
* [Traits](./type/03_trait.md)
* [Trait inclusion](./type/03_trait.md)
* True → [Boolean Object](./01_literal.md)
* [True Algebraic type](./type/13_algebraic.md)
* [Type]
* [type](./15_type.md)
* [Type arguments in method definitions](./type/15_quantified.md)
* [Type Bound](./type/19_bound.md)
* [Type Definitions](./type/01_type_system.md)
* [Type erasure](./type/advanced/erasure.md)
* [Type Inference System](./type/01_type_system.md)
* [Type specification](./type/02_basic.md)
* [Type System](./type/01_type_system.md)
* [Type Widening](./type/advanced/widening.md)
* [Tuple](./11_tuple.md)
### U
* [union](type/13_algebraic.md)
* [Unit](./11_tuple.md)
* [Upcasting](type/17_type_casting.md)
* [Usage of Inheritance](./type/05_inheritance.md)
### V
* [Value Type](./type/08_value.md)
* [Variable](./02_name.md)
* [variable-length arguments](./04_function.md)
### W
* [while]
### X
### Y
### Z
## あ行
* [アサーション]
* 値オブジェクト
* [アタッチメントパッチ](./29_decorator.md#attach)
* アドホック多相 → [オーバーロードの禁止](./type/overloading.md)
* アトリビュート → [属性]
* アリティ
* [依存型](./type/dependent_type.md)
* イミュータブル → [不変]
* 引数(いんすう) → [引数(ひきすう)]
* インスタンス
* [インスタントブロック](./00_basic.md#式セパレータ)
* インデックス
* [インデント](./00_basic.md#インデント)
* エイリアス
* エラー
* [エラーハンドリング]
* [演算子](./06_operator.md)
* [演算子の結合強度]
* オーバーライド
* [オーバーロードの禁止](./type/overloading.md)
* オフサイドルール → [インデント](./00_basic.md#インデント)
* [オブジェクト]
* オブジェクト指向
* オペランド → [被演算子](./06_operator.md)
* オペレーター → [演算子](./06_operator.md)
## か行
* [カインド](./type/advanced/kind.md)
* [可視性]
* [型]
* [型指定]
* [型消去](./type/advanced/erasure.md)
* [型推論]
* [型注釈](./type/conv_type.md)
* [型引数]
* [型付加](./type/advanced/erasure.md)
* [型変数](./type/type_variable.md)
* [型制約]
* [ガード]
* カプセル化
* [可変]
* [可変オブジェクト]
* [可変型]
* [可変参照]
* [可変配列]
* [可変長引数]
* [関数](./04_function.md)
* [関数型プログラミング](./23_scope.md#可変状態の回避関数型プログラミング)
* 基底型
* 記名
* [記名型] → [クラス](./type/04_class.md)
* [記名化]
* [記名的部分型](./type/05_nst_vs_sst.md)
* キャプチャ → [クロージャ]
* [共変]
* [キーワード引数]
* 空集合 → [{}]
* 区間
* [区間型](./type/11_interval.md)
* 区間演算子
* 組み込み
* [組み込み型]
* [組み込み関数](./05_builtin_funcs.md)
* [組み込みプロシージャ](./09_builtin_procs.md)
* [クラス](./type/04_class.md)
* [クロージャ]
* [グローバル変数]
* [クローン]
* [継承](./type/07_inheritance.md)
* 高階
* [高階カインド](./type/advanced/kind.md)
* 高階型
* 高階関数
* [公開変数]
* [構造的部分型]
* ~~後方参照~~ → [前方参照]
* [コピー]
* コメント
* [コレクション](./10_array.md)
* コロン → [:]
* [コンストラクタ](./type/04_class.md)
* コンテナ
* コンパイラ
* [コンパイル時計算](./04_function.md#コンパイル時関数)
* コンマ → [,]
## さ行
* 再帰
* 再帰型
* [再帰関数](./04_function.md#再帰関数)
* サブスクリプト → [インデックス]
* [サブタイピング多相](./type/overloading.md)
* サブルーチン
* [参照](./18_memory_management.md#借用)
* 参照オブジェクト
* [参照カウント(RC)](./18_memory_management.md#メモリ管理)
* 参照等価性 → [副作用](./07_side_effect.md)
* [識別子](./02_variable.md/#代入)
* シグネチャ
* 型シグネチャ
* [辞書](./11_dict.md)
* [自然数] → [Nat]
* ジェネリクス → [全称型]
* ジェネレータ
* [射影型]
* 借用 → [参照](./18_memory_management.md#借用)
* [シャドーイング](./02_name.md#変数)
* 種 → [カインド](./type/advanced/kind.md)
* [集合] → [セット]
* 述語
* [述語関数]
* 条件分岐
* [所有権]
* 真偽型 → [Bool]
* シングルトン
* [シンボル] → [識別子](./02_name.md)
* [シンボル化]
* [スクリプト](./00_basic.md#スクリプト)
* スコープ
* スプレッド演算子 → [展開代入]
* [スライス](./10_array.md#スライス)
* 制御文字
* [整数] → [Int]
* [セット](./12_set.md)
* セミコロン → [;]
* [宣言](./03_declaration.md)
* 全称
* 全称型 → [多相型](./type/quantified.md)
* 閉じた全称型
* 開いた全称型
* 全称関数 → 多相関数
* 全称量化
* 前置演算子
* 相互再帰
* 添字 → [インデックス]
* [属性]
* [属性的部分型]
## た行
* [代数](./02_name.md)
* [代数演算型](./type/13_algebraic.md)
* 代数的データ型
* [代入](./02_variable.md/#代入)
* 多重
* [多重継承](./type/07_inheritance.md/#多重継承の禁止)
* 多重代入
* 多重定義 → [オーバーロードの禁止]
* 多相
* [多相型](./type/quantified.md)
* 多相関数
* 多態 → [ポリモーフィズム]
* ダックタイピング
* [タプル](./11_tuple.md)
* 単相
* 単相化
* 単相型
* 単相関数
* [遅延初期化]
* 抽出代入
* 抽象構文木 → [AST]
* 中置演算子
* [定数](./02_name.md/#定数)
* [定数型](./type/advanced/const.md)
* [定数式](./type/advanced/const.md)
* [定義]
* 提供属性
* [適用]
* [デコレータ](./29_decorator.md)
* デストラクタ
* 手続き → [プロシージャ](./08_procedure.md)
* [デフォルト引数](./04_function.md/#デフォルト引数default-parameters)
* 展開
* [展開演算子]
* [展開代入]
* [特殊形式](./../API/special.md)
* 匿名関数 → [無名関数](./20_lambda.md)
* ドット演算子(`.`) → [属性参照]
* トップ
* トップ型 → [Structural Object]
* トップクラス → [Object]
* [トレイト](./type/03_trait.md)
## な行
* [内包表記](./27_comprehension.md)
* ~~中置(なかおき)演算子~~ → [中置(ちゅうち)演算子]
* [名前空間]
## は行
* [配列](./10_array.md)
* [派生型](./type/variances.md/#ユーザー定義型の変性)
* [パターン(マッチ)](./26_pattern_matching.md)
* [パッケージ](./33_package_system.md)
* ハッシュマップ → [辞書](./11_dict.md)
* [パッチ](./type/07_patch.md)
* パブリック変数 → [公開変数](./19_visibility.md)
* パラメーター → [引数](./04_function.md)
* [パラメトリック多相](./type/overloading.md)
* [反変](./type/advanced/variance.md)
* 比較
* [比較演算子]
* [比較可能型]
* [非公開変数](./19_visibility.md)
* 標準
* 標準出力
* 標準入力
* 標準ライブラリ
* [副作用](./07_side_effect.md)
* 複素数 → [Complex]
* [浮動小数点数] → [Float]
* プライベート変数 → [非公開変数]
* ブール代数 → [Bool]
* [プロシージャ](./08_procedure.md)
* [引数](./04_function.md)
* 部分型付け → [サブタイピング]
* [不変]
* [不変オブジェクト]
* [不変型]
* [不変参照]
* [篩型](./type/12_refinement.md)
* [ブロック]
* 分解代入
* [変数](./02_variable.md)
* ボトム
* ボトム型 → [{}]
* ボトムクラス → [Never]
* [ポリモーフィズム]
## ま行
* ~~前置(まえおき)演算子~~ → 前置(ぜんち)演算子
* [マーカー型](./type/advanced/marker_trait.md)
* [無名関数](./21_lambda.md)
* ミュータブル → [可変性]
* [ムーブ]
* メソッド
* メタキャラクタ
* [モジュール](./24_module.md)
* [文字列] → [Str]
* [文字列補間](./01_literal.md/#strリテラル)
* 戻り値
## や行
* [幽霊型](./type/advanced/phantom.md)
* 要求属性
* [要素]
* [呼び出し]
## ら行
* [ライブラリ]
* ラムダ式 → [無名関数](./20_lambda.md)
* ランク
* [ランク2多相](./type/advanced/rank2type.md)
* [リテラル](./01_literal.md)
* [リテラル識別子](./18_naming_rule.md/#リテラル識別子)
* [量化](./type/quantified.md)
* [レイアウト](./type/mut.md)
* [列挙型](./type/10_enum.md)
* [レコード](./12_record.md)
* [レコード型]
* レコード多相 → [列多相]
* [列多相]
* [ローカル変数](./19_visibility.md)
## わ行
* ワイルドカード