Resultados de la búsqueda a petición "haskell"
¿Los contadores se inicializan cada vez?
Intento hacer un contador simple. Sin embargo, mis fichas no suben. Me parece que se reinicializan cada vez por la función "inc" o tal vez el (n + 1) no funciona. ¿Cómo soluciono esto mejor? inc :: Int -> IO Int inc n = return (n+1) main :: IO ...
¿Cómo suprimir [temporalmente] las advertencias "definidas pero no utilizadas"
Cuando prototipo de programas Haskell, siempre recibo cientos de advertencias como esta (no es broma): /Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:70:15: Warning: Defined but not used: ...
¿Existen "combinadores de nivel de tipo"? ¿Existirán en algún futuro?
n mi opinión, mucho de lo que hace que Haskell sea realmente agradable de usar son los combinadores como(.), flip, $ <*> y etc. Parece que puedo crear una nueva sintaxis cuando lo necesito. Hace algún tiempo estaba haciendo algo donde sería ...
Plegado, composición de funciones, mónadas y pereza, ¿oh, mi?
Estoy confundido. Puedo escribir esto: import Control.Monad main = print $ head $ (foldr (.) id [f, g]) [3] where f = (1:) g = undefinedy la salida es1. Eso tiene sentido, porque se reduce a: main = print $ head $ ((1:) . undefined . id) [3] ...
Generalizando el código scala en una función
Así que accidentalmente escribí una respuesta de Haskell a una pregunta de Scala recientemente. Al estar bastante familiarizado con Haskell, la solución me resultó bastante fácil: myMaxBy :: (a -> a -> Ordering) -> [a] -> [a] myMaxBy _ [] = ...
En Haskell, ¿cuándo lo usamos con let?
En el siguiente código, la última frase puedo poner unin Al frente. ¿Cambiará algo? Otra pregunta: si decido ponerin delante de la última frase, ¿necesito sangrarla? Lo intenté sin sangría y abrazos se queja El último generador en do {...} ...
¿Por qué la gama Haskell necesita espacios cuando se usa [LT .. GT]?
Por qué es que cuando rango en Haskell, esto funciona: [LT .. GT] pero esto no: [LT..GT] y qué significa este error críptico: <interactive>:1:2: Failed to load interface for `LT': Use -v to see a list of the files searched for. ...
¿Por qué no puedo agregar Integer a Double en Haskell?
¿Por qué es lo que puedo hacer? 1 + 2.0 pero cuando lo intento: let a = 1 let b = 2.0 a + b <interactive>:1:5: Couldn't match expected type `Integer' with actual type `Double' In the second argument of `(+)', namely `b' In the expression: a + ...
Efectos de la restricción de monomorfismo en restricciones de clase de tipo
Este código se rompe cuando una declaración de tipo parabaz está agregado baz (x:y:_) = x == y baz [_] = baz [] baz [] = False Una explicación común (ver ¿Por qué no puedo declarar el tipo ...
Lentes funcionales
¿Podría alguien explicarme lentes funcionales? Es un tema sorprendentemente difícil para google y no he hecho ningún progreso. Todo lo que sé es que proporcionan una funcionalidad de obtención / configuración similar a la de OO.