Configuration d'Eclipse pour compiler Haskell avec le plug-in EclipseFP


11

Je viens d'installer le plugin EclipseFP dans ma configuration Eclipse (sur Windows 7 32 bits, si cela importe), en suivant les instructions . J'ai ensuite suivi les instructions des documents d'aide d'Eclipse pour créer un Hello Worldprojet avec succès.

Cependant, je suis assez certain que quelque chose ne va pas, bien que je ne puisse pas comprendre quoi. Tout d'abord, il n'y a pas de coloration syntaxique, même si j'ouvre explicitement des fichiers avec l'éditeur Haskell. Deuxièmement, frapper run lance la console GHCi dans l'onglet Console. Ceci est en fait assez utile, mais ne sonne pas juste, car il n'a pas exécuté le fichier, seul compiler et charger. En outre, la vue Structure est vide, même lorsque j'ouvre un fichier Haskell modérément volumineux.

Enfin et surtout, le projet a initialement indiqué qu'aucune implémentation Haskell n'était configurée. Je suis allé dans les préférences (bien que cela ne soit décrit comme nécessaire nulle part) et j'ai ajouté manuellement une implémentation GHC, pointé vers le répertoire bin de mon installation de Haskell Platform. Pour autant que je sache, cela n'a eu aucun effet.

Réponses:


19

EclipseFP ne semble plus être activement maintenu ; À utiliser à vos risques et périls.


Après beaucoup d'aide des développeurs d'EclipseFP sur leur liste de diffusion, j'ai rassemblé un ensemble d'instructions pour l'installation de la version actuelle (2.0.2) d'EclipseFP. Vous pouvez lire mon e-mail, mais ci-dessous les instructions - c'est long, mais pas aussi difficile qu'il y paraît, et le résultat est plutôt sympa:

  1. Installez GHC / GHCi - mais vous l'avez déjà fait, non?
  2. Installez Eclipse 3.5 + Si vous n'avez pas encore Eclipse (pourquoi pas?!) Téléchargez-le - soit l'IDE pour les développeurs Java si vous êtes enclin à l'utiliser également avec Java, ou tout simplement Eclipse Classic sinon. "L'installation" consiste simplement à extraire le dossier eclipse quelque part et à lancer l'exécutable eclipse, il n'y a rien à installer réellement. Il vous invite à sélectionner un espace de travail, votre dossier utilisateur ou votre dossier documents sont de bons choix si vous n'avez pas de préférence.
  3. Installer le plugin EclipseFP Dans Eclipse, allez dans Aide> Installer un nouveau logiciel et collez-le http://eclipsefp.sf.net/updatesdans le champ Travailler avec: - appuyez sur Entrée. Dans la case ci-dessous "Programmation fonctionnelle" devrait apparaître après quelques instants, annulez et réessayez si ce n'est pas le cas. Développez "Programmation fonctionnelle" et vérifiez le plug-in 2.xx Haskell Support. Suivez le reste des étapes et EclipseFP sera installé et vous invitera à redémarrer Eclipse.
  4. Mettre à jour Cabal Pendant que vous attendez, lancez une fenêtre d'invite de commande (tapez cmd dans la barre de démarrage sur Win Vista / 7) ou un terminal et entrez 'cabal update'. Cela mettra à jour les packages dont Haskell a besoin afin de permettre à EclipseFP de fonctionner.
  5. Configurer EclipseFP Allez dans Fenêtre> Préférences et développez la section Haskell. Cliquez sur "Implémentations Haskell" et cliquez sur "Ajouter". Entrez un nom raisonnable (je l'ai appelé "Haskell Platform"), puis accédez au répertoire bin de votre installation GHC, qui sous Windows est quelque chose comme "C: \ Program Files \ Haskell Platform \ 2010.2.0.0 \ bin". Il remplira les éléments du dossier Version et Bibliothèque ci-dessous, cliquez sur OK. Cliquez sur OK pour enregistrer ces préférences, puis ouvrez à nouveau la fenêtre des préférences. Allez dans "Scion et Cabale" et cliquez sur "Détection automatique" sur la droite. Il devrait ajouter un élément à la liste des implémentations Cabal installées, mais si ce n'est pas le cas, cliquez sur ajouter, donnez-lui un nom comme "Cabal" et donnez-lui le chemin vers l'exécutable Cabal, qui sous Windows est quelque chose comme "C:
  6. Construire le serveur Scion En théorie, en quittant la fenêtre des préférences, EclipseFP commencera à faire beaucoup de travail pour construire le serveur Scion. Si ce n'est pas le cas, quittez et redémarrez simplement Eclipse, et lorsqu'il sera redémarré, il commencera à se construire. Avec un peu de chance, cela durera quelques minutes, puis sera terminé, mais vous risquez de rencontrer des problèmes en raison de la nature capricieuse du système de gestion des versions de Haskell / Cabal. En cas d'échec, essayez à nouveau d'exécuter la "mise à jour cabale", ou exécutez quelque chose comme "cabal install network-2.3" où network-2.3 est un package dont le script de génération a signalé qu'il n'était pas correct. Une fois le serveur Scion construit, nous sommes pratiquement tous prêts. Redémarrez Eclipse une fois de plus pour faire bonne mesure.
  7. Créer un projet Haskell Passez à la perspective Haskell si cela ne s'est pas déjà produit - coin supérieur droit, cliquez sur l'icône Ouvrir la perspective, cliquez sur Autre si vous ne voyez pas Haskell dans la liste et sélectionnez Haskell dans la fenêtre contextuelle. Maintenant, allez dans Fichier> Nouveau> Projet Haskel (ou Projet puis sélectionnez Projet Haskell) et créez un projet. Pour créer votre premier fichier Haskell, cliquez avec le bouton droit sur le dossier src dans le projet et sélectionnez Nouveau> Module Haskell. Cela crée un fichier Haskell, vous pouvez en faire ce que vous voulez. Pour exécuter le fichier, cliquez sur le bouton Exécuter (cercle vert, triangle blanc) près du haut. Cela lancera un terminal GHCi de base dans l'onglet Console ci-dessous avec l'invite "Prelude>" si le fichier contient des erreurs, ou "MODULENAME>" s'il a été compilé avec succès. Vous pouvez l'utiliser comme le terminal GHCi externe pour exécuter des commandes telles que: t,
  8. Configurer le fonctionnement du fichier Une dernière chose qui vous facilitera la vie est de dire à EclipseFP de recharger automatiquement le fichier lors de son enregistrement et d'exécuter une fonction (par exemple "main") après le rechargement du fichier. Pour ce faire, cliquez sur la flèche vers le bas à côté du bouton Exécuter et sélectionnez "Exécuter les configurations". Cliquez sur la configuration à gauche du fichier souhaité, puis cliquez sur l'onglet Automation. Cochez «Reload packages on save» si vous ne voulez pas avoir à taper «: r» toute la journée, et tapez un nom de fonction comme «main» et cochez «Rerun command after reload» pour exécuter une commande automatiquement.

@dimo - J'ai juste eu "Impossible de localiser l'exécutable à lancer" lors de l'exécution et j'ai défini le GHCI et j'ai défini la configuration d'exécution sur "Haskell Application" et le répertoire de travail comme dossier de projet. Il le fait toujours sur Windows. Sur Ubuntu, il l'a fait au début, puis j'ai fermé Eclipse et l'ai ouvert et fait un nouveau projet et cela a fonctionné comme par magie. Mais sur Windows, je suis f * cked.
Sacha T Red

Je suppose que vous avez manqué une étape. Avez-vous installé Cabal et construit le serveur Scion? Si vous avez suivi toutes les étapes ici et que cela ne fonctionne pas, je vous suggère de commencer un nouveau fil sur la liste de diffusion EclipseFP et de créer un lien vers ce message.
dimo414

À l'étape 4, vous avez dit «en attendant»; fait-il référence à l'étape 3? cela signifie-t-il que l'étape 4 peut être exécutée pendant que l'étape 3 est en cours?

@FleetCommand oui, cabal peut être mis à jour pendant l'installation d'EclipseFP - il n'est nécessaire qu'une fois que vous essayez d'exécuter le plugin.
dimo414

1

Le plug -in EclipseFP n'est pas maintenu depuis le 2015-05-14 et ne semble pas fonctionner avec les versions récentes d'Eclipse.


@David, si vous regardez attentivement, vous verrez l'autre réponse reproduire la mienne. La note en haut a été ajoutée après avoir posté ma réponse. Sans cette note, elle était trompeuse et m'a fait passer beaucoup de temps à essayer de la faire fonctionner avant de la libérer ne fonctionne tout simplement plus.
Kaveh

Oh, je n'ai pas repéré le montage. Pardon.
DavidPostill
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.