J’ai essayé la tête de cabale qui supporte les bacs à sable similaires à cabal-dev. Cependant, il n’y a pas encore de support pour un équivalent en cabal-dev ghci et apparemment pas de support prévu pour la prochaine version. Y a-t-il une incantation que je peux utiliser pour contourner ce cabal-dev ghci et obtenir quelque […]
“Agréable” signifiant, par exemple: vous pouvez écrire des grammaires de manière “naturelle” sans avoir à les réécrire de manière compliquée et sans avoir à introduire un passe-partout ennuyeux. Disons aux fins de cette question que, à moins que les performances d’une technologie ne soient pathologiquement mauvaises, la performance n’est pas le plus gros problème ici. […]
Lorsque j’ouvre un fichier à lire dans Haskell, j’ai constaté que je ne pouvais pas utiliser le contenu du fichier après l’avoir fermé. Par exemple, ce programme imprimera le contenu d’un fichier: main = do inFile <- openFile "foo" ReadMode contents <- hGetContents inFile putStr contents hClose inFile Je m’attendais à ce que l’échange de […]
C’est plutôt sympa que ghc-pkg check les paquets cassés et pourquoi ils sont cassés. Mais pour autant que je sache, il n’y a pas de moyen automatisé de prendre en charge ces paquets cassés. Quelle est la manière recommandée de traiter les paquets cassés? (De préférence pas réinstaller GHC)
Dans Haskell, un proxy est une valeur témoin de type qui facilite le passage de certains types data Proxy a = Proxy Un exemple d’utilisation est ici dans le schéma json : class JSONSchema a where schema :: Proxy a -> Schema Vous pouvez donc faire un schema (Proxy :: Proxy (Int,Char)) pour obtenir la […]
Pour une monade M , est-il possible de transformer A => M[B] en M[A => B] ? J’ai essayé de suivre les types en vain, ce qui me fait penser que ce n’est pas possible, mais je pensais demander quand même. En outre, la recherche de Hoogle pour a -> mb -> m (a -> […]
Je suis confus. J’essaie d’utiliser print , mais je sais que les gens appliquent putStrLn . Quelles sont les différences réelles entre eux? print $ function putStrLn $ function
J’étais juste curieux de connaître les détails exacts d’implémentation des listes dans Haskell (les réponses spécifiques au GHC sont correctes) – s’agit-il de listes liées naïves ou ont-elles des optimisations spéciales? Plus précisement: Est-ce que la length et (!!) (par exemple) doivent parcourir la liste? Si oui, leurs valeurs sont-elles mises en cache de quelque […]
Je discute donc avec mon ami qui prétend qu’un compilateur comme GCC peut détecter automatiquement une fonction pure sans aucune information de type. Je doute que. Les langages comme D ou Haskell ont de la pureté dans leurs systèmes de type et un programmeur définit explicitement quelle fonction est pure ou non. Une fonction pure […]
Je lis Apprendre un Haskell et je me demande pourquoi tant de choses agissent comme une liste, et rien dans le Prélude n’utilise la fonctionnalité native des classes de type pour configurer cela: “La version de bytessortingng de: est appelée contre. Elle prend un octet et une bytessortingng et place l’octet au début. Elle est […]