[{"data":1,"prerenderedAt":518},["ShallowReactive",2],{"navigation":3,"-design-documentation-convention":239,"-design-documentation-convention-surround":514},[4,159],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"指南","\u002Fguide","00.guide\u002F00.index",[9,11,16,21,53,84,116,142],{"title":5,"path":6,"stem":7,"icon":10},"lucide:book",{"title":12,"path":13,"stem":14,"icon":15},"快速开始","\u002Fguide\u002Fgetting-started","00.guide\u002F01.getting-started","lucide:rocket",{"title":17,"path":18,"stem":19,"icon":20},"基础语法","\u002Fguide\u002Fbasic-syntax","00.guide\u002F02.basic-syntax","lucide:code-2",{"title":22,"path":23,"stem":24,"children":25,"icon":27},"数据类型","\u002Fguide\u002Fdata-types","00.guide\u002F03.data-types\u002F00.index",[26,28,33,38,43,48],{"title":22,"path":23,"stem":24,"icon":27},"lucide:database",{"title":29,"path":30,"stem":31,"icon":32},"基本类型","\u002Fguide\u002Fdata-types\u002Fbasic_types","00.guide\u002F03.data-types\u002F01.basic_types","lucide:type",{"title":34,"path":35,"stem":36,"icon":37},"复合类型","\u002Fguide\u002Fdata-types\u002Fcomposite_types","00.guide\u002F03.data-types\u002F02.composite_types","lucide:layers",{"title":39,"path":40,"stem":41,"icon":42},"类型推导","\u002Fguide\u002Fdata-types\u002Ftype_inference","00.guide\u002F03.data-types\u002F03.type_inference","lucide:brain-circuit",{"title":44,"path":45,"stem":46,"icon":47},"结构体","\u002Fguide\u002Fdata-types\u002Fstruct","00.guide\u002F03.data-types\u002F04.struct","lucide:box-select",{"title":49,"path":50,"stem":51,"icon":52},"内建类型表面","\u002Fguide\u002Fdata-types\u002Fbuilt-in-surface","00.guide\u002F03.data-types\u002F05.built-in-surface","lucide:wrench",{"title":54,"path":55,"stem":56,"children":57,"icon":59},"流程控制","\u002Fguide\u002Fcontrol-flow","00.guide\u002F04.control-flow\u002F00.index",[58,60,64,69,74,79],{"title":54,"path":55,"stem":56,"icon":59},"lucide:git-branch",{"title":61,"path":62,"stem":63,"icon":59},"if 表达式","\u002Fguide\u002Fcontrol-flow\u002Fif-expressions","00.guide\u002F04.control-flow\u002F01.if-expressions",{"title":65,"path":66,"stem":67,"icon":68},"for 循环","\u002Fguide\u002Fcontrol-flow\u002Ffor-loops","00.guide\u002F04.control-flow\u002F02.for-loops","lucide:repeat",{"title":70,"path":71,"stem":72,"icon":73},"break 和 continue","\u002Fguide\u002Fcontrol-flow\u002Fbreak-continue","00.guide\u002F04.control-flow\u002F03.break-continue","lucide:skip-forward",{"title":75,"path":76,"stem":77,"icon":78},"return","\u002Fguide\u002Fcontrol-flow\u002Freturn","00.guide\u002F04.control-flow\u002F04.return","lucide:corner-up-left",{"title":80,"path":81,"stem":82,"icon":83},"注意事项","\u002Fguide\u002Fcontrol-flow\u002Fnotes","00.guide\u002F04.control-flow\u002F05.notes","lucide:alert-triangle",{"title":85,"path":86,"stem":87,"children":88,"icon":90},"函数","\u002Fguide\u002Ffunctions","00.guide\u002F05.functions\u002F00.index",[89,91,96,101,106,111],{"title":85,"path":86,"stem":87,"icon":90},"lucide:braces",{"title":92,"path":93,"stem":94,"icon":95},"基础函数","\u002Fguide\u002Ffunctions\u002Fbasic-functions","00.guide\u002F05.functions\u002F01.basic-functions","lucide:function-square",{"title":97,"path":98,"stem":99,"icon":100},"参数与默认值","\u002Fguide\u002Ffunctions\u002Fadvanced-parameters","00.guide\u002F05.functions\u002F02.advanced-parameters","lucide:settings-2",{"title":102,"path":103,"stem":104,"icon":105},"匿名函数","\u002Fguide\u002Ffunctions\u002Fclosures","00.guide\u002F05.functions\u002F03.closures","lucide:curly-braces",{"title":107,"path":108,"stem":109,"icon":110},"内建函数","\u002Fguide\u002Ffunctions\u002Fbuiltin-functions","00.guide\u002F05.functions\u002F04.builtin-functions","lucide:box",{"title":112,"path":113,"stem":114,"icon":115},"main 函数","\u002Fguide\u002Ffunctions\u002Fmain-function","00.guide\u002F05.functions\u002F05.main-function","lucide:play",{"title":117,"path":118,"stem":119,"children":120,"icon":37},"模块化","\u002Fguide\u002Fmodules","00.guide\u002F06.modules\u002F00.index",[121,122,127,132,137],{"title":117,"path":118,"stem":119,"icon":37},{"title":123,"path":124,"stem":125,"icon":126},"导出","\u002Fguide\u002Fmodules\u002Fexport","00.guide\u002F06.modules\u002F01.export","lucide:upload",{"title":128,"path":129,"stem":130,"icon":131},"导入","\u002Fguide\u002Fmodules\u002Fimport","00.guide\u002F06.modules\u002F02.import","lucide:download",{"title":133,"path":134,"stem":135,"icon":136},"最佳实践","\u002Fguide\u002Fmodules\u002Fbest-practices","00.guide\u002F06.modules\u002F03.best-practices","lucide:check-circle-2",{"title":138,"path":139,"stem":140,"icon":141},"完整示例","\u002Fguide\u002Fmodules\u002Fcomplete-example","00.guide\u002F06.modules\u002F04.complete-example","lucide:file-code-2",{"title":143,"path":144,"stem":145,"children":146,"icon":148},"高级特性概述","\u002Fguide\u002Fadvanced","00.guide\u002F07.advanced\u002F00.index",[147,149,154],{"title":143,"path":144,"stem":145,"icon":148},"lucide:zap",{"title":150,"path":151,"stem":152,"icon":153},"泛型","\u002Fguide\u002Fadvanced\u002Fgenerics","00.guide\u002F07.advanced\u002F05.generics","lucide:git-merge",{"title":155,"path":156,"stem":157,"icon":158},"类型转换","\u002Fguide\u002Fadvanced\u002Ftype-conversion","00.guide\u002F07.advanced\u002F06.type-conversion","lucide:refresh-cw",{"title":160,"path":161,"stem":162,"children":163,"icon":15},"设计","\u002Fdesign","01.design\u002F00.index",[164,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,232,235],{"title":160,"path":161,"stem":162,"icon":15},{"title":166,"path":167,"stem":168},"CST 特性","\u002Fdesign\u002Fcst-features","01.design\u002F01.cst-features",{"title":170,"path":171,"stem":172},"注释关联规则","\u002Fdesign\u002Fcomment-association","01.design\u002F02.comment-association",{"title":174,"path":175,"stem":176},"错误处理","\u002Fdesign\u002Ferror-handling","01.design\u002F03.error-handling",{"title":178,"path":179,"stem":180},"代码优化","\u002Fdesign\u002Foptimization","01.design\u002F04.optimization",{"title":182,"path":183,"stem":184},"注释保留","\u002Fdesign\u002Fcomments","01.design\u002F05.comments",{"title":186,"path":187,"stem":188},"结构体设计","\u002Fdesign\u002Fstruct-design","01.design\u002F06.struct-design",{"title":190,"path":191,"stem":192},"comparable 约束设计","\u002Fdesign\u002Fcomparable-constraint","01.design\u002F07.comparable-constraint",{"title":194,"path":195,"stem":196},"文档分层约定","\u002Fdesign\u002Fdocumentation-convention","01.design\u002F08.documentation-convention",{"title":198,"path":199,"stem":200},"类型系统总纲","\u002Fdesign\u002Ftype-system","01.design\u002F09.type-system",{"title":202,"path":203,"stem":204},"泛型系统","\u002Fdesign\u002Fgenerics-system","01.design\u002F10.generics-system",{"title":206,"path":207,"stem":208},"值语义与共享语义","\u002Fdesign\u002Fvalue-and-sharing-semantics","01.design\u002F11.value-and-sharing-semantics",{"title":210,"path":211,"stem":212},"函数与调用","\u002Fdesign\u002Ffunctions-and-calls","01.design\u002F12.functions-and-calls",{"title":214,"path":215,"stem":216},"表达式与语句","\u002Fdesign\u002Fexpressions-and-statements","01.design\u002F13.expressions-and-statements",{"title":218,"path":219,"stem":220},"模块系统","\u002Fdesign\u002Fmodule-system","01.design\u002F14.module-system",{"title":222,"path":223,"stem":224},"渲染内建","\u002Fdesign\u002Frender-intrinsics","01.design\u002F15.render-intrinsics",{"title":226,"path":227,"stem":228},"Any 设计","\u002Fdesign\u002Fany-design","01.design\u002F16.any-design",{"title":49,"path":230,"stem":231},"\u002Fdesign\u002Fbuilt-in-types-surface","01.design\u002F17.built-in-types-surface",{"title":107,"path":233,"stem":234},"\u002Fdesign\u002Fbuilt-in-functions","01.design\u002F18.built-in-functions",{"title":236,"path":237,"stem":238},"内建结构体与运行时类型","\u002Fdesign\u002Fbuilt-in-structs-and-runtime-types","01.design\u002F19.built-in-structs-and-runtime-types",{"id":240,"title":194,"body":241,"description":491,"extension":509,"meta":510,"navigation":511,"path":195,"seo":512,"stem":196,"__hash__":513},"content\u002F01.design\u002F08.documentation-convention.md",{"type":242,"value":243,"toc":490},"minimark",[244,248,252,269,272,280,283,286,304,307,321,327,330,332,352,355,361,364,384,390,396,399,410,414,422,431,434,437,463,466],[245,246,247],"p",{},"本文档约束 Dujie 语言文档的分层方式，避免设计讨论、实现细则和用户指南混写。",[249,250,251],"h2",{"id":251},"目标",[253,254,256,260,263,266],"steps",{"level":255},"4",[257,258,259],"h4",{},"将语言设计与用户说明分离",[257,261,262],{},"让设计讨论有固定落点",[257,264,265],{},"让用户文档只呈现收敛后的规则",[257,267,268],{},"降低 README 和各类文档之间的漂移",[249,270,271],{"id":271},"文档分工",[273,274,276],"h3",{"id":275},"_00guide",[277,278,279],"code",{},"00.guide",[245,281,282],{},"面向语言使用者。",[245,284,285],{},"适合写：",[287,288,289,293,296,299,301],"ul",{},[290,291,292],"li",{},"稳定语法",[290,294,295],{},"已确认的语义",[290,297,298],{},"用法示例",[290,300,133],{},[290,302,303],{},"常见限制和注意事项",[245,305,306],{},"不适合写：",[287,308,309,312,315,318],{},[290,310,311],{},"尚未定案的设计讨论",[290,313,314],{},"多个备选方案的比较",[290,316,317],{},"编译器内部实现细节",[290,319,320],{},"语义仍在调整中的规则",[273,322,324],{"id":323},"_01design",[277,325,326],{},"01.design",[245,328,329],{},"面向语言设计者和编译器开发者。",[245,331,285],{},[287,333,334,337,340,343,346,349],{},[290,335,336],{},"新语法提案",[290,338,339],{},"语义定义和边界条件",[290,341,342],{},"设计动机与取舍",[290,344,345],{},"CST \u002F AST \u002F 类型系统 \u002F 代码生成影响",[290,347,348],{},"与既有设计的兼容性分析",[290,350,351],{},"未决问题和后续实现计划",[249,353,354],{"id":354},"工作流程",[273,356,358,359],{"id":357},"_1-新设计先进入-01design","1. 新设计先进入 ",[277,360,326],{},[245,362,363],{},"凡是新增或修改语言规则，包括但不限于：",[287,365,366,369,372,375,378,381],{},[290,367,368],{},"语法",[290,370,371],{},"语义",[290,373,374],{},"类型规则",[290,376,377],{},"约束系统",[290,379,380],{},"模块规则",[290,382,383],{},"运行时行为",[245,385,386,387,389],{},"都先在 ",[277,388,326],{}," 中编写设计文档和细则。",[273,391,393,394],{"id":392},"_2-设计收敛后再同步到-00guide","2. 设计收敛后再同步到 ",[277,395,279],{},[245,397,398],{},"当设计已经明确到足以对外说明时，再将结果整理为用户文档：",[287,400,401,404,407],{},[290,402,403],{},"去掉内部推导过程",[290,405,406],{},"去掉未定方案",[290,408,409],{},"保留稳定语法和清晰示例",[273,411,413],{"id":412},"_3-用户文档不抢先定义规则","3. 用户文档不抢先定义规则",[245,415,416,418,419,421],{},[277,417,279],{}," 不应该先于 ",[277,420,326],{}," 独立引入新的语言规则。",[245,423,424,425,427,428,430],{},"如果发现某条规则只写在 ",[277,426,279],{},"，而没有对应设计依据，应当回补到 ",[277,429,326],{},"，再决定是否保留。",[249,432,433],{"id":433},"设计文档建议结构",[245,435,436],{},"每篇设计文档尽量包含以下内容：",[253,438,439,442,445,448,451,454,457,460],{"level":255},[257,440,441],{},"问题定义",[257,443,444],{},"设计目标",[257,446,447],{},"语法规则",[257,449,450],{},"语义规则",[257,452,453],{},"示例与反例",[257,455,456],{},"与现有规则的关系",[257,458,459],{},"实现影响",[257,461,462],{},"未决问题",[249,464,465],{"id":465},"维护约定",[287,467,468,474,479,487],{},[290,469,470,471,473],{},"讨论中的规则，以 ",[277,472,326],{}," 为主",[290,475,476,477,473],{},"对外说明中的规则，以 ",[277,478,279],{},[290,480,481,482,484,485],{},"如果两边出现冲突，先修正 ",[277,483,326],{},"，再同步更新 ",[277,486,279],{},[290,488,489],{},"README 保持概览性质，不承担完整语言规范的职责",{"title":491,"searchDepth":492,"depth":492,"links":493},"",2,[494,495,500,507,508],{"id":251,"depth":492,"text":251},{"id":271,"depth":492,"text":271,"children":496},[497,499],{"id":275,"depth":498,"text":279},3,{"id":323,"depth":498,"text":326},{"id":354,"depth":492,"text":354,"children":501},[502,504,506],{"id":357,"depth":498,"text":503},"1. 新设计先进入 01.design",{"id":392,"depth":498,"text":505},"2. 设计收敛后再同步到 00.guide",{"id":412,"depth":498,"text":413},{"id":433,"depth":492,"text":433},{"id":465,"depth":492,"text":465},"md",{},{},{"title":194,"description":491},"6AEPRkua06whRJLe58h_OvJxmioVkZDbc_RiuFQ1s7o",[515,517],{"title":190,"path":191,"stem":192,"description":516,"children":-1},"当前状态：历史设计记录。本文不再代表 Dujie 当前的泛型约束系统。\n当前生效的泛型设计应优先参考 泛型系统。",{"title":198,"path":199,"stem":200,"description":491,"children":-1},1776981319056]