Hackage에는 보간 된 문자열을 다루는 라이브러리가 많이 있습니다. 일부는 품질이 떨어지며 다른 일부는 지원하는 기능의 수에 따라 다릅니다.보간 된 문자열을위한 Haskell 라이브러리
사용 가치가있는 것은? (특별한 순서없이) 라이브러리의
예 : shakespeare, interpolatedstring-qq, Interpolation
Hackage에는 보간 된 문자열을 다루는 라이브러리가 많이 있습니다. 일부는 품질이 떨어지며 다른 일부는 지원하는 기능의 수에 따라 다릅니다.보간 된 문자열을위한 Haskell 라이브러리
사용 가치가있는 것은? (특별한 순서없이) 라이브러리의
예 : shakespeare, interpolatedstring-qq, Interpolation
은 내가 Hackage에서 찾을 수 quasiquoter 라이브러리의 모든 보간에서 살펴 보았다. 사용 가치가
보간 라이브러리 :
interpolatedstring-perl6는 : 적절한 구문을 사용하여 임의의 하스켈 코드를 보간 지원하지만 하스켈-SRC-EXTS이 필요합니다. 일반 문자열 보간 구문을 원한다면이 구문을 사용하십시오.
shakespeare-text : 셰익스피어 (Shakespeare) 템플릿 제품군에 기반하며 최소한의 의존성이 있습니다. 다른 보간 된 문자열 패키지의 대부분은 haskell-src-exts에 의존합니다. 이것은 꽤 무거운 패키지이며 컴파일하는데 많은 시간과 자원이 필요할 수 있습니다. 다른 셰익스피어 템플릿을 사용한다면이 템플릿을 사용하는 것이 좋습니다.
그러나 간단한 변수 확장 이상을 지원하지만 임의의 하스켈 코드를 보간하는 것은 지원하지 않습니다. 그것도 함수 응용 프로그램, 연산자, 등등 나는 String
보다는 Text
을 사용한다고 생각합니다. 나는 소스 코드에서 찾고있는 String
과 함께 사용할 수 있는지 여부를 확신 할 수는 없지만 제안 할 수있는 지원 코드가 있습니다.
Interpolation : 임의의 표현식 (다시 haskell-src-exts)을 지원하며 루핑 기능도 내장되어 있습니다. 단순한 보간법보다 더 많은 "템플릿"과 같은 기능을 원한다면 필자가 개인적으로 그 구문을 꽤 못생긴 것으로 생각할지라도 고려해 볼 가치가있다.
보간 라이브러리 아마 가치가 사용 :
interpolatedstring-qq : interpolatedstring - perl6 기반으로 할 것 같습니다; 1 년 넘게 업데이트되지 않았으며 interpolatedstring-perl6보다 기능이 적은 것으로 보입니다. #{expr}
구문에 실제로 첨부되어 있지 않으면이 구문을 고려하지 않을 것입니다.
interpol : 전처리기로 구현되어 문자열에 {foo}
이라는 특수한 의미를 부여합니다. IMO는 너무 가볍고 기존의 코드를 깨뜨릴 수있는 가벼운 구문을 사용합니다. 당신이 (또는 이미 셰익스피어 템플릿을 사용) 할 경우 하스켈-SRC-EXTS 의존성, 그리고 셰익스피어 텍스트를 괜찮다면
은 요약하면, 나는 interpolatedstring-perl6 좋을 것.
또 다른 옵션은보다 일반적인 템플릿 엔진과 함께 string-qq 패키지를 사용하는 것일 수 있습니다. String
, Text
및 ByteString
을 지원하며 모든 용도를 포함해야합니다.그러나 이것은 분명히 Haskell 코드의 임베딩을 지원하지 않으므로 별도로 변수를 지정해야하므로 특정 상황에서만 유용 할 수 있습니다.
셰익스피어 텍스트는 완전한 하스켈 표현 지원을 가지고 있지 않지만, 많은 것을 가지고 있습니다. 예를 들어 함수를 적용하고 연산자를 사용할 수 있습니다. –
@MichaelSnoyman : 감사합니다; 곧 내 대답을 업데이트하겠습니다. 문서에서 알 수없는 한 가지 : 셰익스피어 텍스트 지원 조건부 및 루프입니까? – ehird