Question

encore une fois une question totale de débutant de moi à propos de Haskell et Leskah.

(d'abord, un compliment subjective pour les amoureux de Haskell: à chaque revenir pour une session d'apprentissage de Haskell je l'aime de plus en plus j'espère que cela continuera longtemps :-).. Dernières plaisir a été le sucre Leskah pour les symboles de transformation automatique en mathématiques. Il fait le code ressemble vraiment sympa. Mais bien que ce pas le point ...)

Je voulais organiser mon paquet apprenant dans plusieurs fichiers. Mais je ne l'ai pas réussi à ajouter un second fichier par exemple Second.hs, contenant d'autres définitions, à mon unité actuelle de construction du paquet. Je l'ai ajouté dans Leskah / Edition Package / fichiers supplémentaires. Mais cela ne marche pas semblent faire le travail. Plus je me sens plus comme il était un petit peu akward ajouter chacun de tout nouveau fichier de cette façon (à travers Leskah / Edition Package / fichiers supplémentaires).

Quoi qu'il en soit à la suite tout ce qui est construit est encore que le contenu de mon Main.hs. Je manque sûrement un moment donné?

Une autre question est, en C ++, j'utilise beaucoup namespace pour trier mes définitions d'objets par sujet / objectif. Quel est l'équivalent d'espace de noms dans Haskell? Un module? Un paquet ?

Était-ce utile?

La solution

En ce qui concerne à leksah: vous pouvez ajouter le nouveau module dans le panneau du navigateur. Il suffit de faire un clic droit et sélectionnez « Ajouter un module » dans le menu contextuel (Remarque: entrez le nom module, mais pas un nom de fichier dans la boîte de dialogue). Ajout de modules de Package Editor est conçu juste pour ajouter le module existant au fichier cabale. (Si vous ne savez pas ce que signifie « cabale », alors il est un bon moment pour ce google :))

En ce qui concerne à l'espace de noms. Je pense que le plus proche équivalent est module. Vous pouvez simplement importer le module pour ajouter des définitions au contexte actuel. dans ce cas Sinon, vous pouvez importer le module qualifié, vous devrez qualifier les définitions du module. Vous pouvez aussi le nom du module « alias » lors de l'importer.

import Module1
import qualified Modile2
import Module3 as M3
import qualified Modile4 as M4

paquet est équivalente à la bibliothèque compilé en C / C ++.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top