43 votes

Haskell pour la plate-forme .net?

Je suis un développeur .NET de jour, mais je joue avec Haskell pendant mon temps libre depuis un certain temps maintenant. Je suis curieux: des implémentations Haskell .net dans la même veine que IronPython?

34voto

Don Stewart Points 94361

Il n'y a aucun travail actif sur le portage du runtime GHC vers .NET.

F # est la chose la plus proche, mais sachez qu'il est basé sur OCaml, et en tant que tel, n'est pas basé sur la transparence référentielle par défaut, comme l'est Haskell.

16voto

Contango Points 7976

Voir hs-dotnet: Interopération pragmatique .NET pour Haskell

hs-dotnet est une couche d'interopérabilité .NET pragmatique pour Haskell. Il expose les deux classes .NET à Haskell (via GHC) et les valeurs de fonction Haskell à .NET.

11voto

Rei Miyasaka Points 3359

Haskell ne serait pas facilement fonctionnent très bien sur .NET sans gros changements à l'exécution ou peut-être un très habile compilateur.

Peut-être que les choses changeront lorsque le code de contrats de perméat plus, mais pour l'instant, même des fonctions qui sont en réalité pure dans le comportement, comme les fonctions de manipulation de chaîne, devrait être accessible via IO -- donc il ne serait tout simplement pas la peine du tout.

Que, et il y a des problèmes d'optimisation -- .NET ne fait pas des optimisations pour des objets immuables, par exemple, des listes de séquences comme on les appelle en F#, ou IEnumerable comme on les appelle en C#) ne serait pas aussi efficace.

Un Haskell IL compilateur peut être faisable, comme quelque chose qui crache .NET assemblées au lieu de x86 .exe/.les dll.

4voto

redtuna Points 2814

Il n'est pas .net Haskell que je connais, mais un autre langage fonctionnel est disponible: F#. Il fonctionne dans .Net et est livré avec Visual studio. Ils sont semblables à un point; de ce stackoverflow question explique les différences.

Voici la documentation de prise en main avec F#.

0voto

Samuel Neff Points 35554

C'est à ça que sert F # .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X