← All posts tagged ghc

fmap
code .ghci
import System.Process
import System.IO.Temp      -- dependencies: * temporary
import GHC.Vacuum.GraphViz --               * vacuum-graphviz

:{
let __spawn_graph xs = void $ do {
    view_png <- return $ system . ("feh " ++);
    withSystemTempFile "vacuum" $ \ path _ ->
        vacuumToPng path xs >>= view_png;
    }
:}

:def graph \xs -> return $ "__spawn_graph (" ++ xs ++ ")"

-- :graph Data.Set.fromList [1..20]

fmap
ghc например Как довести ghc до уффкающего состояния:

type family (Loop x) :: [*]
type instance Loop x = Loop x

type family Head (xs :: [*])
type instance Head (x ': xs) = x

{-
> :t undefined :: Head (Loop Int)
undefined :: Head (Loop Int) :: Head uf
-}
fmap
ghc Только что попался забавный баг, который поправили в 7.4.2. Короче если добавить второй контекст у инстанса (например: instance A a => B a => SomeCl (D a) where) то где в renamer бабахал ghc panic.
fmap
? Haskell Скажите, пожалуйста, доступны ли стандартные quoters и как их найти, вот как здесь hackage.haskell.org
Хочу сделать вот так:
myQuoter = QuasiQuoter { quoteDec = myTransformation . hsDecl }
Для quoteExpr есть Language.Haskell.TH.Syntax.lift а для quoteDec не могу найти.
fmap
дыбр Чето так и не получилось заюзать ghc-mod для такой простой штуки как поиск позиции функции в исходнике.
fmap
Haskell cabal cabal install xmonad-extras --reinstallResolving dependencies...
cabal: dependencies conflict: ghc-7.4.1 requires containers ==0.5.0.0 however
containers-0.5.0.0 was excluded because ghc-7.4.1 requires containers
==0.4.2.1
containers-0.5.0.0 was excluded because libmpd-0.7.2 requires containers >=0.3
&& <0.5

Первый, странно звучащий, конфликт наверно идет от какого-то пакета из списка зависимостей xmonad-extras, потому что

cabal info xmonad-extras | grep containers xmonad-contrib ==0.10.*, base >=3 && <5, containers -any,

и неясно отчего оно требует именно 0.5.0.0? Причем глобально extras ставится, а локально вот такое вот вылазиет. Это с версиями (0.10.1|0.10.1.1), а 0.9 вообще не собирается.
fmap
Haskell ghc .hs:30:23:
My brain just exploded
I can't handle pattern bindings for existential or GADT data constructors.
Instead, use a case-expression, or do-notation, to unpack the constructor.
После получасовых плясок с типами компилятор решил хоть как-то развеять обстановку.