Lowent is still under active development, and the language design is still changing. 문법·진단 코드·명령줄 옵션이 예고 없이 바뀔 수 있다.
무엇이 바뀌었나
언어 개정 1.2 → 1.3(깨지는 변경 넷), 도구 결함 둘을 고쳤고, README 를 새로 썼다.
⚠ 깨지는 변경 (언어 1.2 → 1.3)
| 무엇 | 이제 | 어기면 |
|---|---|---|
몸이 C 에 있는 extern |
블록 선언: unsafe extern proc f do <절>* end |
짝 없는 end 는 E-STMT-NODO, 블록에 문장을 적으면 E-FFI-BODY |
| op 머리의 절 | 문장처럼 저마다 자기 점으로 닫는다 | E-DOT-MISSING (전에는 다음 절 낱말이 앞 절을 대신 닫았다) |
filter·any·all 의 판정 op |
bool 을 내야 한다 |
E-PIPE-PRED (전에는 0 아닌 수를 참으로 읽었다) |
collect into · 내장 map·filter 의 받는 자리가 참 |
말없이 남은 원소를 버리지 않는다 | 길이를 알면 E-COLLECT-FULL, 모르면 넘치는 순간 멈춘다 |
서식기(--fmt)가 새 꼴로 쓴다.
고침
lowentc build가 거절될 프로그램을 짓고 돌렸다.--check를 건너뛰어return true .(u8 op) 같은 프로그램도 실행 파일이 되었다.
이제 짓기 전에 같은 검사를 돌리고, 거절이면 진단을 보이고 종료 코드 2 로 멈춘다(--run·--test와 같은 문).0x·0b만 적은 수가 0 이 되었다. 진법 표시 뒤에는 숫자가 하나 이상 와야 한다 —E-NUM-EMPTY. 0 은0x0으로 적는다.trust.find_anchor가 파일을 못 읽어도 «없다»(ok 0)로 답했다 →error unreadable/error short_workspace.
문서
- README 를 새로 썼다 — 영어판이 먼저, 한국어판은
README.ko.md. 맨 위에 개발 중 경고. - 매뉴얼: 명세·매뉴얼을 현황에 맞게 정리하고, 어려운 장(ch13·17·24·28·29·30·31 등)에 도해를 넣었다.
확인
회귀 시험(golden) 2,065 / 2,065 통과 · 게이트 t3 · VM·네이티브 대조 50,390 건 동일. 알려진 결함 0.
짓기
cd impl && make # → build/lowentc (C23 컴파일러와 POSIX 셸만 있으면 된다)
build/lowentc --version # lowentc 1.3.0