20220330

586 단어 TILTIL

DSL 의 장점과 단점

  • 비전문가도 코드를 보고 이해할 수 있게 되어, 구성원들의 의사소통이 활발해진다.

  • 초기 구현 비용이 많이 든다.
  • 유지 보수에 부담이 된다.
  • Java 와 같이 장황한 언어에서는 언어에 의한 잡음이 많기 때문에 구현하기 어려운 편이다.

다중 DSL 의 예시

Scala 에서 주어진 함수 f 를 주어진 횟수만큼 반복 실행하는 유틸리티 함수 구현.

def times(i: Int, f: => Unit): Init = {
	f
    if (i > 1) times(i - 1, f)
}

//

times(3, println("Hello World"))

커링을 사용하면 표현을 다음과 같이 바꿀 수 있다.

times(3) {
	println("Hello World")
}

좋은 웹페이지 즐겨찾기