13:00 ~ Rescript, 정미량(그린랩스) 개발자님
함수형 프로그래밍, 강력한 타입 언어
가볍게 알아보기
Js 로 컴파일되는 강력한 타입 언어
FP 지향하여 불변성과 순수함수 형태
달랐던 점
- let만 있다 : (let binding), const와 같이 상수 역할
- return, export이 없다 : ->(pipe 연산자), 모든 모듈은 export됨, 마지막라인을 암묵적으로 리턴
- 타입 명시 없이 타입이 추론됨
작게 좋았던 점
- 빌트인 포매터 : eslint 적용이 필요없나?
- 좌->우, 위->아래로 읽음 : 역시 FP…
- import, export 신경 안써도 됨 : .res 파일은 모듈로 취급되고 모두 내보내짐 (interface 파일로 특정 파일만 내보낼수도 있음), 모듈의 이름만 안다면 어디서든 사용 가능
크게 좋았던 점
- 힌들리-밀너 타입 추론 : 타입 명시 없이 추론 가능, 값의 형태가 맞는 레코드 타입 선언으로 추론됨
- Varient 타입 : 생성자로, 추가 값을 가질 수 있음
- 패턴 매칭(switch) : tuple 매칭도 가능, if와 다른 점은 누락된 케이스가 하나도 없음을 보장 가능
- Null, undefined 없음 : 모든 값은 타입을 가지나, 존재하지 않는 값 타입이 있음
아직도 망설인다면
- 마이그레이션 이슈 (기존 프로젝트에 적용하려면?) : 부분적으로 적용하면서 점진적 채택 가능
- TS 환경에서는? genType 사용하여 타입으로 내보낼 수 있음
아쉬웠던 점
- 바인딩 : JS 함수를 사용하려면 바인딩을 해야 함, (바인딩? 현재 언어에서 다른 언어를 호출하기 위한 인터페이스)
- 커뮤니티 규모가 작음 ; Rescript Forum 활용하기
마무리
- 함께보면 좋은 것 : Relay (graphQL 클라이언트 라이브러리)
내 느낀 점