- Published on
2026년 6월 3일 나온 Elixir v1.20은 2022년에 시작한 집합론적 타입 시스템의 첫 번째 마일스톤을 끝냈습니다. 이제 모든 Elixir 프로그램이 타입 어노테이션 한 줄 없이 점진적으로 타입 체크되고, 컴파일러가 가드·함수 본문·절 사이에서 타입을 추론해 "실행되면 반드시 런타임에 터지는" 위반과 죽은 코드를 찾아냅니다. 핵심은 dynamic() 타입인데, 다른 언어의 any()가 타입 정보를 버리는 것과 달리 Elixir의 dynamic()은 범위로 동작해 좁혀지며, 공급 타입과 허용 타입이 서로소일 때만 경고합니다. 다만 발표문이 내세운 "If-T 벤치마크 13개 중 12개 통과"는 링크된 상류 결과표에 Elixir 열이 아예 없는 자체 측정치이고, 컴파일 속도 1위 주장도 저자 본인의 합성 벤치마크에서 0.1초 남짓의 차이입니다. 이 글은 1.20이 실제로 무엇을 하는지, 문서화된 트레이드오프는 무엇인지, 업그레이드 전에 알아야 할 CVE와 하드 디프리케이션, 그리고 타입 시그니처가 왜 아직 1년 넘게 남았는지를 원본 소스로 확인해 정리합니다.