Подтвердить что ты не робот

Haskell для платформы .net?

Я разработчик .NET днем, но уже некоторое время играю с Haskell в свободное время. Мне любопытно: любые реализации Haskell.net в том же духе, что и IronPython?

4b9b3361

Ответ 1

Нет активной работы по переносу времени выполнения GHC на .NET.

F # - самая близкая вещь, хотя помните, что она основана на OCaml и, как таковая, не основана на ссылочной прозрачности по умолчанию, как Haskell.

Ответ 2

См. hs-dotnet: Pragmatic.NET interop для Haskell

hs-dotnet - это прагматичный слой взаимодействия .NET для Haskell. Он раскрывает оба класса .NET для Haskell (через GHC) и значения функции Haskell для .NET.

Ответ 3

Haskell не очень хорошо работал бы на .NET без каких-либо значительных изменений в среде исполнения или, возможно, на самом деле умном компиляторе.

Возможно, что-то изменится, когда кодовые контракты пронизывают больше, но прямо сейчас даже функции, которые на самом деле чисты в поведении, такие как функции манипуляции строками, должны были бы быть доступны через IO - так что это просто не стоило бы того на всех.

Это и есть проблемы с оптимизацией. Например,.NET не делает никаких оптимизаций для неизменяемых объектов, поэтому списки (последовательности, которые вызывают в F # или IEnumerable, поскольку они вызывают в С#), не будут не будет таким эффективным.

Компилятор Haskell IL может быть выполнимым, например, что-то, что выплескивает сборки .NET вместо x86.exes/.dlls.

Ответ 4

Нет .NET Haskell, о котором я знаю, но доступен еще один функциональный язык: F #. Он работает в .Net и поставляется с Visual Studio. Они похожи на; этот вопрос stackoverflow объясняет различия.

Здесь документация по начинается с F #.

Ответ 5

То, что F # для.