mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 12:24:45 +00:00
326 lines
11 KiB
Markdown
326 lines
11 KiB
Markdown
# index
|
|
|
|
See [here](../API/index.md) for APIs not in this index.
|
|
|
|
Also, see [here](../terms.md) for terminology.
|
|
|
|
## symbol
|
|
|
|
* ! → [side effect](./07_side_effect.md)
|
|
* !-type → [mutable type](./type/18_mut.md)
|
|
* ? → [error handling](./31_error_handling.md)
|
|
* # → [Str](./00_basic.md/#comments)
|
|
* $ → [shared](./type/advanced/shared.md)
|
|
* %
|
|
* &
|
|
* &&
|
|
* [′ (single quote)](./21_naming_rule.md#literal-identifiers)
|
|
* [" (double quote)](./01_literal.md#str-literal)
|
|
* () → [Tuple](./13_tuple.md)
|
|
* *
|
|
* * → [*-less multiplication](./01_literal.md/#less-multiplication)
|
|
* + (prefix) → [operator](./06_operator.md)
|
|
* +_ → + (prefix)
|
|
* + (infix) → [operator](./06_operator.md)
|
|
* + (infix) → [Trait](./type/03_trait.md)
|
|
* ,
|
|
* − (prefix)
|
|
* −_ → − (prefix)
|
|
* − (infix) → [operator](./06_operator.md)
|
|
* − (infix) → [Trait](./type/03_trait.md)
|
|
* −> → [anonymous function](./22_lambda.md)
|
|
* . → [Visibility](./20_visibility.md)
|
|
* .. → [closed range operator](./01_literal.md/#range-object)
|
|
* ..< → [right-open range operator](./01_literal.md/#range-object)
|
|
* ...
|
|
* ... → [Extract assignment](./29_spread_syntax.md#extract-assignment)
|
|
* ... → [Variable-length arguments](./04_function.md#variable-length-arguments)
|
|
* /
|
|
* :
|
|
* : → [Colon application style](./04_function.md)
|
|
* : → [Type ascription](./03_declaration.md)
|
|
* : → [Keyword arguments](./04_function.md)
|
|
* :: → [private variable modifier](./20_visibility.md)
|
|
* := → [default parameters](./04_function.md)
|
|
* ;
|
|
* <
|
|
* <: → [Subtype specification](./type/02_basic.md)
|
|
* <<
|
|
* <=
|
|
* <.. → [left-open range operator](./01_literal.md/#range-object)
|
|
* <..< → [open range operator](./01_literal.md/#range-object)
|
|
* = → [Variable](./20_visibility.md)
|
|
* ==
|
|
* => → [anonymous procedure operator](./08_procedure.md)
|
|
* >
|
|
* >>
|
|
* >=
|
|
* @ → [decorator](./30_decorator.md)
|
|
* [] → [Array](./10_array.md)
|
|
* \ → [Escaping](./00_basic.md)
|
|
* ^
|
|
* ^^
|
|
* _ → [Type erasure](./type/advanced/erasure.md)
|
|
* _+_ → + (infix)
|
|
* _-_ → − (infix)
|
|
* [`` (back quote)](./23_subroutine.md#operator)
|
|
* {}
|
|
* [{} type](./type/01_type_system.md)
|
|
* {=} → [Type System](./type/01_type_system.md#classification)
|
|
* [{=} type](./14_record.md#empty-record)
|
|
* |
|
|
* || → [Type variable list](./type/advanced/)
|
|
* ~
|
|
|
|
## alphabet
|
|
|
|
### A
|
|
|
|
* [Add]
|
|
* [alias](type/02_basic.md#aliasing)
|
|
* [Aliasing](./type/02_basic.md#aliasing)
|
|
* [For all types](./type/15_quantified.md#For-all-types)
|
|
* [algebraic type](./type/13_algebraic.md)
|
|
* [And]
|
|
* [and]
|
|
* [anonymous function](./22_lambda.md)
|
|
* anonymous type → [Type system](./type/01_type_system.md)
|
|
* [Array](./10_array.md)
|
|
* assert
|
|
* [Attach](./30_decorator.md#attach)
|
|
* [attribute](type/09_attributive.md)
|
|
* [Attribute definitions](./type/02_basic.md#attribute-definitions)
|
|
* [Attribute type](./type/09_attributive.md)
|
|
|
|
### B
|
|
|
|
* [Bool, Boolean](./01_literal.md#boolean-object)
|
|
* [Boolean object](./01_literal.md#boolean-object)
|
|
* [borrowing](./19_ownership.md#borrow)
|
|
|
|
### C
|
|
|
|
* [Cast](./type/17_type_casting.md)
|
|
* [Comments](./00_basic.md#comments)
|
|
* [Complex object](./01_literal.md#complex-object)
|
|
* [Compile-time functions](./04_function.md#compile-time-functions)
|
|
* [circular references](./19_ownership.md#circular-references)
|
|
* [Class](./type/04_class.md)
|
|
* [Class relationship](./type/04_class.md#class-relationships)
|
|
* [Class upcasting](./type/16_subtyping.md#class-upcasting)
|
|
* [Colon application style](./04_function.md#colon-application-style)
|
|
* [Closure](./24_closure.md)
|
|
* [Compound literals](./01_literal.md#compound-literals)
|
|
* [Complement](./type/13_algebraic.md#complement)
|
|
* [Comprehension](./28_comprehension.md)
|
|
* [constant](./18_mutability.md#constant)
|
|
* [Constants](./02_name.md#constants)
|
|
* [Context](./31_error_handling.md#context)
|
|
|
|
### D
|
|
|
|
* [Data type](./type/01_type_system.md#data-type)
|
|
* [Declaration](./03_declaration.md)
|
|
* [decorator](./30_decorator.md)
|
|
* [Default parameters](./04_function.md#default-parameters)
|
|
* [Del](./02_name.md#delete-an-variable)
|
|
* [Dependent type](./type/14_dependent.md)
|
|
* Deprecated
|
|
* [Dict](./11_dict.md)
|
|
* [Diff](./type/13_algebraic.md#diff)
|
|
* distinct
|
|
* [Downcasting](./type/17_type_casting.md#downcasting)
|
|
|
|
### E
|
|
|
|
* [Empty record](./14_record.md#empty-record)
|
|
* [Enum class](./type/04_class.md#enum-class)
|
|
* [Enum type](./type/11_enum.md)
|
|
* [Enumerated, Interval and Refinement types](./type/12_refinement.md#enumerated-interval-and-refinement-types)
|
|
* [error handling](./31_error_handling.md)
|
|
* [Existential type](./type/advanced/existential.md)
|
|
* [Exponential literal](./01_literal.md#exponential-literal)
|
|
* [Extract assignment](./29_spread_syntax.md#extract-assignment)
|
|
|
|
### F
|
|
|
|
* False → [Boolean object](./01_literal.md#boolean-object)
|
|
* [Float object](./01_literal.md#float-object)
|
|
* [for](./05_builtin_funcs.md#for)
|
|
* [For-All patch](./type/07_patch.md#for-all-patch)
|
|
* [freeze](./19_ownership.md#freeze)
|
|
* [Function](./04_function.md)
|
|
* [Function definition with multiple patterns](./04_function.md#function-definition-with-multiple-patterns)
|
|
|
|
### G
|
|
|
|
* [GADTs(Generalized Algebraic Data Types)](./type/advanced/GADTs.md)
|
|
* [Generator](./35_generator.md)
|
|
* [Glue Patch](./type/07_patch.md#glue-patch)
|
|
|
|
### H
|
|
|
|
* [Hight-order function](04_function.md)
|
|
|
|
### I
|
|
|
|
* [id](./09_builtin_procs.md#id)
|
|
* [if](./05_builtin_funcs.md#if)
|
|
* [import](./34_package_system.md)
|
|
* [impl](./30_decorator.md#impl)
|
|
* in
|
|
* [Indention](./00_basic.md#indentation)
|
|
* [Instant block](./14_record.md#instant-block)
|
|
* [Instance/class attributes](./type/04_class.md#instance-and-class-attributes)
|
|
* [inheritable](./30_decorator.md#inheritable)
|
|
* [inheritance](./type/05_inheritance.md)
|
|
* [Int](./01_literal.md)
|
|
* [Integration with Python](./33_integration_with_Python.md)
|
|
* [Interval Type](./type/10_interval.md)
|
|
* [Intersection](./type/13_algebraic.md#intersection)
|
|
* [Iterator](./17_iterator.md)
|
|
|
|
### J
|
|
|
|
### K
|
|
|
|
* [Keyword arguments](./04_function.md#keyword-arguments)
|
|
* [Kind](./type/advanced/kind.md)
|
|
|
|
### L
|
|
|
|
* lambda → [anonymous function](./22_lambda.md)
|
|
* let-polymorphism → [rank 1 polymorphism]
|
|
* [Literal Identifiers](./21_naming_rule.md#literal-identifiers)
|
|
|
|
### M
|
|
|
|
* match
|
|
* [Marker trait](./type/advanced/marker_trait.md)
|
|
* [Method](./07_side_effect.md#methods)
|
|
* Modifier → [decorator](./30_decorator.md)
|
|
* [module](./25_module.md)
|
|
* [Multiple inheritance](type/05_inheritance.md#multiple-inheritance)
|
|
* [Multi-layer (multi-level) Inheritance](type/05_inheritance.md#multi-layer-multi-level-inheritance)
|
|
* [Mutable type](./type/18_mut.md)
|
|
* [Mutable structure type](./type/advanced/mut_struct.md)
|
|
* [Mutability](./18_mutability.md)
|
|
|
|
### N
|
|
|
|
* [Nat](./01_literal.md#int-literal)
|
|
* Never
|
|
* [New type](./type/advanced/newtype.md)
|
|
* [Heterogeneous Dict](./11_dict.md#heterogeneous-dict)
|
|
* None → [None Object]
|
|
* None Object
|
|
* Nominal Subtyping → [Class](./type/04_class.md)
|
|
* Not
|
|
* not
|
|
|
|
### O
|
|
|
|
* [Object](./26_object_system.md)
|
|
* [Option]
|
|
* [Or]
|
|
* [or]
|
|
* [Ord]
|
|
* [ownership system](./19_ownership.md)
|
|
* [Overloading](./type/advanced/overloading.md)
|
|
* [Overriding](./type/05_inheritance.md#overriding)
|
|
* [Override in trait](./type/03_trait.md#override-in-trait)
|
|
|
|
### P
|
|
|
|
* [Panic](./31_error_handling.md#panic)
|
|
* [Patch](./type/07_patch.md)
|
|
* [Pattern match](./27_pattern_matching.md)
|
|
* [Phantom class](./type/advanced/phantom.md)
|
|
* [pipeline operator](./32_pipeline.md)
|
|
* [Predicate](./type/19_bound.md#predicate)
|
|
* print!
|
|
* [Procedures](./08_procedure.md)
|
|
* [Projection type](./type/advanced/projection.md)
|
|
* Python → [Integration with Python](./33_integration_with_Python.md)
|
|
|
|
### Q
|
|
|
|
* [Quantified type](./type/15_quantified.md)
|
|
* [Quantified dependent type](./type/advanced/quantified_dependent.md)
|
|
|
|
### R
|
|
|
|
* [Range Object](./01_literal.md#range-object)
|
|
* ref
|
|
* ref!
|
|
* [Record](./14_record.md)
|
|
* [Recursive functions](./04_function.md#recursive-functions)
|
|
* [Refinement pattern](./type/12_refinement.md#refinement-pattern)
|
|
* [Refinement type](./type/12_refinement.md)
|
|
* [replication](./19_ownership.md#replication)
|
|
* [Replacing traits](./type/05_inheritance.md#replacing-traits-or-what-looks-like-it)
|
|
* Result → [error handling](./31_error_handling.md)
|
|
|
|
### S
|
|
|
|
* [Script](./00_basic.md#scripts)
|
|
* self
|
|
* [Self](./type/advanced/special.md)
|
|
* [Shared reference](./type/advanced/shared.md)
|
|
* [side-effect](./07_side_effect.md)
|
|
* [Smart cast](./type/12_refinement.md#smart-cast)
|
|
* [Spread assignment](./29_spread_syntax.md)
|
|
* [special type variables](./type/advanced/special.md#special-type-variables)
|
|
* [Stack trace](./31_error_handling.md#stack-trace)
|
|
* [Structure type](./type/01_type_system.md#structure-type-anonymous-type)
|
|
* [Structural patch](./type/07_patch.md#structural-patch)
|
|
* [Structural trait](./type/03_trait.md#structural-traits)
|
|
* [Structural subtyping](./type/01_type_system.md#classification)
|
|
* [Structural types and class type relationships](./type/16_subtyping.md#structural-types-and-class-type-relationships)
|
|
* [Str](./01_literal.md#str-literal)
|
|
* [Subtyping](./type/16_subtyping.md)
|
|
* [Subtyping of subroutines](./type/16_subtyping.md#subtyping-of-subroutines)
|
|
* [Subtype specification](./type/02_basic.md#subtype-specification)
|
|
* [Subtyping of polymorphic function types](./type/15_quantified.md#subtyping-of-polymorphic-function-types)
|
|
* [Subroutine signatures](./23_subroutine.md)
|
|
|
|
### T
|
|
|
|
* [Test](./30_decorator.md#test)
|
|
* [Traits](./type/03_trait.md)
|
|
* [Trait inclusion](./type/03_trait.md#trait-inclusion)
|
|
* True → [Boolean object](./01_literal.md#boolean-object)
|
|
* [True algebraic type](./type/13_algebraic.md#true-algebraic-type)
|
|
* Type
|
|
* [type](./16_type.md)
|
|
* [Type arguments in method definitions](./type/15_quantified.md#type-arguments-in-method-definitions)
|
|
* [Type bound](./type/19_bound.md)
|
|
* [Type definitions](./type/01_type_system.md#type-definitions)
|
|
* [Type erasure](./type/advanced/erasure.md)
|
|
* [Type inference system](./type/01_type_system.md#type-inference-system)
|
|
* [Type specification](./type/02_basic.md#type-specification)
|
|
* [Type system](./type/01_type_system.md)
|
|
* [Type widening](./type/advanced/widening.md)
|
|
* [Tuple](./13_tuple.md)
|
|
|
|
### U
|
|
|
|
* [union](type/13_algebraic.md#union)
|
|
* [Unit](./13_tuple.md#unit)
|
|
* [Upcasting](type/17_type_casting.md#upcasting)
|
|
|
|
### V
|
|
|
|
* [Value type](./type/08_value.md)
|
|
* [Variable](./02_name.md)
|
|
* [variable-length arguments](./04_function.md#variable-length-arguments)
|
|
|
|
### W
|
|
|
|
* while!
|
|
|
|
### X
|
|
|
|
### Y
|
|
|
|
### Z
|