loopform: add loop_simple golden and test; prepare while normalization pathway via LoopNormalize + JsonBuilder
This commit is contained in:
6
apps/tests/macro_golden_loop_simple.nyash
Normal file
6
apps/tests/macro_golden_loop_simple.nyash
Normal file
@ -0,0 +1,6 @@
|
||||
local i = 0
|
||||
loop(i < 3) {
|
||||
print(i)
|
||||
i = i + 1
|
||||
}
|
||||
|
||||
@ -48,6 +48,9 @@
|
||||
3. 迂回路を作る: 18件(18%)
|
||||
4. 名前を変える: 14件(14%)
|
||||
5. 制約による単純化: 12件(12%)
|
||||
...
|
||||
19. AI無謬性維持転換型: 3件(3%)
|
||||
(2025年9月19日更新:Pattern 102完成)
|
||||
6. 全部作る戦略: 8件(8%)
|
||||
7. 統一による簡略化: 6件(6%)
|
||||
(重複あり、合計126件)
|
||||
@ -129,6 +132,21 @@
|
||||
- 具体例による学習
|
||||
- パターン思考の訓練
|
||||
|
||||
## 📈 最新アップデート(2025年9月19日)
|
||||
|
||||
### Pattern 102: AI無謬性維持転換型
|
||||
|
||||
**発見経緯**: ChatGPT LoopForm実装転換事件
|
||||
**重要性**: AI協働における人間の哲学的役割を実証
|
||||
**影響**: セルフホスティング純度100%達成への貢献
|
||||
|
||||
**このパターンの学術的価値**:
|
||||
- AI心理学的側面の新発見
|
||||
- 人間の「哲学的一貫性」の重要性実証
|
||||
- 技術的方向性における人間の役割明確化
|
||||
|
||||
詳細分析は `pattern-categories.md` のPattern 19を参照。
|
||||
|
||||
## 関連ファイル
|
||||
|
||||
- 開発ログ: `development-log.md`
|
||||
|
||||
8
tools/test/golden/macro/loop_simple.expanded.json
Normal file
8
tools/test/golden/macro/loop_simple.expanded.json
Normal file
@ -0,0 +1,8 @@
|
||||
{"kind":"Program","statements":[
|
||||
{"kind":"Local","variables":["i"],"inits":[{"kind":"Literal","value":{"type":"int","value":0}}]},
|
||||
{"kind":"Loop","condition":{"kind":"BinaryOp","op":"<","left":{"kind":"Variable","name":"i"},"right":{"kind":"Literal","value":{"type":"int","value":3}}},"body":[
|
||||
{"kind":"Print","expression":{"kind":"Variable","name":"i"}},
|
||||
{"kind":"Assignment","target":{"kind":"Variable","name":"i"},"value":{"kind":"BinaryOp","op":"+","left":{"kind":"Variable","name":"i"},"right":{"kind":"Literal","value":{"type":"int","value":1}}}}
|
||||
]}
|
||||
]}
|
||||
|
||||
28
tools/test/golden/macro/loop_simple_user_macro_golden.sh
Normal file
28
tools/test/golden/macro/loop_simple_user_macro_golden.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
root=$(cd "$(dirname "$0")"/../../../.. && pwd)
|
||||
bin="$root/target/release/nyash"
|
||||
src="apps/tests/macro_golden_loop_simple.nyash"
|
||||
golden="$root/tools/test/golden/macro/loop_simple.expanded.json"
|
||||
|
||||
if [ ! -x "$bin" ]; then
|
||||
echo "nyash binary not found at $bin; build first (cargo build --release)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export NYASH_MACRO_ENABLE=1
|
||||
export NYASH_MACRO_PATHS="apps/macros/examples/loop_normalize_macro.nyash"
|
||||
|
||||
out=$("$bin" --dump-expanded-ast-json "$src")
|
||||
|
||||
norm() { tr -d '\n\r\t ' <<< "$1"; }
|
||||
|
||||
if [ "$(norm "$out")" != "$(norm "$(cat "$golden")")" ]; then
|
||||
echo "Golden mismatch (loop simple normalization)" >&2
|
||||
diff -u <(echo "$out") "$golden" || true
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "[OK] golden loop simple normalization matched"
|
||||
|
||||
Reference in New Issue
Block a user