튜플 .net 플랫폼을위한 하스켈?



하스켈 튜플 (4)

hs-dotnet : Haskell을위한 실용적인 .NET interop

hs-dotnet은 Haskell을위한 실용적인 .NET interop 레이어입니다. 그것은 Haskell (GHC를 통해)과 Haskell 함수 값을 모두 .NET으로 노출시킵니다.

나는 .NET 개발자이지만 낮에는 여가 시간에 하스켈과 놀고있다. 저는 호기심입니다 : IronPython과 똑같은 하스켈 .net 구현은 무엇입니까?


Answer #1

내가 아는 .net Haskell은 없지만 또 다른 함수 언어가있다 : F# . .NET에서 실행되며 Visual Studio와 함께 제공됩니다. 그들은 한 점 similar 합니다. 이 질문 은 차이점을 설명합니다.

다음 은 F #을 시작하기 위한 문서입니다.


Answer #2

GHC 런타임을 .NET으로 이식하는 것에 대한 적극적인 노력은 없습니다.

F #은 OCaml을 기반으로하기 때문에 가장 가까운 것입니다. 하스켈처럼 기본적으로 참조 투명성을 기반으로하지 않습니다.


Answer #3

하스켈은 런타임이나 어쩌면 정말로 영리한 컴파일러에 큰 변화없이 .NET에서 잘 작동하지 않을 것입니다.

어쩌면 코드 계약이 더 많이 침투 할 때 상황이 바뀔지도 모르지만, 문자열 조작 함수와 같이 실제 동작에서 순수한 함수조차도 IO를 통해 액세스해야하기 때문에 가치가 없을 것입니다.

.NET과 같은 불변 객체에 대한 최적화는하지 않습니다. 예를 들어 F #에서 호출 된 시퀀스 또는 C #에서 호출되는 IEnumerable은 그렇지 않습니다. 효율적으로.

Haskell IL 컴파일러는 x86 .exes / .dll 대신 .NET 어셈블리를 뱉어 낼 수있는 것처럼 실행 가능할 수 있습니다.





clr