위키득계정 ↗
기술

Racket

Racket기술
분류
범용 프로그래밍 언어
주요 특징
언어 지향 프로그래밍
개발 환경
DrRacket
관련 확장
Typed Racket과 Rosette
Racket은 범용 프로그래밍과 언어 지향 프로그래밍을 지원하는 언어 및 생태계다. 매크로와 언어 확장 기능으로 목적에 맞는 도메인 전용 언어를 구성할 수 있다.

언어를 만드는 기반

반복되는 작업을 함수로 묶는 것처럼 문법과 언어 기능을 확장할 수 있다. 매크로는 단순한 문자열 치환과 달리 프로그램 구문을 다루는 구성이다. 여러 모듈이 목적에 맞는 언어를 사용하도록 조직하는 접근도 지원한다.

범용 개발 기능

그래픽 사용자 인터페이스와 웹, 수학 등 여러 라이브러리를 제공한다. 패키지 시스템과 편집기 지원을 통해 추가 도구를 활용할 수 있다. 언어 개발만을 위한 실험 도구가 아니라 일반 응용 프로그램을 작성하는 환경이기도 하다.

계약과 타입의 선택

고차 계약과 점진적 타입 관련 기능을 생태계에서 사용할 수 있다. 동적 언어에서 계약을 검사하는 일과 정적 타입 검사, 기호 검증은 서로 다른 작업이다. 선택한 언어 확장과 라이브러리가 실제로 제공하는 보장을 구분한다.

관련 문서

Rosette 프로그래밍 언어 / Flix / Souffle / Idris 2