std: 마찰 보고의 F1/F3/F6/F7 처리 — 292줄이 244줄로
문법은 건드리지 않았다. 표본이 한 사람이 쓴 300줄 하나뿐인데 되돌리기 비싼 축을 움직일 수는 없다. std 보강만 했다. 추가: List.first/nth, String.join, std/option.cool, std/result.cool. samples/app 재작성 결과 config.cool 196 → 148줄. head_or, second_or, Pick, take_at, first_text, first_entry가 통째로 사라졌다. 예측 40줄, 실제 48줄 — F1의 값이 확인됐다. F3은 줄 수로 값이 안 보인다. main.cool은 96줄 그대로다. 4단 중첩 String.concat이 4줄짜리 String.join 배열이 됐으니 줄 수가 같다. 읽기는 확실히 나아졌다. 줄 수는 읽기 좋음의 대리 지표일 뿐이고 여기서 그 대리가 깨진다 — 다음 개밥 먹기는 다른 것을 재야 한다. F7: Interp.implemented와 std/*.cool 선언이 서로를 덮는지 테스트가 양방향 으로 검사한다. 어긋나면 빌드가 깨진다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019ZVDeU6KLuUVL3gs18Hm3E
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
// 표준 라이브러리: Result.
|
||||
|
||||
pub fn is_ok[a, err](r: Result[a, err]) -> Bool
|
||||
|
||||
pub fn map[a, b, err, e: effects](
|
||||
r: Result[a, err],
|
||||
f: fn(a) effects e -> b,
|
||||
) effects e -> Result[b, err]
|
||||
|
||||
pub fn map_err[a, err, err2, e: effects](
|
||||
r: Result[a, err],
|
||||
f: fn(err) effects e -> err2,
|
||||
) effects e -> Result[a, err2]
|
||||
|
||||
pub fn unwrap_or[a, err](r: Result[a, err], fallback: a) -> a
|
||||
Reference in New Issue
Block a user