8
votes

Comment charger un script à GHCI?

Je commence juste à commencer à apprendre Haskell et que vous avez du mal à comprendre le «flux» d'un programme de haskell.

Par exemple en Python, je peux écrire un script, chargez-le à l'interprète et voir les résultats: p> xxx pré>

in haskell je peux faire ceci: p> xxx pré>

chargez-le avec runhakell code> et il Imprimer 125 code>.
Ou je pourrais utiliser ghci code> et tapez manuellement toutes les fonctions que je veux tester p>

Mais ce que je veux, c'est utiliser mon éditeur de texte, écrivez quelques fonctions, quelques tests et Avoir Haskell Imprimer quelques résultats: P>

-- Compile this part
cube x = x*x*x

-- evaluate this part:
cube 1
cube 2
cube (cube 3)
--etc.. 


0 commentaires

3 Réponses :


8
votes
$ ghci cube.hs
...
ghci> main

5 commentaires

Vous pouvez également utiliser: L (ou: charge) si votre GHCI fonctionne déjà, quelle est la mine.


Ça marche merci :) Besoin de vérifier ce que font ces "$"! BTW: Est-il possible de charger et d'évaluer le principal de la ligne de commande? EX: GHCI CUBE: Run Main!


@andsoa Ce sauvera quelques minutes de dur Googling :)


$ élimine la nécessité de mettre des parenthèses autour du dernier argument d'une application de fonction lorsqu'il en aurait autrement besoin. Cela rend votre code moins comme Lisp!


@andsoa: Main est juste une valeur ordinaire, vous pouvez donc simplement taper principal à l'invite GHCI. Vous pouvez également utiliser : principale pour exécuter principal , et vous pouvez transmettre des arguments de ligne de commande informatique de cette façon: : principale arg1 ... Argn . Une autre façon de définir des arguments de ligne de commande consiste à utiliser : définir args arg1 ... argn . Pour plus, voir Section 2.7 du manuel de la GHC .



14
votes

très possible! xxx pré>

qui chargera le fichier, puis vous pouvez utiliser les fonctions directement. p>

> :r


0 commentaires

4
votes

Pour charger un fichier source Haskell dans GHCI, utilisez la commande : charger

Fichier source de chargement CF dans HASKELLL Documentation


0 commentaires