Tag: SCOPED-TYPE-VARIABLES
En el siguiente ejemplo, estoy implementando internamente la función f. Su firma utiliza a como si la variable de tipo a estuviera englobada, y está funcionando sin darme un error de compilación a pesar de que no he habilitado la extensión ScopedTypeVariables: foo :: Int -> [a] -> [a] foo . . . Read more
Tengo el siguiente programa simplificado que funciona bien: {-# LANGUAGE Rank2Types #-} module Temp where import Control.Monad.ST import Control.Monad import Data.STRef mystery :: Int -> Int mystery start = let run :: ST s Int run = do count <- newSTRef (1::Int) loop count start readSTRef count in runST run . . . Read more
Estoy escribiendo una librería tipo ORM y mis instancias de modelo pueden existir en diferentes formas, como esta: # Pueden tener cualquier atributo selected_user: User[Selected] = db.select(User, …) # Deben tener atributos obligatorios user_to_insert: User[ToInsert] = User.prepare_insert(…) # Deben tener clave primaria user_to_update: User[ToUpdate] = User.prepare_update(…) Todas estas variables son . . . Read more