Questions marquées «haskell»

Haskell est un langage de programmation fonctionnel comprenant un typage statique fort, une évaluation paresseuse, un support étendu du parallélisme et de la concurrence, et des capacités d'abstraction uniques.

1
Pourquoi le «truc de contrainte» ne fonctionne-t-il pas dans cette instance HasField définie manuellement?
J'ai ce code (certes bizarre) qui utilise l' objectif et le GHC . {-# LANGUAGE DataKinds, PolyKinds, FlexibleInstances, UndecidableInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} module Main where import Control.Lens import GHC.Records data Glass r = Glass -- just …


3
Tous les conteneurs de taille fixe sont-ils des foncteurs monoïdaux solides et / ou vice versa?
La Applicativeclasse de types représente des foncteurs monoïdes laxistes qui préservent la structure monoïde cartésienne sur la catégorie des fonctions typées. En d'autres termes, étant donné les isomorphismes canoniques témoins qui (,)forment une structure monoïdale: -- Implementations left to the motivated reader assoc_fwd :: ((a, b), c) -> (a, (b, …





2
États imbriqués à Haskell
J'essaie de définir une famille de machines à états avec des types d'états quelque peu différents. En particulier, les machines à états les plus "complexes" ont des états qui sont formés en combinant les états des machines à états plus simples. (Ceci est similaire à un paramètre orienté objet où …

2
Types de somme - Pourquoi dans Haskell est `show (Int | Double)` différent de `(show Int) | (afficher Double) `
Pourquoi ne sont-ils pas équivalents? show $ if someCondition then someInt else some double et if someCondition then show someInt else show someDouble Je comprends que si vous isolez la if ... elsepartie dans le premier exemple d'une expression par elle-même, vous ne pouvez pas représenter son type avec un …


1
Comment contrôler l'invariance d'échelle?
J'essaie de rassembler plusieurs diagrammes dans une sorte de tableau. Je pense que cela s'appelle "index print" , les photographes le font quand ils doivent revoir plusieurs photos à la fois. Quoi qu'il en soit, voici le code: main :: IO () main = mainWith @(Diagram B) $ (tile . …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.