haskell

    7Ciepło

    1Odpowiedz

    Niedawno zacząłem przeglądać biblioteki rdzeniowe w Hackage i istnieje powtarzający się język, którego nie rozumiem. Oto przykład z ST module: instance Monad (ST s) where {-# INLINE (>>=) #-}

    5Ciepło

    1Odpowiedz

    Przez jakiś czas interesowałem się Nixem i pomyślałem, że spróbuję go wreszcie użyć do uruchomienia nowego projektu haskell. zacząłem ze strukturą katalogów project.cabal src/Lib.hs Jeżeli plik Cab

    9Ciepło

    2Odpowiedz

    Próbowałem dowiedzieć się, jak zrobić coś wzdłuż linii compositeFunctions :: [(a -> a)] -> (a -> a) myślałem mogłem użyć foldr stale spasuj listę funkcji, ale nie mogę niczego wymyślić.

    16Ciepło

    1Odpowiedz

    Dlaczego funkcja read kończy działanie pliku wykonywalnego, gdy nie można przeanalizować jego argumentu? Wydaje mi się, że byłoby wygodniej mieć funkcję typu String -> Maybe a, która zwraca Nothing je

    5Ciepło

    1Odpowiedz

    Tło: Nie rozumiem ~ i żądam użycia przypadku. Dane: {-# LANGUAGE GADTs #-} f :: a ~ b => a -> b -> b f a b = a g :: a -> a -> a g a b = a Wydaje mi się, że obie funkcje są równe: Prelude> :r

    6Ciepło

    1Odpowiedz

    Próbuję zrozumieć, jak leniwe oceny w R działa. Czy dotyczy to tylko oceny argumentów funkcji? Ponieważ to rozumiem, np. f <- function(x = x, y = x*2) { c(x, y) } f(2) [1] 2 4 Ale w innych

    6Ciepło

    1Odpowiedz

    Chciałbym mieć różne, niezgodne z ABI kompilacje tej samej wersji GHC i używać ich w różnych projektach. (w moim przypadku, różnica pomiędzy całkowitą buduje jest prosty vs-GMP). Komentarze w this iss

    7Ciepło

    1Odpowiedz

    Dokumentacja stosu podaje przykładowe konfiguracje do kompilacji z ghcjs https://docs.haskellstack.org/en/stable/ghcjs/. Ale najnowszym przykładem jest LTS-7.19. Chciałbym skonfigurować stos, aby używ

    6Ciepło

    1Odpowiedz

    mogę napisać następujący: {-# LANGUAGE RankNTypes #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ConstraintKinds #-} f :: Integral a => (forall b. Num b

    5Ciepło

    2Odpowiedz

    Czy jest jakaś różnica między f x = x + 1 i let f x = x + 1 gdy wpisane GHCi? IIUC, istnieje specjalna zasada, że ​​let bez in wewnątrz GHCi skutecznie odnosi się do całego zakresu interpretera. A