13:00 ~ Rescript, 정미량(그린랩스) 개발자님

함수형 프로그래밍, 강력한 타입 언어

가볍게 알아보기

Js 로 컴파일되는 강력한 타입 언어

FP 지향하여 불변성과 순수함수 형태

달랐던 점

  1. let만 있다 :  (let binding), const와 같이 상수 역할
  2. return, export이 없다 : ->(pipe 연산자), 모든 모듈은 export됨, 마지막라인을 암묵적으로 리턴
  3. 타입 명시 없이 타입이 추론됨

작게 좋았던 점

  1. 빌트인 포매터 : eslint 적용이 필요없나?
  2. 좌->우, 위->아래로 읽음 : 역시 FP…
  3. import, export 신경 안써도 됨 : .res 파일은 모듈로 취급되고 모두 내보내짐 (interface 파일로 특정 파일만 내보낼수도 있음), 모듈의 이름만 안다면 어디서든 사용 가능

크게 좋았던 점

  1. 힌들리-밀너 타입 추론 : 타입 명시 없이 추론 가능, 값의 형태가 맞는 레코드 타입 선언으로 추론됨
  2. Varient 타입 : 생성자로, 추가 값을 가질 수 있음
  3. 패턴 매칭(switch) : tuple 매칭도 가능, if와 다른 점은 누락된 케이스가 하나도 없음을 보장 가능
  4. Null, undefined 없음 : 모든 값은 타입을 가지나,  존재하지 않는 값 타입이 있음

아직도 망설인다면

  1. 마이그레이션 이슈 (기존 프로젝트에 적용하려면?) : 부분적으로 적용하면서 점진적 채택 가능
  2. TS 환경에서는? genType 사용하여 타입으로 내보낼 수 있음

아쉬웠던 점

  1. 바인딩 : JS 함수를 사용하려면 바인딩을 해야 함, (바인딩? 현재 언어에서 다른 언어를 호출하기 위한 인터페이스)
  2. 커뮤니티 규모가 작음 ; Rescript Forum 활용하기

마무리

내 느낀 점