From c5fba46ee0682dcab1e504167eac0151f63a7131 Mon Sep 17 00:00:00 2001 From: Cai Bingjun <1945458160@qq.com> Date: Sun, 4 Sep 2022 10:47:30 +0800 Subject: [PATCH] Retranslate zh_CN and zh_TW doc --- doc/zh_CN/API/consts.md | 6 +- doc/zh_CN/API/funcs.md | 74 +- doc/zh_CN/API/modules/external/alstruct.md | 83 +- doc/zh_CN/API/modules/repl.md | 16 +- doc/zh_CN/API/modules/status.md | 6 +- doc/zh_CN/API/modules/unit.md | 80 +- doc/zh_CN/API/modules/unsound.md | 18 +- doc/zh_CN/API/operators.md | 42 +- doc/zh_CN/API/procs.md | 22 +- doc/zh_CN/API/special.md | 112 +-- doc/zh_CN/API/types.md | 252 +++--- doc/zh_CN/API/types/classes/Array!(T).md | 3 +- doc/zh_CN/API/types/classes/Array(T).md | 2 +- .../API/types/classes/ArrayWithLen(T,N).md | 28 +- .../types/classes/ArrayWithMutLength!(T,N).md | 40 +- doc/zh_CN/API/types/classes/Complex.md | 4 +- doc/zh_CN/API/types/classes/Dict!.md | 4 +- doc/zh_CN/API/types/classes/Either.md | 4 +- doc/zh_CN/API/types/classes/Float.md | 14 +- doc/zh_CN/API/types/classes/Function(N).md | 4 +- doc/zh_CN/API/types/classes/Inf.md | 10 +- doc/zh_CN/API/types/classes/Int.md | 10 +- doc/zh_CN/API/types/classes/IntRange.md | 10 +- doc/zh_CN/API/types/classes/Interval.md | 14 +- doc/zh_CN/API/types/classes/Matrix.md | 4 +- doc/zh_CN/API/types/classes/Nat.md | 12 +- doc/zh_CN/API/types/classes/Neg.md | 8 +- doc/zh_CN/API/types/classes/Never.md | 10 +- doc/zh_CN/API/types/classes/NonZero.md | 44 +- doc/zh_CN/API/types/classes/Object.md | 6 +- doc/zh_CN/API/types/classes/Operator.md | 6 +- doc/zh_CN/API/types/classes/Option.md | 8 +- doc/zh_CN/API/types/classes/Pos.md | 6 +- doc/zh_CN/API/types/classes/Ratio.md | 8 +- doc/zh_CN/API/types/classes/Record.md | 10 +- doc/zh_CN/API/types/classes/Result.md | 4 +- doc/zh_CN/API/types/classes/Str!.md | 4 +- doc/zh_CN/API/types/classes/Str.md | 6 +- doc/zh_CN/API/types/classes/Subroutine.md | 22 +- doc/zh_CN/API/types/classes/Tensor.md | 16 +- doc/zh_CN/API/types/classes/TransCell(T).md | 8 +- doc/zh_CN/API/types/classes/Tuple.md | 32 +- doc/zh_CN/API/types/classes/Vector.md | 2 +- doc/zh_CN/API/types/patches/BinOp.md | 4 +- doc/zh_CN/API/types/patches/UnaryOp.md | 8 +- doc/zh_CN/API/types/traits/Add(R,O).md | 22 +- doc/zh_CN/API/types/traits/Div(R,O).md | 8 +- doc/zh_CN/API/types/traits/Into.md | 8 +- doc/zh_CN/API/types/traits/Num.md | 4 +- doc/zh_CN/API/types/traits/SafeDiv(R,O).md | 8 +- doc/zh_CN/API/types/traits/Sample.md | 30 +- doc/zh_CN/API/types/traits/Unpack.md | 12 +- doc/zh_CN/compiler/TODO_recov_suggest.md | 4 +- doc/zh_CN/compiler/TODO_warn.md | 4 +- doc/zh_CN/compiler/abandoned.md | 12 +- doc/zh_CN/compiler/architecture.md | 2 +- doc/zh_CN/compiler/errors.md | 60 +- doc/zh_CN/compiler/hir.md | 56 +- doc/zh_CN/compiler/inference.md | 358 ++++---- doc/zh_CN/compiler/overview.md | 36 +- doc/zh_CN/compiler/parsing.md | 24 +- doc/zh_CN/compiler/refinement_subtyping.md | 88 +- doc/zh_CN/compiler/trait_method_resolving.md | 75 +- doc/zh_CN/compiler/transpile.md | 49 +- doc/zh_CN/compiler/type_var_normalization.md | 32 +- doc/zh_CN/dev_guide/branches.md | 2 +- doc/zh_CN/dev_guide/build_features.md | 10 +- doc/zh_CN/dev_guide/directories.md | 2 +- doc/zh_CN/dev_guide/doc_guideline.md | 16 +- doc/zh_CN/dev_guide/env.md | 20 +- doc/zh_CN/dev_guide/faq_syntax.md | 6 +- doc/zh_CN/dev_guide/i18n_messages.md | 6 +- doc/zh_CN/dev_guide/rust_code_guideline.md | 30 +- doc/zh_CN/dev_guide/terms.md | 658 +++++++------- doc/zh_CN/dev_guide/unify_terms.md | 90 +- doc/zh_CN/faq_general.md | 36 +- doc/zh_CN/faq_technical.md | 35 +- doc/zh_CN/improved_points.md | 38 +- doc/zh_CN/index.md | 14 +- doc/zh_CN/migration_from_py.md | 21 +- doc/zh_CN/python/bytecode_instructions.md | 72 +- doc/zh_CN/python/bytecode_specification.md | 11 +- doc/zh_CN/python/class_system.md | 39 +- doc/zh_CN/syntax/00_basic.md | 95 +- doc/zh_CN/syntax/01_literal.md | 78 +- doc/zh_CN/syntax/02_name.md | 75 +- doc/zh_CN/syntax/03_declaration.md | 27 +- doc/zh_CN/syntax/04_function.md | 134 ++- doc/zh_CN/syntax/05_builtin_funcs.md | 15 +- doc/zh_CN/syntax/06_operator.md | 17 +- doc/zh_CN/syntax/07_side_effect.md | 76 +- doc/zh_CN/syntax/08_procedure.md | 6 +- doc/zh_CN/syntax/09_builtin_procs.md | 7 +- doc/zh_CN/syntax/10_array.md | 38 +- doc/zh_CN/syntax/11_tuple.md | 66 +- doc/zh_CN/syntax/12_dict.md | 42 +- doc/zh_CN/syntax/13_record.md | 87 +- doc/zh_CN/syntax/14_set.md | 34 +- doc/zh_CN/syntax/15_type.md | 8 +- doc/zh_CN/syntax/16_iterator.md | 32 +- doc/zh_CN/syntax/17_mutability.md | 57 +- doc/zh_CN/syntax/18_ownership.md | 85 +- doc/zh_CN/syntax/19_visibility.md | 118 ++- doc/zh_CN/syntax/20_naming_rule.md | 38 +- doc/zh_CN/syntax/21_lambda.md | 81 +- doc/zh_CN/syntax/22_subroutine.md | 27 +- doc/zh_CN/syntax/23_closure.md | 65 +- doc/zh_CN/syntax/24_module.md | 37 +- doc/zh_CN/syntax/25_object_system.md | 81 +- doc/zh_CN/syntax/26_pattern_matching.md | 112 ++- doc/zh_CN/syntax/27_comprehension.md | 58 +- doc/zh_CN/syntax/28_spread_syntax.md | 33 +- doc/zh_CN/syntax/29_decorator.md | 80 +- doc/zh_CN/syntax/30_error_handling.md | 75 +- doc/zh_CN/syntax/31_pipeline.md | 20 +- .../syntax/32_integration_with_Python.md | 35 +- doc/zh_CN/syntax/33_package_system.md | 32 +- doc/zh_CN/syntax/34_generator.md | 16 +- doc/zh_CN/syntax/container_ownership.md | 26 +- doc/zh_CN/syntax/indexes.md | 690 +++++++-------- doc/zh_CN/syntax/quick_tour.md | 202 ++--- doc/zh_CN/syntax/type/01_type_system.md | 131 +-- doc/zh_CN/syntax/type/02_basic.md | 85 +- doc/zh_CN/syntax/type/03_trait.md | 110 ++- doc/zh_CN/syntax/type/04_class.md | 144 +-- doc/zh_CN/syntax/type/05_inheritance.md | 146 +-- doc/zh_CN/syntax/type/06_nst_vs_sst.md | 18 +- doc/zh_CN/syntax/type/07_patch.md | 85 +- doc/zh_CN/syntax/type/08_value.md | 19 +- doc/zh_CN/syntax/type/09_attributive.md | 10 +- doc/zh_CN/syntax/type/10_interval.md | 17 +- doc/zh_CN/syntax/type/11_enum.md | 33 +- doc/zh_CN/syntax/type/12_refinement.md | 48 +- doc/zh_CN/syntax/type/13_algebraic.md | 37 +- doc/zh_CN/syntax/type/14_dependent.md | 54 +- doc/zh_CN/syntax/type/15_quantified.md | 150 ++-- doc/zh_CN/syntax/type/16_subtyping.md | 34 +- doc/zh_CN/syntax/type/17_type_casting.md | 36 +- doc/zh_CN/syntax/type/18_mut.md | 187 ++-- doc/zh_CN/syntax/type/19_bound.md | 16 +- doc/zh_CN/syntax/type/advanced.md | 2 +- doc/zh_CN/syntax/type/advanced/GADTs.md | 30 +- doc/zh_CN/syntax/type/advanced/_rank2type.md | 116 +-- .../syntax/type/advanced/default_param.md | 16 +- doc/zh_CN/syntax/type/advanced/erasure.md | 30 +- doc/zh_CN/syntax/type/advanced/existential.md | 26 +- .../syntax/type/advanced/keyword_param.md | 22 +- doc/zh_CN/syntax/type/advanced/kind.md | 122 ++- .../syntax/type/advanced/marker_trait.md | 22 +- doc/zh_CN/syntax/type/advanced/mut_struct.md | 30 +- doc/zh_CN/syntax/type/advanced/newtype.md | 18 +- doc/zh_CN/syntax/type/advanced/overloading.md | 36 +- doc/zh_CN/syntax/type/advanced/phantom.md | 31 +- doc/zh_CN/syntax/type/advanced/projection.md | 11 +- .../type/advanced/quantified_dependent.md | 17 +- doc/zh_CN/syntax/type/advanced/shared.md | 32 +- doc/zh_CN/syntax/type/advanced/special.md | 31 +- doc/zh_CN/syntax/type/advanced/typeof.md | 36 +- doc/zh_CN/syntax/type/advanced/variance.md | 131 +-- doc/zh_CN/syntax/type/advanced/widening.md | 77 +- doc/zh_CN/tips.md | 61 +- doc/zh_CN/tools/build.md | 19 +- doc/zh_CN/tools/env.md | 8 +- doc/zh_CN/tools/fmt.md | 5 +- doc/zh_CN/tools/install.md | 13 +- doc/zh_CN/tools/pack.md | 102 ++- doc/zh_CN/tools/repl.md | 10 +- doc/zh_CN/tools/test.md | 30 +- doc/zh_TW/API/consts.md | 13 - doc/zh_TW/API/funcs.md | 121 --- doc/zh_TW/API/index.md | 0 doc/zh_TW/API/modules/external/alstruct.md | 57 -- doc/zh_TW/API/modules/repl.md | 24 - doc/zh_TW/API/modules/status.md | 6 - doc/zh_TW/API/modules/unit.md | 73 -- doc/zh_TW/API/modules/unsound.md | 24 - doc/zh_TW/API/operators.md | 64 -- doc/zh_TW/API/procs.md | 39 - doc/zh_TW/API/special.md | 175 ---- doc/zh_TW/API/types.md | 262 ------ doc/zh_TW/API/types/classes/Array!(T).md | 3 - doc/zh_TW/API/types/classes/Array(T).md | 3 - .../API/types/classes/ArrayWithLen(T,N).md | 34 - .../types/classes/ArrayWithMutLength!(T,N).md | 26 - doc/zh_TW/API/types/classes/Class.md | 0 doc/zh_TW/API/types/classes/Complex.md | 14 - doc/zh_TW/API/types/classes/Dict!.md | 7 - doc/zh_TW/API/types/classes/Either.md | 12 - doc/zh_TW/API/types/classes/Float.md | 21 - doc/zh_TW/API/types/classes/Function(N).md | 9 - doc/zh_TW/API/types/classes/Inf.md | 7 - doc/zh_TW/API/types/classes/Int.md | 10 - doc/zh_TW/API/types/classes/IntRange.md | 19 - doc/zh_TW/API/types/classes/Interval.md | 18 - doc/zh_TW/API/types/classes/Iterator.md | 0 doc/zh_TW/API/types/classes/Kind(N).md | 5 - doc/zh_TW/API/types/classes/Matrix.md | 7 - doc/zh_TW/API/types/classes/Module.md | 3 - doc/zh_TW/API/types/classes/Nat.md | 18 - doc/zh_TW/API/types/classes/Neg.md | 8 - doc/zh_TW/API/types/classes/Never.md | 13 - doc/zh_TW/API/types/classes/NonZero.md | 30 - doc/zh_TW/API/types/classes/Object.md | 7 - doc/zh_TW/API/types/classes/Operator.md | 7 - doc/zh_TW/API/types/classes/Option.md | 21 - doc/zh_TW/API/types/classes/Pos.md | 8 - doc/zh_TW/API/types/classes/Ratio.md | 5 - doc/zh_TW/API/types/classes/Record.md | 14 - doc/zh_TW/API/types/classes/Result.md | 7 - doc/zh_TW/API/types/classes/Str!.md | 3 - doc/zh_TW/API/types/classes/Str.md | 9 - doc/zh_TW/API/types/classes/StrWithLen.md | 0 doc/zh_TW/API/types/classes/Subroutine.md | 19 - doc/zh_TW/API/types/classes/Tensor.md | 24 - doc/zh_TW/API/types/classes/TransCell(T).md | 12 - doc/zh_TW/API/types/classes/Tuple.md | 27 - doc/zh_TW/API/types/classes/Type.md | 0 doc/zh_TW/API/types/classes/Vector.md | 3 - doc/zh_TW/API/types/patches/BinOp.md | 7 - doc/zh_TW/API/types/patches/UnaryOp.md | 7 - doc/zh_TW/API/types/traits/Add(R,O).md | 34 - doc/zh_TW/API/types/traits/Div(R,O).md | 9 - doc/zh_TW/API/types/traits/Eq.md | 0 doc/zh_TW/API/types/traits/Into.md | 11 - doc/zh_TW/API/types/traits/Iterable.md | 0 doc/zh_TW/API/types/traits/Num.md | 16 - doc/zh_TW/API/types/traits/Ord.md | 0 doc/zh_TW/API/types/traits/SafeDiv(R,O).md | 8 - doc/zh_TW/API/types/traits/Sample.md | 31 - doc/zh_TW/API/types/traits/Seq.md | 0 doc/zh_TW/API/types/traits/Show.md | 0 doc/zh_TW/API/types/traits/Unpack.md | 13 - doc/zh_TW/compiler/TODO_hint.md | 4 - doc/zh_TW/compiler/TODO_recov_suggest.md | 11 - doc/zh_TW/compiler/TODO_warn.md | 5 - doc/zh_TW/compiler/abandoned.md | 10 - doc/zh_TW/compiler/architecture.md | 39 - doc/zh_TW/compiler/errors.md | 131 --- doc/zh_TW/compiler/hir.md | 148 ---- doc/zh_TW/compiler/index.md | 0 doc/zh_TW/compiler/inference.md | 436 --------- doc/zh_TW/compiler/overview.md | 36 - doc/zh_TW/compiler/parsing.md | 31 - doc/zh_TW/compiler/refinement_subtyping.md | 155 ---- doc/zh_TW/compiler/trait_method_resolving.md | 86 -- doc/zh_TW/compiler/transpile.md | 91 -- doc/zh_TW/compiler/type_var_normalization.md | 35 - doc/zh_TW/dev_guide/branches.md | 35 - doc/zh_TW/dev_guide/build_features.md | 17 - doc/zh_TW/dev_guide/directories.md | 24 - doc/zh_TW/dev_guide/doc_guideline.md | 13 - doc/zh_TW/dev_guide/env.md | 19 - doc/zh_TW/dev_guide/faq_syntax.md | 107 --- doc/zh_TW/dev_guide/i18n_messages.md | 55 -- doc/zh_TW/dev_guide/index.md | 0 doc/zh_TW/dev_guide/rust_code_guideline.md | 23 - doc/zh_TW/dev_guide/terms.md | 831 ------------------ doc/zh_TW/dev_guide/unify_terms.md | 80 -- doc/zh_TW/faq_general.md | 27 - doc/zh_TW/faq_technical.md | 25 - doc/zh_TW/improved_points.md | 46 - doc/zh_TW/index.md | 25 - doc/zh_TW/migration_from_py.md | 28 - doc/zh_TW/python/bytecode_instructions.md | 106 --- doc/zh_TW/python/bytecode_specification.md | 70 -- doc/zh_TW/python/class_system.md | 95 -- doc/zh_TW/python/index.md | 0 doc/zh_TW/syntax/00_basic.md | 121 --- doc/zh_TW/syntax/01_literal.md | 165 ---- doc/zh_TW/syntax/02_name.md | 169 ---- doc/zh_TW/syntax/03_declaration.md | 48 - doc/zh_TW/syntax/04_function.md | 306 ------- doc/zh_TW/syntax/05_builtin_funcs.md | 52 -- doc/zh_TW/syntax/06_operator.md | 30 - doc/zh_TW/syntax/07_side_effect.md | 123 --- doc/zh_TW/syntax/08_procedure.md | 12 - doc/zh_TW/syntax/09_builtin_procs.md | 13 - doc/zh_TW/syntax/10_array.md | 56 -- doc/zh_TW/syntax/11_tuple.md | 125 --- doc/zh_TW/syntax/12_dict.md | 71 -- doc/zh_TW/syntax/13_record.md | 198 ----- doc/zh_TW/syntax/14_set.md | 50 -- doc/zh_TW/syntax/15_type.md | 7 - doc/zh_TW/syntax/16_iterator.md | 91 -- doc/zh_TW/syntax/17_mutability.md | 92 -- doc/zh_TW/syntax/18_ownership.md | 103 --- doc/zh_TW/syntax/19_visibility.md | 199 ----- doc/zh_TW/syntax/20_naming_rule.md | 52 -- doc/zh_TW/syntax/21_lambda.md | 102 --- doc/zh_TW/syntax/22_subroutine.md | 65 -- doc/zh_TW/syntax/23_closure.md | 99 --- doc/zh_TW/syntax/24_module.md | 47 - doc/zh_TW/syntax/25_object_system.md | 77 -- doc/zh_TW/syntax/26_pattern_matching.md | 203 ----- doc/zh_TW/syntax/27_comprehension.md | 65 -- doc/zh_TW/syntax/28_spread_syntax.md | 45 - doc/zh_TW/syntax/29_decorator.md | 124 --- doc/zh_TW/syntax/30_error_handling.md | 106 --- doc/zh_TW/syntax/31_pipeline.md | 32 - .../syntax/32_integration_with_Python.md | 87 -- doc/zh_TW/syntax/33_package_system.md | 83 -- doc/zh_TW/syntax/34_generator.md | 37 - doc/zh_TW/syntax/SUMMARY.md | 69 -- doc/zh_TW/syntax/container_ownership.md | 42 - doc/zh_TW/syntax/grammar.txt | 88 -- doc/zh_TW/syntax/indexes.md | 452 ---------- doc/zh_TW/syntax/quick_tour.md | 287 ------ doc/zh_TW/syntax/type/01_type_system.md | 224 ----- doc/zh_TW/syntax/type/02_basic.md | 170 ---- doc/zh_TW/syntax/type/03_trait.md | 193 ---- doc/zh_TW/syntax/type/04_class.md | 285 ------ doc/zh_TW/syntax/type/05_inheritance.md | 248 ------ doc/zh_TW/syntax/type/06_nst_vs_sst.md | 43 - doc/zh_TW/syntax/type/07_patch.md | 223 ----- doc/zh_TW/syntax/type/08_value.md | 38 - doc/zh_TW/syntax/type/09_attributive.md | 7 - doc/zh_TW/syntax/type/10_interval.md | 39 - doc/zh_TW/syntax/type/11_enum.md | 86 -- doc/zh_TW/syntax/type/12_refinement.md | 75 -- doc/zh_TW/syntax/type/13_algebraic.md | 82 -- doc/zh_TW/syntax/type/14_dependent.md | 76 -- doc/zh_TW/syntax/type/15_quantified.md | 288 ------ doc/zh_TW/syntax/type/16_subtyping.md | 80 -- doc/zh_TW/syntax/type/17_type_casting.md | 74 -- doc/zh_TW/syntax/type/18_mut.md | 168 ---- doc/zh_TW/syntax/type/19_bound.md | 16 - doc/zh_TW/syntax/type/advanced.md | 1 - doc/zh_TW/syntax/type/advanced/GADTs.md | 68 -- doc/zh_TW/syntax/type/advanced/_rank2type.md | 142 --- .../syntax/type/advanced/default_param.md | 28 - doc/zh_TW/syntax/type/advanced/erasure.md | 45 - doc/zh_TW/syntax/type/advanced/existential.md | 39 - .../syntax/type/advanced/keyword_param.md | 26 - doc/zh_TW/syntax/type/advanced/kind.md | 157 ---- .../syntax/type/advanced/marker_trait.md | 33 - doc/zh_TW/syntax/type/advanced/mut_struct.md | 40 - doc/zh_TW/syntax/type/advanced/newtype.md | 31 - doc/zh_TW/syntax/type/advanced/overloading.md | 91 -- doc/zh_TW/syntax/type/advanced/phantom.md | 58 -- doc/zh_TW/syntax/type/advanced/projection.md | 25 - .../type/advanced/quantified_dependent.md | 30 - doc/zh_TW/syntax/type/advanced/shared.md | 72 -- doc/zh_TW/syntax/type/advanced/special.md | 54 -- doc/zh_TW/syntax/type/advanced/typeof.md | 61 -- doc/zh_TW/syntax/type/advanced/variance.md | 128 --- doc/zh_TW/syntax/type/advanced/widening.md | 93 -- doc/zh_TW/tips.md | 142 --- doc/zh_TW/tools/build.md | 13 - doc/zh_TW/tools/env.md | 3 - doc/zh_TW/tools/fmt.md | 5 - doc/zh_TW/tools/index.md | 0 doc/zh_TW/tools/install.md | 9 - doc/zh_TW/tools/pack.md | 82 -- doc/zh_TW/tools/repl.md | 15 - doc/zh_TW/tools/test.md | 43 - 355 files changed, 4129 insertions(+), 16617 deletions(-) delete mode 100644 doc/zh_TW/API/consts.md delete mode 100644 doc/zh_TW/API/funcs.md delete mode 100644 doc/zh_TW/API/index.md delete mode 100644 doc/zh_TW/API/modules/external/alstruct.md delete mode 100644 doc/zh_TW/API/modules/repl.md delete mode 100644 doc/zh_TW/API/modules/status.md delete mode 100644 doc/zh_TW/API/modules/unit.md delete mode 100644 doc/zh_TW/API/modules/unsound.md delete mode 100644 doc/zh_TW/API/operators.md delete mode 100644 doc/zh_TW/API/procs.md delete mode 100644 doc/zh_TW/API/special.md delete mode 100644 doc/zh_TW/API/types.md delete mode 100644 doc/zh_TW/API/types/classes/Array!(T).md delete mode 100644 doc/zh_TW/API/types/classes/Array(T).md delete mode 100644 doc/zh_TW/API/types/classes/ArrayWithLen(T,N).md delete mode 100644 doc/zh_TW/API/types/classes/ArrayWithMutLength!(T,N).md delete mode 100644 doc/zh_TW/API/types/classes/Class.md delete mode 100644 doc/zh_TW/API/types/classes/Complex.md delete mode 100644 doc/zh_TW/API/types/classes/Dict!.md delete mode 100644 doc/zh_TW/API/types/classes/Either.md delete mode 100644 doc/zh_TW/API/types/classes/Float.md delete mode 100644 doc/zh_TW/API/types/classes/Function(N).md delete mode 100644 doc/zh_TW/API/types/classes/Inf.md delete mode 100644 doc/zh_TW/API/types/classes/Int.md delete mode 100644 doc/zh_TW/API/types/classes/IntRange.md delete mode 100644 doc/zh_TW/API/types/classes/Interval.md delete mode 100644 doc/zh_TW/API/types/classes/Iterator.md delete mode 100644 doc/zh_TW/API/types/classes/Kind(N).md delete mode 100644 doc/zh_TW/API/types/classes/Matrix.md delete mode 100644 doc/zh_TW/API/types/classes/Module.md delete mode 100644 doc/zh_TW/API/types/classes/Nat.md delete mode 100644 doc/zh_TW/API/types/classes/Neg.md delete mode 100644 doc/zh_TW/API/types/classes/Never.md delete mode 100644 doc/zh_TW/API/types/classes/NonZero.md delete mode 100644 doc/zh_TW/API/types/classes/Object.md delete mode 100644 doc/zh_TW/API/types/classes/Operator.md delete mode 100644 doc/zh_TW/API/types/classes/Option.md delete mode 100644 doc/zh_TW/API/types/classes/Pos.md delete mode 100644 doc/zh_TW/API/types/classes/Ratio.md delete mode 100644 doc/zh_TW/API/types/classes/Record.md delete mode 100644 doc/zh_TW/API/types/classes/Result.md delete mode 100644 doc/zh_TW/API/types/classes/Str!.md delete mode 100644 doc/zh_TW/API/types/classes/Str.md delete mode 100644 doc/zh_TW/API/types/classes/StrWithLen.md delete mode 100644 doc/zh_TW/API/types/classes/Subroutine.md delete mode 100644 doc/zh_TW/API/types/classes/Tensor.md delete mode 100644 doc/zh_TW/API/types/classes/TransCell(T).md delete mode 100644 doc/zh_TW/API/types/classes/Tuple.md delete mode 100644 doc/zh_TW/API/types/classes/Type.md delete mode 100644 doc/zh_TW/API/types/classes/Vector.md delete mode 100644 doc/zh_TW/API/types/patches/BinOp.md delete mode 100644 doc/zh_TW/API/types/patches/UnaryOp.md delete mode 100644 doc/zh_TW/API/types/traits/Add(R,O).md delete mode 100644 doc/zh_TW/API/types/traits/Div(R,O).md delete mode 100644 doc/zh_TW/API/types/traits/Eq.md delete mode 100644 doc/zh_TW/API/types/traits/Into.md delete mode 100644 doc/zh_TW/API/types/traits/Iterable.md delete mode 100644 doc/zh_TW/API/types/traits/Num.md delete mode 100644 doc/zh_TW/API/types/traits/Ord.md delete mode 100644 doc/zh_TW/API/types/traits/SafeDiv(R,O).md delete mode 100644 doc/zh_TW/API/types/traits/Sample.md delete mode 100644 doc/zh_TW/API/types/traits/Seq.md delete mode 100644 doc/zh_TW/API/types/traits/Show.md delete mode 100644 doc/zh_TW/API/types/traits/Unpack.md delete mode 100644 doc/zh_TW/compiler/TODO_hint.md delete mode 100644 doc/zh_TW/compiler/TODO_recov_suggest.md delete mode 100644 doc/zh_TW/compiler/TODO_warn.md delete mode 100644 doc/zh_TW/compiler/abandoned.md delete mode 100644 doc/zh_TW/compiler/architecture.md delete mode 100644 doc/zh_TW/compiler/errors.md delete mode 100644 doc/zh_TW/compiler/hir.md delete mode 100644 doc/zh_TW/compiler/index.md delete mode 100644 doc/zh_TW/compiler/inference.md delete mode 100644 doc/zh_TW/compiler/overview.md delete mode 100644 doc/zh_TW/compiler/parsing.md delete mode 100644 doc/zh_TW/compiler/refinement_subtyping.md delete mode 100644 doc/zh_TW/compiler/trait_method_resolving.md delete mode 100644 doc/zh_TW/compiler/transpile.md delete mode 100644 doc/zh_TW/compiler/type_var_normalization.md delete mode 100644 doc/zh_TW/dev_guide/branches.md delete mode 100644 doc/zh_TW/dev_guide/build_features.md delete mode 100644 doc/zh_TW/dev_guide/directories.md delete mode 100644 doc/zh_TW/dev_guide/doc_guideline.md delete mode 100644 doc/zh_TW/dev_guide/env.md delete mode 100644 doc/zh_TW/dev_guide/faq_syntax.md delete mode 100644 doc/zh_TW/dev_guide/i18n_messages.md delete mode 100644 doc/zh_TW/dev_guide/index.md delete mode 100644 doc/zh_TW/dev_guide/rust_code_guideline.md delete mode 100644 doc/zh_TW/dev_guide/terms.md delete mode 100644 doc/zh_TW/dev_guide/unify_terms.md delete mode 100644 doc/zh_TW/faq_general.md delete mode 100644 doc/zh_TW/faq_technical.md delete mode 100644 doc/zh_TW/improved_points.md delete mode 100644 doc/zh_TW/index.md delete mode 100644 doc/zh_TW/migration_from_py.md delete mode 100644 doc/zh_TW/python/bytecode_instructions.md delete mode 100644 doc/zh_TW/python/bytecode_specification.md delete mode 100644 doc/zh_TW/python/class_system.md delete mode 100644 doc/zh_TW/python/index.md delete mode 100644 doc/zh_TW/syntax/00_basic.md delete mode 100644 doc/zh_TW/syntax/01_literal.md delete mode 100644 doc/zh_TW/syntax/02_name.md delete mode 100644 doc/zh_TW/syntax/03_declaration.md delete mode 100644 doc/zh_TW/syntax/04_function.md delete mode 100644 doc/zh_TW/syntax/05_builtin_funcs.md delete mode 100644 doc/zh_TW/syntax/06_operator.md delete mode 100644 doc/zh_TW/syntax/07_side_effect.md delete mode 100644 doc/zh_TW/syntax/08_procedure.md delete mode 100644 doc/zh_TW/syntax/09_builtin_procs.md delete mode 100644 doc/zh_TW/syntax/10_array.md delete mode 100644 doc/zh_TW/syntax/11_tuple.md delete mode 100644 doc/zh_TW/syntax/12_dict.md delete mode 100644 doc/zh_TW/syntax/13_record.md delete mode 100644 doc/zh_TW/syntax/14_set.md delete mode 100644 doc/zh_TW/syntax/15_type.md delete mode 100644 doc/zh_TW/syntax/16_iterator.md delete mode 100644 doc/zh_TW/syntax/17_mutability.md delete mode 100644 doc/zh_TW/syntax/18_ownership.md delete mode 100644 doc/zh_TW/syntax/19_visibility.md delete mode 100644 doc/zh_TW/syntax/20_naming_rule.md delete mode 100644 doc/zh_TW/syntax/21_lambda.md delete mode 100644 doc/zh_TW/syntax/22_subroutine.md delete mode 100644 doc/zh_TW/syntax/23_closure.md delete mode 100644 doc/zh_TW/syntax/24_module.md delete mode 100644 doc/zh_TW/syntax/25_object_system.md delete mode 100644 doc/zh_TW/syntax/26_pattern_matching.md delete mode 100644 doc/zh_TW/syntax/27_comprehension.md delete mode 100644 doc/zh_TW/syntax/28_spread_syntax.md delete mode 100644 doc/zh_TW/syntax/29_decorator.md delete mode 100644 doc/zh_TW/syntax/30_error_handling.md delete mode 100644 doc/zh_TW/syntax/31_pipeline.md delete mode 100644 doc/zh_TW/syntax/32_integration_with_Python.md delete mode 100644 doc/zh_TW/syntax/33_package_system.md delete mode 100644 doc/zh_TW/syntax/34_generator.md delete mode 100644 doc/zh_TW/syntax/SUMMARY.md delete mode 100644 doc/zh_TW/syntax/container_ownership.md delete mode 100644 doc/zh_TW/syntax/grammar.txt delete mode 100644 doc/zh_TW/syntax/indexes.md delete mode 100644 doc/zh_TW/syntax/quick_tour.md delete mode 100644 doc/zh_TW/syntax/type/01_type_system.md delete mode 100644 doc/zh_TW/syntax/type/02_basic.md delete mode 100644 doc/zh_TW/syntax/type/03_trait.md delete mode 100644 doc/zh_TW/syntax/type/04_class.md delete mode 100644 doc/zh_TW/syntax/type/05_inheritance.md delete mode 100644 doc/zh_TW/syntax/type/06_nst_vs_sst.md delete mode 100644 doc/zh_TW/syntax/type/07_patch.md delete mode 100644 doc/zh_TW/syntax/type/08_value.md delete mode 100644 doc/zh_TW/syntax/type/09_attributive.md delete mode 100644 doc/zh_TW/syntax/type/10_interval.md delete mode 100644 doc/zh_TW/syntax/type/11_enum.md delete mode 100644 doc/zh_TW/syntax/type/12_refinement.md delete mode 100644 doc/zh_TW/syntax/type/13_algebraic.md delete mode 100644 doc/zh_TW/syntax/type/14_dependent.md delete mode 100644 doc/zh_TW/syntax/type/15_quantified.md delete mode 100644 doc/zh_TW/syntax/type/16_subtyping.md delete mode 100644 doc/zh_TW/syntax/type/17_type_casting.md delete mode 100644 doc/zh_TW/syntax/type/18_mut.md delete mode 100644 doc/zh_TW/syntax/type/19_bound.md delete mode 100644 doc/zh_TW/syntax/type/advanced.md delete mode 100644 doc/zh_TW/syntax/type/advanced/GADTs.md delete mode 100644 doc/zh_TW/syntax/type/advanced/_rank2type.md delete mode 100644 doc/zh_TW/syntax/type/advanced/default_param.md delete mode 100644 doc/zh_TW/syntax/type/advanced/erasure.md delete mode 100644 doc/zh_TW/syntax/type/advanced/existential.md delete mode 100644 doc/zh_TW/syntax/type/advanced/keyword_param.md delete mode 100644 doc/zh_TW/syntax/type/advanced/kind.md delete mode 100644 doc/zh_TW/syntax/type/advanced/marker_trait.md delete mode 100644 doc/zh_TW/syntax/type/advanced/mut_struct.md delete mode 100644 doc/zh_TW/syntax/type/advanced/newtype.md delete mode 100644 doc/zh_TW/syntax/type/advanced/overloading.md delete mode 100644 doc/zh_TW/syntax/type/advanced/phantom.md delete mode 100644 doc/zh_TW/syntax/type/advanced/projection.md delete mode 100644 doc/zh_TW/syntax/type/advanced/quantified_dependent.md delete mode 100644 doc/zh_TW/syntax/type/advanced/shared.md delete mode 100644 doc/zh_TW/syntax/type/advanced/special.md delete mode 100644 doc/zh_TW/syntax/type/advanced/typeof.md delete mode 100644 doc/zh_TW/syntax/type/advanced/variance.md delete mode 100644 doc/zh_TW/syntax/type/advanced/widening.md delete mode 100644 doc/zh_TW/tips.md delete mode 100644 doc/zh_TW/tools/build.md delete mode 100644 doc/zh_TW/tools/env.md delete mode 100644 doc/zh_TW/tools/fmt.md delete mode 100644 doc/zh_TW/tools/index.md delete mode 100644 doc/zh_TW/tools/install.md delete mode 100644 doc/zh_TW/tools/pack.md delete mode 100644 doc/zh_TW/tools/repl.md delete mode 100644 doc/zh_TW/tools/test.md diff --git a/doc/zh_CN/API/consts.md b/doc/zh_CN/API/consts.md index b42e2f5b..daf7d1e5 100644 --- a/doc/zh_CN/API/consts.md +++ b/doc/zh_CN/API/consts.md @@ -1,4 +1,4 @@ -# 内置常量 +# built-in constants ## True @@ -8,6 +8,6 @@ ## Ellipsis -## NotImplemented +## Not Implemented -## Inf +## Inf \ No newline at end of file diff --git a/doc/zh_CN/API/funcs.md b/doc/zh_CN/API/funcs.md index 3dee7041..78128595 100644 --- a/doc/zh_CN/API/funcs.md +++ b/doc/zh_CN/API/funcs.md @@ -1,17 +1,17 @@ -# 功能 +# functions -## 基本功能 +## basic functions ### if|T; U|(cond: Bool, then: T, else: U) -> T or U ### map|T; U|(i: Iterable T, f: T -> U) -> Map U -请注意,参数的顺序与 Python 相反 +Note that the order of arguments is reversed from Python. ### log(x: Object, type: LogType = Info) -> None -在调试显示中记录“x”。 执行完成后汇总并显示日志 -支持表情符号的终端根据“类型”添加前缀 +Log `x` in debug display. Logs are summarized and displayed after the execution is finished. +Emoji-capable terminals are prefixed according to `type`. * type == Info: 💬 * type == Ok: ✅ @@ -20,17 +20,17 @@ ### panic(msg: Str) -> Panic -显示msg并停止。 -支持表情符号的终端有一个🚨前缀。 +Display msg and stop. +Emoji-capable terminals have a 🚨 prefix. ### discard|T|(x: ...T) -> NoneType -扔掉`x`。不使用返回值时使用。与 `del` 不同,它不会使变量 `x` 不可访问 +Throw away `x`. Used when the return value is not used. Unlike `del`, it does not make the variable `x` inaccessible. -```erg -p! x = - # q!应该返回一些不是None或()的值 - # 如果不需要,请使用`discard` +``` erg +p!x= + # Let q! return some None or non-() value + # use `discard` if you don't need it discard q!(x) f x @@ -40,32 +40,32 @@ assert True # OK ### import(path: Path) -> Module or CompilerPanic -导入一个模块。如果找不到模块,则引发编译错误 +Import a module. Raises a compilation error if the module is not found. ### eval(code: Str) -> Object -将`code`作为代码进行评估并返回。 +Evaluate code as code and return. ### classof(object: Object) -> Class -返回`object`的类。 -但是,由于无法比较类,如果要判断实例,请使用`object in Class`而不是`classof(object) == Class` -编译时确定的结构类型是通过`Typeof`获得的 +Returns the class of `object`. +However, since classes cannot be compared, use `object in Class` instead of `classof(object) == Class` if you want to judge instances. +The structure type determined at compile time is obtained with `Typeof`. -## Iterator, Array生成系统 +## Iterator, Array generation system ### repeat|T|(x: T) -> RepeatIterator T -```erg +``` erg rep = repeat 1 # Repeater(1) for! rep, i => - print! i + print!i # 1 1 1 1 1 ... ``` ### dup|T; N|(x: T, N: Nat) -> [T; N] -```erg +``` erg [a, b, c] = dup new(), 3 print! a #
\ No newline at end of file diff --git a/doc/zh_CN/syntax/15_type.md b/doc/zh_CN/syntax/15_type.md index f793b020..8430dc74 100644 --- a/doc/zh_CN/syntax/15_type.md +++ b/doc/zh_CN/syntax/15_type.md @@ -1,7 +1,7 @@ -# 类型 +# types -类型在 Erg 中是一个非常重要的功能,因此我们提供了。请看那边。 +Types are a very important feature in Erg, so we have a [dedicated section](./type/01_type_system.md). Please see there. + Previous | Next + \ No newline at end of file diff --git a/doc/zh_CN/syntax/16_iterator.md b/doc/zh_CN/syntax/16_iterator.md index 4bda6cf0..302d197b 100644 --- a/doc/zh_CN/syntax/16_iterator.md +++ b/doc/zh_CN/syntax/16_iterator.md @@ -1,36 +1,33 @@ -# 迭 - -迭代器是用于检索容器元素的对象。 +# Iterator +An iterator is an object used to retrieve elements of a container. ```erg for! 0..9, i => print! i ``` -此代码输出 0 到 9 之间的数字。将每个数字(=Int 对象)赋给,并执行以下操作(=
Previous | Next
diff --git a/doc/zh_CN/syntax/17_mutability.md b/doc/zh_CN/syntax/17_mutability.md
index 4ac7a2cc..e88b87b1 100644
--- a/doc/zh_CN/syntax/17_mutability.md
+++ b/doc/zh_CN/syntax/17_mutability.md
@@ -1,7 +1,7 @@
# Mutability
-正如我们已经看到的,Erg 中的所有变量都是不变的。但是 Erg 的对象有一个可变性的概念。以下代码为示例。
-
+As we have already seen, all Erg variables are immutable. However, Erg objects have the concept of mutability.
+Take the following code as an example.
```erg
a = [1, 2, 3]
@@ -9,8 +9,9 @@ a = a + [4, 5, 6]
print! a # [1, 2, 3, 4, 5, 6]
```
-上面的代码实际上是 Erg 无法实现的。因为不能再赋值。这个代码可以运行。
+The above code cannot actually be executed by Erg. This is because it is not reassignable.
+This code can be executed.
```erg
b = ![1, 2, 3]
@@ -18,8 +19,8 @@ b.concat! [4, 5, 6]
print! b # [1, 2, 3, 4, 5, 6]
```
-虽然最终的结果看起来是一样的,但其含义却大相径庭。是表示
Previous | Next
diff --git a/doc/zh_CN/syntax/18_ownership.md b/doc/zh_CN/syntax/18_ownership.md
index 14607388..1f1e0232 100644
--- a/doc/zh_CN/syntax/18_ownership.md
+++ b/doc/zh_CN/syntax/18_ownership.md
@@ -1,37 +1,42 @@
-# 所有权制度
+# Ownership system
-由于 Erg 是以 Python 为主机语言的语言,因此管理内存的方式依赖于 Python 的处理系统。然而,从语义上讲,Erg 的内存管理与 Python 的内存管理不同。显著的区别体现在所有权制度和禁止循环引用。
+Since Erg is a language that uses Python as the host language, the method of memory management depends on the Python implementation.
+But semantically Erg's memory management is different from Python's. A notable difference is in the ownership system and the prohibition of circular references.
-## 所有权
+## Ownership
-Erg 有一个所有权系统受到Rust的影响。Rust 的所有权系统通常被称为晦涩难懂,但 Erg 的所有权系统被简化为直观。Erg 拥有的所有权,一旦失去所有权,就无法查看该对象。
+Erg has an ownership system inspired by Rust.
+Rust's ownership system is generally considered esoteric, but Erg's is simplified to be intuitive.
+In Erg, __mutable objects__ are owned and cannot be referenced after ownership is lost.
-
-```erg
+``` erg
v = [1, 2, 3].into [Int; !3]
push! vec, x =
vec.push!(x)
vec
-# vの中身([1, 2, 3])の所有権はwに移る
+# The contents of v ([1, 2, 3]) are owned by w
w = push! v, 4
print! v # error: v was moved
-print! w # [1, 2, 3, 4]
+print!w # [1, 2, 3, 4]
```
-例如,在将对象传递到子例程时会发生所有权移动。如果你希望在传递后仍拥有所有权,则必须复制(cloning)、冻结(freeze)或借用(borrowing)。但是,如下文所述,可以借用的场合有限。
+Ownership transfer occurs, for example, when an object is passed to a subroutine.
+If you want to still have ownership after giving it away, you'll need to clone, freeze, or borrow.
+However, as will be explained later, there are limited situations in which it can be borrowed.
-## 复制
+## replication
-复制对象并转移其所有权。通过将方法应用于实际参数来完成此操作。复制的对象与原始对象完全相同,但它们彼此独立,不受更改的影响。
+Duplicate an object and transfer its ownership. It does this by applying the `.clone` method to the actual arguments.
+The duplicated object is exactly the same as the original, but independent of each other and unaffected by changes.
-复制相当于 Python 的深度副本,因为要重新创建整个相同的对象,所以与冻结和借用相比,通常计算和内存成本更高。需要复制对象的子例程称为使用参数子例程。
+Duplication is equivalent to Python's deep copy, and since it recreates the same object entirely, the computation and memory costs are generally higher than freezing and borrowing.
+A subroutine that needs to duplicate an object is said to be an "argument consuming" subroutine.
-
-```erg
-capitalize s: Str! =
- s.capitalize!()
+``` erg
+capitalize s: Str!=
+ s. capitalize!()
s
s1 = !"hello"
@@ -39,13 +44,15 @@ s2 = capitalize s1.clone()
log s2, s1 # !"HELLO hello"
```
-## 冻结
+## freeze
-利用可变对象可以从多个位置引用,将可变对象转换为不变对象。这叫冻结。冻结可用于创建可变阵列的迭代器。变量数组无法直接创建迭代器,因此将其转换为不变数组。如果不想破坏数组,请使用 [方法] (./type/mut.md)等。
+We take advantage of the fact that immutable objects can be referenced from multiple places and convert mutable objects to immutable objects.
+This is called freezing. Freezing is used, for example, when creating an iterator from a mutable array.
+Since you can't create an iterator directly from a mutable array, convert it to an immutable array.
+If you don't want to destroy the array, use the [`.freeze_map` method](./type/mut.md).
-
-```erg
-# イテレータが出す値の合計を計算する
+``` erg
+# Compute the sum of the values produced by the iterator
sum|T <: Add + HasUnit| i: Iterator T = ...
x = [1, 2, 3].into [Int; !3]
@@ -54,15 +61,15 @@ i = x.iter() # TypeError: [Int; !4] has no method `iter`
y = x.freeze()
i = y.iter()
assert sum(i) == 10
-y # この後もyは触れられる
+y # y can still be touched
```
-## 借用
+## borrow
-借用比复制和冻结成本更低。在以下简单情况下,可以借用。
+Borrowing is cheaper than duplicating or freezing.
+Borrowing can be done in the following simple cases:
-
-```erg
+``` erg
peek_str ref(s: Str!) =
log s
@@ -70,34 +77,34 @@ s = !"hello"
peek_str s
```
-对于原始对象,借用的值称为。你可以将引用“转借”给另一个子例程,但不能消费,因为它只是借用。
+A borrowed value is called a __reference__ to the original object.
+You can "sublease" the reference to another subroutine, but you cannot consume it because you are only borrowing it.
-
-```erg
+``` erg
steal_str ref(s: Str!) =
- # log関数は引数を借用するだけなので、又貸しできる
+ # Since the log function only borrows the arguments, it can be sub-leased
log s
- # discard関数は引数を消費するので、エラー
+ # error because the discard function consumes arguments
discard s # OwnershipError: cannot consume a borrowed value
# hint: use `clone` method
```
-
-```erg
+``` erg
steal_str ref(s: Str!) =
- # これもダメ(=は右辺を消費する)
+ # This is no good either (= consumes the right side)
x = s # OwnershipError: cannot consume a borrowed value
x
```
-Erg 引用比 Rust 具有更强的约束。引用是第一级语言对象,但不能显式生成,只能通过/
Previous | Next
diff --git a/doc/zh_CN/syntax/33_package_system.md b/doc/zh_CN/syntax/33_package_system.md
index e0a02a7e..dded29be 100644
--- a/doc/zh_CN/syntax/33_package_system.md
+++ b/doc/zh_CN/syntax/33_package_system.md
@@ -1,13 +1,15 @@
-# 包装系统
+# Package System
-Erg 软件包大致可以分为 app 软件包(应用程序)和 lib 软件包(库)。app 包的入口点是。执行中定义的
diff --git a/doc/zh_CN/syntax/container_ownership.md b/doc/zh_CN/syntax/container_ownership.md
index 92bfcf5f..3067bb35 100644
--- a/doc/zh_CN/syntax/container_ownership.md
+++ b/doc/zh_CN/syntax/container_ownership.md
@@ -1,24 +1,25 @@
-# Subscript(下标访问)
+# Subscript (index access)
-不同于常规方法。
+`[]` is different from normal methods.
-
-```erg
+``` erg
a = [!1, !2]
a[0].inc!()
assert a == [2, 2]
```
-请记住,不能在子例程的返回值中指定引用。在这里,的类型显然应该是
Previous | Next
diff --git a/doc/zh_CN/syntax/type/04_class.md b/doc/zh_CN/syntax/type/04_class.md
index 8b118e19..f582937a 100644
--- a/doc/zh_CN/syntax/type/04_class.md
+++ b/doc/zh_CN/syntax/type/04_class.md
@@ -1,11 +1,11 @@
# Class
-Erg 中的类通常可以生成其自身的元素(实例)。下面是一个简单类的示例。
-
+A class in Erg is roughly a type that can create its own elements (instances).
+Here is an example of a simple class.
```erg
Person = Class {.name = Str; .age = Nat}
-# .newが定義されなかった場合、自動で`Person.new = Person::__new__`となります
+# If `.new` is not defined, then Erg will create `Person.new = Person::__new__`
Person.
new name, age = Self::__new__ {.name = name; .age = age}
@@ -14,21 +14,23 @@ print! john #
Previous | Next
diff --git a/doc/zh_CN/syntax/type/07_patch.md b/doc/zh_CN/syntax/type/07_patch.md
index 395adf29..79795524 100644
--- a/doc/zh_CN/syntax/type/07_patch.md
+++ b/doc/zh_CN/syntax/type/07_patch.md
@@ -1,7 +1,8 @@
# Patch
-Erg 不允许修改现有类型类。不能在类中定义额外的方法,而是专门化(specialization,将声明为多相的类型单相化并定义专用方法的功能。C++ 等也不能使用。但是,在许多情况下,你希望将功能添加到现有类型类中,而修补程序就是实现这一目标的方法。
-
+Erg does not allow modification of existing types and classes.
+This means, it is not possible to define additional methods in a class, nor to perform specialization (a language feature that monomorphizes a polymorphically declared type and defines a dedicated method, as in C++).
+However, there are many situations where you may want to add feature to an existing type or class, and there is a function called "patching" that allows you to do this.
```erg
StrReverse = Patch Str
@@ -11,33 +12,34 @@ StrReverse.
assert "abc".reverse() == "cba"
```
-修补程序的名称最好是要添加的主要功能的直接描述。这样,要修补的类型()的对象就可以使用修补方法(