Teal - Lua의 정적 타입 방언

4 hours ago 3

Teal은 Lua에 타입 표기를 추가한 정적 타입 방언으로, 배열, 맵, 레코드뿐 아니라 인터페이스, 유니온 타입, 제네릭을 지원함 JavaScript 생태계의 TypeScript와 유사한 역할을 목표로 하되, Lua의 미니멀리즘, 이식성, 임베딩 용이성을 따름 컴파일러 tl이 .tl 소스 코드를 .lua 파일로 변환하며, Teal 자체도 Teal로 작성됨 브라우저에서 Teal Playground로 시험할 수 있고, 전용 빌드 도구 Cyan과 편집기 통합 도구도 이용 가능함 Lua와 같은 MIT 라이선스의 자유 오픈소스 소프트웨어이며, GitHub에서 개발과 커뮤니티 토론이 이루어짐 언어와 컴파일 방식 Teal은 Lua를 확장해 타입을 명시할 수 있게 함 배열, 맵, 레코드, 인터페이스, 유니온 타입, 제네릭을 지원함 예제에서는 add 함수의 두 매개변수와 반환값에 number 타입을 지정하고, add(1, 2)의 결과를 출력함 TypeScript와 유사한 역할을 지향하지만, Lua의 미니멀리즘, 이식성, 임베딩 용이성을 유지하는 것이 목표임 컴파일러 tl이 .tl 파일을 .lua 파일로 컴파일하며, Teal 자체도 Teal로 작성됨 Lua와 동일한 MIT 라이선스를 사용함 사용 도구와 학습 자료 Teal Playground에서 브라우저로 컴파일러를 시험할 수 있음 LuaRocks로 컴파일러를 설치할 수 있으며, Linux와 Windows용 사전 컴파일 바이너리도 제공함 큰 프로젝트에서는 파일마다 tl을 개별 실행하는 대신 Teal 전용 빌드 도구 Cyan 사용을 권장함 편집기 통합을 위한 도구와 추가 자료가 있음 vscode-teal은 Visual Studio Code 통합을 지원함 teal-language-server는 NeoVim 등에서 사용할 수 있는 언어 서버임 awesome-teal에서 추가 도구와 자료를 찾을 수 있음 온라인 문서와 Lua의 역사 및 타입, Teal의 개발 동기와 진행 상황을 다룬 발표 영상을 제공함 Minimalism versus types (2019) Minimalistic typed Lua is here (2020) What's next for Teal (2021) Five years of Teal: minimalism versus growth in language design (2024) What should Teal be? - musings on FOSS project di...

Read Entire Article