제안: C 언어의 필수 효과
2025-01-20
이 제안은 C 언어의 핵심 타입 시스템을 타입 및 효과 시스템으로 확장하여 함수와 블록이 평가 결과로 발생하는 효과의 종류를 선언하도록 하는 것을 제안합니다. 이를 통해 메타 프로그래밍의 구성 가능성이 향상되고 MISRA 스타일의 제약 조건 정의가 간소화됩니다. 이 시스템은 효과를 추적하고 검사하지만 동적 효과 처리를 수행하지 않습니다. 세 가지 주요 효과 그룹이 제안됩니다. 로컬(예: 로컬 쓰기), 영속적(예: 비로컬 쓰기), 제어(예: 비로컬 제어 전송)입니다. 정적 효과 검사는 각 문, 식, 함수 본체에 타입과 효과를 할당하여 달성되며, 올바른 순서를 보장하기 위해 로컬 효과는 삭제됩니다. `mut` 및 `vol` 효과의 크기를 제한하고 연산자 및 제어 구조에 대한 효과 검사를 지정하는 등 권장되는 모범 사례도 제안됩니다. 목표는 특히 메타 프로그래밍 및 리소스 관리에서 C 언어의 안전성, 가독성, 구성 가능성을 향상시키는 것입니다.
개발