mirror of
https://github.com/erg-lang/erg.git
synced 2025-10-01 13:11:11 +00:00
Merge pull request #178 from GreasySlug/fix/md_links
This commit is contained in:
commit
6d515dcabe
18 changed files with 953 additions and 281 deletions
|
@ -83,7 +83,7 @@ match res2:
|
|||
err: Error -> panic err.msg
|
||||
```
|
||||
|
||||
## Anonymous polycorrelation coefficient
|
||||
## Anonymous polymorphic functions
|
||||
|
||||
```python
|
||||
# same as id|T| x: T = x
|
||||
|
|
|
@ -1,177 +1,324 @@
|
|||
# index
|
||||
|
||||
See [here](../API/index.md) for APIs not in this index.
|
||||
See [here](../dev_guide/terms.md) for terminology.
|
||||
|
||||
Also, see [here](../terms.md) for terminology.
|
||||
|
||||
## symbol
|
||||
|
||||
* !
|
||||
* !-type → [mutable type](./type/mut.md)
|
||||
* [#](./00_basic.md/#comment)
|
||||
* $
|
||||
* ! → [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)
|
||||
* ()
|
||||
* [′ (single quote)](./20_naming_rule.md#literal-identifiers)
|
||||
* [" (double quote)](./01_literal.md#str-literal)
|
||||
* () → [Tuple](./11_tuple.md)
|
||||
* *
|
||||
* [*-less multiplication](./01_literal.md/#less-multiplication)
|
||||
* + (prefix)
|
||||
* * → [*-less multiplication](./01_literal.md/#less-multiplication)
|
||||
* + (prefix) → [operator](./06_operator.md)
|
||||
* +_ → + (prefix)
|
||||
* + (infix)
|
||||
* + (infix) → [operator](./06_operator.md)
|
||||
* + (infix) → [Trait](./type/03_trait.md)
|
||||
* ,
|
||||
* − (prefix)
|
||||
* −_ → − (prefix)
|
||||
* − (infix)
|
||||
* −>
|
||||
* . → [Visibility]
|
||||
* − (infix) → [operator](./06_operator.md)
|
||||
* − (infix) → [Trait](./type/03_trait.md)
|
||||
* −> → [anonymous function](./21_lambda.md)
|
||||
* . → [Visibility](./19_visibility.md)
|
||||
* .. → [closed range operator](./01_literal.md/#range-object)
|
||||
* ..< → [right-open range operator](./01_literal.md/#range-object)
|
||||
* ...
|
||||
* ... → [Extract assignment](./28_spread_syntax.md#extract-assignment)
|
||||
* ... → [Variable-length arguments](./04_function.md#variable-length-arguments)
|
||||
* /
|
||||
* :
|
||||
* :: → [visibility]
|
||||
* : → [Colon application style](./04_function.md)
|
||||
* : → [Type ascription](./03_declaration.md.md)
|
||||
* : → [Keyword arguments](./04_function.md)
|
||||
* :: → [private variable modifier](./19_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](./19_visibility.md)
|
||||
* ==
|
||||
* =>
|
||||
* => → [anonymous procedure operator](./08_procedure.md)
|
||||
* >
|
||||
* >>
|
||||
* >=
|
||||
* ?
|
||||
* @
|
||||
* []
|
||||
* \
|
||||
* @ → [decorator](./29_decorator.md)
|
||||
* [] → [Array](./10_array.md)
|
||||
* \ → [Escaping](./00_basic.md)
|
||||
* ^
|
||||
* ^^
|
||||
* _
|
||||
* _ → [Type erasure](./type/advanced/erasure.md)
|
||||
* _+_ → + (infix)
|
||||
* _-_ → − (infix)
|
||||
*``
|
||||
* [`` (back quote)](./22_subroutine.md#operator)
|
||||
* {}
|
||||
* {} type
|
||||
* {:}
|
||||
* {=}
|
||||
* {=} type
|
||||
* [{} type](./type/01_type_system.md)
|
||||
* {=} → [Type System](./type/01_type_system.md#classification)
|
||||
* [{=} type](./13_record.md#empty-record)
|
||||
* |
|
||||
* ||
|
||||
* || → [Type variable list](./type/advanced/)
|
||||
* ~
|
||||
|
||||
## alphabet
|
||||
|
||||
### A
|
||||
|
||||
* algebraic type
|
||||
* And
|
||||
* and
|
||||
* assert
|
||||
* attribute
|
||||
* [Add]
|
||||
* [alias](type/02_basic.md#aliasing)
|
||||
* [Aliasing](./type/02_basic.md#aliasing)
|
||||
* [All symmetric types](./type/15_quantified.md#all-symmetric-types)
|
||||
* [algebraic type](./type/13_algebraic.md)
|
||||
* [And]
|
||||
* [and]
|
||||
* [anonymous function](./21_lambda.md)
|
||||
* anonymous type → [Type system](./type/01_type_system.md)
|
||||
* [Array](./10_array.md)
|
||||
* [assert]
|
||||
* [Attach](./29_decorator.md#attach)
|
||||
* [attribute](type/09_attributive.md)
|
||||
* [Attribute definitions](./type/02_basic.md#attribute-definitions)
|
||||
* [Attribute type](./type/09_attributive.md)
|
||||
|
||||
### B
|
||||
|
||||
* Base
|
||||
* Bool
|
||||
* [Bool, Boolean](./01_literal.md#boolean-object)
|
||||
* [Boolean object](./01_literal.md#boolean-object)
|
||||
* [borrowing](./18_ownership.md#borrow)
|
||||
|
||||
### C
|
||||
|
||||
* Class
|
||||
* [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](./18_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](./23_closure.md)
|
||||
* [Compound literals](./01_literal.md#compound-literals)
|
||||
* [Complement](./type/13_algebraic.md#complement)
|
||||
* [Comprehension](./27_comprehension.md)
|
||||
* [constant](./17_mutability.md#constant)
|
||||
* [Constants](./02_name.md#constants)
|
||||
* [Context](./30_error_handling.md#context)
|
||||
|
||||
### D
|
||||
|
||||
* [Data type](./type/01_type_system.md#data-type)
|
||||
* [Declaration](./03_declaration.md)
|
||||
* [decorator](./29_decorator.md)
|
||||
* [Default parameters](./04_function.md#default-parameters)
|
||||
* [Del](./02_name.md#delete-an-variable)
|
||||
* [Dependent type](./type/14_dependent.md)
|
||||
* Deprecated
|
||||
* [Dict](./12_dict.md)
|
||||
* [Diff](./type/13_algebraic.md#diff)
|
||||
* distinct
|
||||
* [Downcasting](./type/17_type_casting.md#downcasting)
|
||||
|
||||
### E
|
||||
|
||||
* enum type
|
||||
* Eq
|
||||
* Erg
|
||||
* [Empty record](./13_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](./30_error_handling.md)
|
||||
* [Existential type](./type/advanced/existential.md)
|
||||
* [Exponential literal](./01_literal.md#exponential-literal)
|
||||
* [Extract assignment](./28_spread_syntax.md#extract-assignment)
|
||||
|
||||
### F
|
||||
|
||||
* for
|
||||
* 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](./18_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](./34_generator.md)
|
||||
* [Glue Patch](./type/07_patch.md#glue-patch)
|
||||
|
||||
### H
|
||||
|
||||
### I
|
||||
|
||||
* if
|
||||
* import
|
||||
* in
|
||||
* Int
|
||||
* [id](./09_builtin_procs.md#id)
|
||||
* [if](./05_builtin_funcs.md#if)
|
||||
* [import](./33_package_system.md)
|
||||
* [impl](./29_decorator.md#impl)
|
||||
* [in]
|
||||
* [Indention](./00_basic.md#indentation)
|
||||
* [Instant block](./13_record.md#instant-block)
|
||||
* [Instance/class attributes](./type/04_class.md#instance-and-class-attributes)
|
||||
* [inheritable](./29_decorator.md#inheritable)
|
||||
* [inheritance](./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#intersection)
|
||||
* [Iterator](./16_iterator.md)
|
||||
|
||||
### J
|
||||
|
||||
### K
|
||||
|
||||
* [Keyword arguments](./04_function.md#keyword-arguments)
|
||||
* [Kind](./type/advanced/kind.md)
|
||||
|
||||
### L
|
||||
|
||||
* let-polymorphism → [rank 1 polymorphism]
|
||||
* log
|
||||
* lambda → [anonymous function](./21_lambda.md)
|
||||
* let-polymorphism → [rank 1 polymorphism]
|
||||
* [Literal Identifiers](./20_naming_rule.md#literal-identifiers)
|
||||
|
||||
### M
|
||||
|
||||
* match
|
||||
* [match]
|
||||
* [Marker trait](./type/advanced/marker_trait.md)
|
||||
* [Method](./07_side_effect.md#methods)
|
||||
* Modifier → [decorator](./29_decorator.md)
|
||||
* [module](./24_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](./17_mutability.md)
|
||||
|
||||
### N
|
||||
|
||||
* Nat
|
||||
* Never
|
||||
* None
|
||||
* None
|
||||
* Not
|
||||
* not
|
||||
* [Nat](./01_literal.md#int-literal)
|
||||
* [Never]
|
||||
* [New type](./type/advanced/newtype.md)
|
||||
* [Heterogeneous Dict](./12_dict.md#heterogeneous-dict)
|
||||
* None → [None Object]
|
||||
* [None Object]
|
||||
* Nominal Subtyping → [Class](./type/04_class.md)
|
||||
* [Not]
|
||||
* [not]
|
||||
|
||||
### O
|
||||
|
||||
* Option
|
||||
* Or
|
||||
* or
|
||||
* Ord
|
||||
* [Object](./25_object_system.md)
|
||||
* [Option]
|
||||
* [Or]
|
||||
* [or]
|
||||
* [Ord]
|
||||
* [ownership system](./18_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
|
||||
* [print!](./../API/procs.md#print)
|
||||
* Python
|
||||
* [Panic](./30_error_handling.md#panic)
|
||||
* [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#predicate)
|
||||
* [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)
|
||||
|
||||
### R
|
||||
|
||||
* ref
|
||||
* ref!
|
||||
* Result
|
||||
* rootobj
|
||||
* [Range Object](./01_literal.md#range-object)
|
||||
* [ref]
|
||||
* [ref!]
|
||||
* [Record](./13_record.md)
|
||||
* [Recursive functions](./04_function.md#recursive-functions)
|
||||
* [Refinement pattern](./type/12_refinement.md#refinement-pattern)
|
||||
* [Refinement type](./type/12_refinement.md)
|
||||
* [replication](./18_ownership.md#replication)
|
||||
* [Replacing traits](./type/05_inheritance.md#replacing-traits-or-what-looks-like-it)
|
||||
* Result → [error handling](./30_error_handling.md)
|
||||
|
||||
### S
|
||||
|
||||
* [Script](./00_basic.md#scripts)
|
||||
* self
|
||||
* [Self](./type/special.md)
|
||||
* [Self](./type/advanced/special.md)
|
||||
* [Shared reference](./type/advanced/shared.md)
|
||||
* [side-effect](./07_side_effect.md)
|
||||
* Str
|
||||
* [Smart cast](./type/12_refinement.md#smart-cast)
|
||||
* [Spread assignment](./28_spread_syntax.md)
|
||||
* [special type variables](./type/advanced/special.md#special-type-variables)
|
||||
* [Stack trace](30_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](./22_subroutine.md)
|
||||
|
||||
### T
|
||||
|
||||
* Traits
|
||||
* True
|
||||
* Type
|
||||
* type
|
||||
* [Test](./29_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](./15_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](./11_tuple.md)
|
||||
|
||||
### U
|
||||
|
||||
* [union](type/13_algebraic.md#union)
|
||||
* [Unit](./11_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!
|
||||
* [while]
|
||||
|
||||
### X
|
||||
|
||||
### Y
|
||||
|
||||
### Z
|
||||
|
||||
|
|
|
@ -39,5 +39,5 @@ If you cannot decide which one to use, our recommendation is NST.
|
|||
SST requires abstraction skills to write code that does not break down in any use case. Good abstraction can lead to high productivity, but wrong abstraction (commonality by appearances) can lead to counterproductive results. (NSTs can reduce this risk by deliberately keeping abstraction to a minimum. If you are not a library implementor, it is not a bad idea to code only with NSTs.
|
||||
|
||||
<p align='center'>
|
||||
<a href='./04_class.md'>Previous</a> | <a href='./06_inheritance.md'>Next</a>
|
||||
<a href='./05_inheritance.md'>Previous</a> | <a href='./07_patch.md'>Next</a>
|
||||
</p>
|
||||
|
|
|
@ -35,3 +35,7 @@ Types classified as value types may be added in the future.
|
|||
---
|
||||
|
||||
<span id="1" style="font-size:x-small"><sup>1</sup> The term "value type" in Erg differs from the definition in other languages. There is no concept of memory within pure Erg semantics, and it is incorrect to state that it is a value type because it is placed on the stack, or that it is not a value type because it is actually a pointer. A value type only means that it is a `Value` type or its subtypes. [↩](#f1)</span>
|
||||
|
||||
<p align='center'>
|
||||
<a href='./07_patch.md'>Previous</a> | <a href='./09_attributive.md'>Next</a>
|
||||
</p>
|
||||
|
|
|
@ -6,4 +6,8 @@ Types belonging to attribute types are not value types.
|
|||
## Record Type Composite
|
||||
|
||||
It is possible to flatten Record types composited.
|
||||
For example, `{... {.name = Str; .age = Nat}; ... {.name = Str; .id = Nat}}` becomes `{.name = Str; .age = Nat; .id = Nat}`.
|
||||
For example, `{... {.name = Str; .age = Nat}; ... {.name = Str; .id = Nat}}` becomes `{.name = Str; .age = Nat; .id = Nat}`.
|
||||
|
||||
<p align='center'>
|
||||
<a href='./08_value.md'>Previous</a> | <a href='./10_interval.md'>Next</a>
|
||||
</p>
|
|
@ -34,3 +34,7 @@ A Range operator can be used for non-numeric types, as long as they are `Ord` im
|
|||
```python
|
||||
Alphabet = "A".."z"
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./09_attributive.md'>Previous</a> | <a href='./11_enum.md'>Next</a>
|
||||
</p>
|
|
@ -83,3 +83,7 @@ OpaqueAbc = Class {inner = {"A", "B", "C"}}.
|
|||
new inner: {"A", "B", "C"} = Self.new {inner;}
|
||||
OpaqueAbc.new("A").is_uppercase() # TypeError
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./10_interval.md'>Previous</a> | <a href='./12_refinement.md'>Next</a>
|
||||
</p>
|
|
@ -3,7 +3,7 @@
|
|||
Refinement type is a type constrained by a predicate expression. Enumeration types and interval types are syntax sugar of refinement types.
|
||||
|
||||
The standard form of a refinement type is `{Elem: Type | (Pred)*}`. This means that the type is a type whose elements are `Elem` satisfying `Pred`.
|
||||
The type that can be used for the sifting type is [Const type] only.
|
||||
The type that can be used for the refinement type is [Value type](./08_value.md) only.
|
||||
|
||||
```python
|
||||
Nat = 0.. _
|
||||
|
@ -53,7 +53,7 @@ match i:
|
|||
|
||||
However, Erg cannot currently make sub-decisions such as `Even` because it was not `Odd`, etc.
|
||||
|
||||
## Enumerated, Interval and Sift Types
|
||||
## Enumerated, Interval and Refinement Types
|
||||
|
||||
The enumerative/interval types introduced before are syntax sugar of the refinement type.
|
||||
`{a, b, ...}` is `{I: Typeof(a) | I == a or I == b or ... }`, and `a..b` is desugarized to `{I: Typeof(a) | I >= a and I <= b}`.
|
||||
|
@ -73,3 +73,7 @@ Just as `_: {X}` can be rewritten as `X` (constant pattern), `_: {X: T | Pred}`
|
|||
Array(T, N | N >= 3)
|
||||
.m(&self) = ...
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./11_enum.md'>Previous</a> | <a href='./13_algebraic.md'>Next</a>
|
||||
</p>
|
||||
|
|
|
@ -82,3 +82,7 @@ assert Int and Marker == And(Int, Marker)
|
|||
```
|
||||
|
||||
Diff, Complement types are not true algebraic types because they can always be simplified.
|
||||
|
||||
<p align='center'>
|
||||
<a href='./12_refinement.md'>Previous</a> | <a href='./14_dependent.md'>Next</a>
|
||||
</p>
|
|
@ -71,4 +71,8 @@ MyArray(T, N) = Inherit[T; N]
|
|||
|
||||
# The type of self: Self(T, N) changes in conjunction with .array
|
||||
MyStruct!(T, N: Nat!) = Class {.array: [T; !N]}
|
||||
```
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./13_algebraic.md'>Previous</a> | <a href='./15_quantified.md'>Next</a>
|
||||
</p>
|
|
@ -278,3 +278,7 @@ DepFn.
|
|||
assert (Int -> Int).type() == Int # by DepFn
|
||||
assert DepFn(Int).type() == Int # by DepFn
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./14_dependent.md'>Previous</a> | <a href='./16_subtyping.md'>Next</a>
|
||||
</p>
|
|
@ -74,3 +74,7 @@ i as (Int or Str)
|
|||
i as (1..10)
|
||||
i as {I: Int | I >= 0}
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./15_quantified.md'>Previous</a> | <a href='./17_type_casting.md'>Next</a>
|
||||
</p>
|
|
@ -70,3 +70,7 @@ IntTryFromFloat.
|
|||
then: r.ceil()
|
||||
else: Error "conversion failed".
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./16_subtyping.md'>Previous</a> | <a href='./18_mut.md'>Next</a>
|
||||
</p>
|
|
@ -160,4 +160,8 @@ And for the type `T!` which has no internal structure, this instance is simply a
|
|||
|
||||
---
|
||||
|
||||
<span id="1" style="font-size:x-small"><sup>1</sup> It is intentional that `T!` and `T` types have no special linguistic relationship. It's a design. If there is a relationship, for example, if the `T`/`T!` type exists in the namespace, it will not be possible to introduce the `T!`/`T` type from another module. Also, the mutable type is not uniquely defined for the immutable type. Given the definition `T = (U, V)`, the possible variable subtypes of `T!` are `(U!, V)` and `(U, V!)`. [↩](#f1)</span>
|
||||
<span id="1" style="font-size:x-small"><sup>1</sup> It is intentional that `T!` and `T` types have no special linguistic relationship. It's a design. If there is a relationship, for example, if the `T`/`T!` type exists in the namespace, it will not be possible to introduce the `T!`/`T` type from another module. Also, the mutable type is not uniquely defined for the immutable type. Given the definition `T = (U, V)`, the possible variable subtypes of `T!` are `(U!, V)` and `(U, V!)`. [↩](#f1)</span>
|
||||
|
||||
<p align='center'>
|
||||
<a href='./17_type_casting.md'>Previous</a> | <a href='./19_bound.md'>Next</a>
|
||||
</p>
|
|
@ -15,4 +15,8 @@ g a: [T; N | N > 5] | T, N = ...
|
|||
Odd = {I: Int | I % 2 == 1}
|
||||
R2Plus = {(L, R) | L, R: Ratio; L > 0 and R > 0}
|
||||
GeneralizedOdd = {I | U; I <: Div(Nat, U); I % 2 == 0}
|
||||
```
|
||||
```
|
||||
|
||||
<p align='center'>
|
||||
<a href='./18_mut.md'>Previous</a> | Next
|
||||
</p>
|
|
@ -3,173 +3,332 @@
|
|||
[](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=68054846e20b4cdb0e92e986b1b86fcc77de8bcd)
|
||||
|
||||
この索引にないAPIについては[こちら](../API/index.md)を参照してください。
|
||||
用語の意味については[こちら](../dev_guide/terms.md)を参照。
|
||||
|
||||
用語の意味については[こちら](../terms.md)を参照。
|
||||
|
||||
## 記号
|
||||
|
||||
* !
|
||||
* !-type → [可変型](./type/mut.md)
|
||||
* [#](./00_basic.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)
|
||||
* ()
|
||||
* [′ (single quote)](./20_naming_rule.md)
|
||||
* [" (double quote)](./01_literal.md)
|
||||
* () → [Tuple](./11_tuple.md)
|
||||
* *
|
||||
* [*-less multiplication](./01_literal.md/#less-multiplication)
|
||||
* + (前置)
|
||||
* * → [*-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.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](./type/01_type_system.md)
|
||||
* {:}
|
||||
* {=}
|
||||
* {=} type
|
||||
* {=} → [Type System](./type/01_type_system.md)
|
||||
* [{=} type](./13_record.md)
|
||||
* |
|
||||
* ||
|
||||
* || → [Type variable list](./type/advanced/)
|
||||
* ~
|
||||
|
||||
## アルファベット
|
||||
|
||||
### A
|
||||
|
||||
* [algebraic type]
|
||||
* [Add]
|
||||
* [alias](type/02_basic.md)
|
||||
* [Aliasing](./type/02_basic.md)
|
||||
* [All symmetric types](./type/15_quantified.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]
|
||||
* [attribute]
|
||||
* [Attach](./29_decorator.md)
|
||||
* [attribute](type/09_attributive.md)
|
||||
* [Attribute definitions](./type/02_basic.md)
|
||||
* [Attribute Type](./type/09_attributive.md)
|
||||
|
||||
### B
|
||||
|
||||
* [Base]
|
||||
* [Bool]
|
||||
* [Bool, Boolean](./01_literal.md)
|
||||
* [Boolean Object](./01_literal.md)
|
||||
* [borrow](./18_ownership.md)
|
||||
|
||||
### C
|
||||
|
||||
* [Class]
|
||||
* [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
|
||||
* [distinct]
|
||||
* [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
|
||||
|
||||
* [enum type]
|
||||
* [Eq]
|
||||
* [Erg]
|
||||
* [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
|
||||
|
||||
* [for]
|
||||
* False → [Boolean Object](./01_literal.md)
|
||||
* [Float&sbsp;Object](./01_literal.md)
|
||||
* [for](./05_builtin_funcs.md)
|
||||
* [For-All Patch](./type/07_patch.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
|
||||
|
||||
### I
|
||||
|
||||
* [if]
|
||||
* [import]
|
||||
* [id](./09_builtin_procs.md)
|
||||
* [if](./05_builtin_funcs.md)
|
||||
* [import](./33_package_system.md)
|
||||
* [impl](./29_decorator.md)
|
||||
* [in]
|
||||
* [Int]
|
||||
* [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
|
||||
|
||||
* let-polymorphism → [ランク1多相]
|
||||
* [log]
|
||||
* 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]
|
||||
* Never
|
||||
* None
|
||||
* None
|
||||
* [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
|
||||
* [print!](./../API/procs.md#print)
|
||||
* [Python]
|
||||
* [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
|
||||
|
||||
* ref
|
||||
* ref!
|
||||
* [Result]
|
||||
* [rootobj]
|
||||
* [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/special.md)
|
||||
* [Self](./type/advanced/special.md)
|
||||
* [Shared Reference](./type/advanced/shared.md)
|
||||
* [side-effect](./07_side_effect.md)
|
||||
* [Str]
|
||||
* [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
|
||||
|
||||
* Trait
|
||||
* [True]
|
||||
* [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]
|
||||
* [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!]
|
||||
* [while]
|
||||
|
||||
### X
|
||||
|
||||
|
|
|
@ -3,173 +3,332 @@
|
|||
[](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=438bcb89ea692f219b30f3a3ba107888b23eae98)
|
||||
|
||||
有关不在此索引中的 API,请参阅 [此处](../API/index.md)。
|
||||
有关术语,请参见 [此处](../dev_guide/terms.md)。
|
||||
|
||||
有关术语,请参见 [此处](../terms.md)。
|
||||
|
||||
## 符号
|
||||
|
||||
* !
|
||||
* !-type → [可变性](./type/mut.md)
|
||||
* [#](./00_basic.md/#comment)
|
||||
* $
|
||||
* ! → [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)
|
||||
* ()
|
||||
* [′ (single quote)](./20_naming_rule.md)
|
||||
* [" (double quote)](./01_literal.md)
|
||||
* () → [Tuple](./11_tuple.md)
|
||||
* *
|
||||
* [*-less multiplication](./01_literal.md/#less-multiplication)
|
||||
* + (前置)
|
||||
* * → [*-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.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](./type/01_type_system.md)
|
||||
* {:}
|
||||
* {=}
|
||||
* {=} type
|
||||
* {=} → [Type System](./type/01_type_system.md)
|
||||
* [{=} type](./13_record.md)
|
||||
* |
|
||||
* ||
|
||||
* || → [Type variable list](./type/advanced/)
|
||||
* ~
|
||||
|
||||
## 字母
|
||||
## アルファベット
|
||||
|
||||
### A
|
||||
|
||||
* algebraic type
|
||||
* And
|
||||
* and
|
||||
* assert
|
||||
* attribute
|
||||
* [Add]
|
||||
* [alias](type/02_basic.md)
|
||||
* [Aliasing](./type/02_basic.md)
|
||||
* [All symmetric types](./type/15_quantified.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
|
||||
|
||||
* Base
|
||||
* Bool
|
||||
* [Bool, Boolean](./01_literal.md)
|
||||
* [Boolean Object](./01_literal.md)
|
||||
* [borrow](./18_ownership.md)
|
||||
|
||||
### C
|
||||
|
||||
* Class
|
||||
* [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
|
||||
|
||||
* enum type
|
||||
* Eq
|
||||
* Erg
|
||||
* [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
|
||||
|
||||
* for
|
||||
* False → [Boolean Object](./01_literal.md)
|
||||
* [Float&sbsp;Object](./01_literal.md)
|
||||
* [for](./05_builtin_funcs.md)
|
||||
* [For-All Patch](./type/07_patch.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
|
||||
|
||||
### I
|
||||
|
||||
* if
|
||||
* import
|
||||
* in
|
||||
* Int
|
||||
* [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
|
||||
|
||||
* let-polymorphism → [rank 1 polymorphism]
|
||||
* log
|
||||
* 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
|
||||
* [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
|
||||
* Never
|
||||
* None
|
||||
* None
|
||||
* Not
|
||||
* not
|
||||
* [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
|
||||
|
||||
* Option
|
||||
* Or
|
||||
* or
|
||||
* Ord
|
||||
* [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
|
||||
* [print!](./../API/procs.md#print)
|
||||
* Python
|
||||
* [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
|
||||
|
||||
* ref
|
||||
* ref!
|
||||
* Result
|
||||
* [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/special.md)
|
||||
* [Self](./type/advanced/special.md)
|
||||
* [Shared Reference](./type/advanced/shared.md)
|
||||
* [side-effect](./07_side_effect.md)
|
||||
* Str
|
||||
* [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
|
||||
|
||||
* Traits
|
||||
* True
|
||||
* Type
|
||||
* type
|
||||
* [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!
|
||||
* [while]
|
||||
|
||||
### X
|
||||
|
||||
|
|
|
@ -3,173 +3,332 @@
|
|||
[](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=438bcb89ea692f219b30f3a3ba107888b23eae98)
|
||||
|
||||
有關不在此索引中的 API,請參閱 [此處](../API/index.md)。
|
||||
有關術語,請參見 [此處](../dev_guide/terms.md)。
|
||||
|
||||
有關術語,請參見 [此處](../terms.md)。
|
||||
|
||||
## 符號
|
||||
|
||||
* !
|
||||
* !-type → [可變性](./type/mut.md)
|
||||
* [#](./00_basic.md/#comment)
|
||||
* $
|
||||
* ! → [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)
|
||||
* ()
|
||||
* [′ (single quote)](./20_naming_rule.md)
|
||||
* [" (double quote)](./01_literal.md)
|
||||
* () → [Tuple](./11_tuple.md)
|
||||
* *
|
||||
* [*-less multiplication](./01_literal.md/#less-multiplication)
|
||||
* + (前置)
|
||||
* * → [*-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.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](./type/01_type_system.md)
|
||||
* {:}
|
||||
* {=}
|
||||
* {=} type
|
||||
* {=} → [Type System](./type/01_type_system.md)
|
||||
* [{=} type](./13_record.md)
|
||||
* |
|
||||
* ||
|
||||
* || → [Type variable list](./type/advanced/)
|
||||
* ~
|
||||
|
||||
## 字母
|
||||
## アルファベット
|
||||
|
||||
### A
|
||||
|
||||
* algebraic type
|
||||
* And
|
||||
* and
|
||||
* assert
|
||||
* attribute
|
||||
* [Add]
|
||||
* [alias](type/02_basic.md)
|
||||
* [Aliasing](./type/02_basic.md)
|
||||
* [All symmetric types](./type/15_quantified.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
|
||||
|
||||
* Base
|
||||
* Bool
|
||||
* [Bool, Boolean](./01_literal.md)
|
||||
* [Boolean Object](./01_literal.md)
|
||||
* [borrow](./18_ownership.md)
|
||||
|
||||
### C
|
||||
|
||||
* Class
|
||||
* [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
|
||||
|
||||
* enum type
|
||||
* Eq
|
||||
* Erg
|
||||
* [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
|
||||
|
||||
* for
|
||||
* False → [Boolean Object](./01_literal.md)
|
||||
* [Float&sbsp;Object](./01_literal.md)
|
||||
* [for](./05_builtin_funcs.md)
|
||||
* [For-All Patch](./type/07_patch.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
|
||||
|
||||
### I
|
||||
|
||||
* if
|
||||
* import
|
||||
* in
|
||||
* Int
|
||||
* [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
|
||||
|
||||
* let-polymorphism → [rank 1 polymorphism]
|
||||
* log
|
||||
* 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
|
||||
* [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
|
||||
* Never
|
||||
* None
|
||||
* None
|
||||
* Not
|
||||
* not
|
||||
* [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
|
||||
|
||||
* Option
|
||||
* Or
|
||||
* or
|
||||
* Ord
|
||||
* [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
|
||||
* [print!](./../API/procs.md#print)
|
||||
* Python
|
||||
* [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
|
||||
|
||||
* ref
|
||||
* ref!
|
||||
* Result
|
||||
* [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/special.md)
|
||||
* [Self](./type/advanced/special.md)
|
||||
* [Shared Reference](./type/advanced/shared.md)
|
||||
* [side-effect](./07_side_effect.md)
|
||||
* Str
|
||||
* [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
|
||||
|
||||
* Traits
|
||||
* True
|
||||
* Type
|
||||
* type
|
||||
* [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!
|
||||
* [while]
|
||||
|
||||
### X
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue