Preguntas etiquetadas con haskell

Haskell es un lenguaje de programación funcional que ofrece una fuerte tipificación estática, evaluación perezosa, amplio soporte de paralelismo y concurrencia, y capacidades de abstracción únicas.




3
Triangularizando una lista en Haskell
Estoy interesado en escribir una función eficiente de Haskell triangularize :: [a] -> [[a]]que tome una lista (quizás infinita) y la "triangularice" en una lista de listas. Por ejemplo, triangularize [1..19]debería volver [[1, 3, 6, 10, 15] ,[2, 5, 9, 14] ,[4, 8, 13, 19] ,[7, 12, 18] ,[11, 17] …

1
¿Cómo probar la igualdad de tipos inductivamente sin clases?
Estoy tratando de demostrar la asociatividad de las listas de nivel de tipo de tal manera que me permita convertir entre tipos equivalentes sin tener que soportar ninguna restricción. Suponiendo la definición estándar de concatenación: type family (++) (xs :: [k]) (ys :: [k]) :: [k] where '[] ++ ys …
8 haskell  types 




1
Haskell - Instancia automática de Monad
Estoy tratando de crear mi propio tipo de datos, que formará parte de la clase Monad, pero newtype Container a = Container a deriving Monad me da este error: * Can't make a derived instance of `Monad Container' (even with cunning GeneralizedNewtypeDeriving): cannot eta-reduce the representation type enough * In …

2
Haskell - Reproduce la remodelación de numpy
Al entrar en Haskell, estoy tratando de reproducir algo como la remodelación de Numpy con listas. Específicamente, dada una lista plana, reconfórmela en una lista n-dimensional: import numpy as np a = np.arange(1, 18) b = a.reshape([-1, 2, 3]) # b = # # array([[[ 1, 2, 3], # [ …
8 arrays  numpy  haskell 





3
el soporte no libera recursos cuando está dentro del hilo
Tengo problemas con Haskell bracket: cuando se ejecuta dentro de un hilo bifurcado (usando forkFinally) bracketel segundo argumento, el cálculo que libera recursos no se ejecuta cuando finaliza el programa. Aquí hay un código que ilustra el problema (soy consciente de que en este caso específico podría deshabilitar el almacenamiento …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.