Haskell è un linguaggio di programmazione funzionale caratterizzato da una forte tipizzazione statica, valutazione pigra, ampio parallelismo e supporto della concorrenza e capacità di astrazione uniche.
Innanzitutto, Real World Haskell , che sto leggendo, dice di non usare mai foldle invece di usare foldl'. Quindi mi fido. Ma io sono confusa su quando utilizzare foldrvs. foldl'. Anche se riesco a vedere la struttura di come funzionano in modo diverso davanti a me, sono troppo stupido per …
C'è una risposta semplice: perché GHC è così grande? OCaml: 2 MB Python: 15 MB SBCL: 9 MB OpenJRE - 26 MB GHC: 113 MB Non mi interessa l'evangelizzazione di "Perché non dovrei preoccuparmi delle dimensioni se Haskell è lo strumento giusto"; questa è una domanda tecnica.
Ho tipi di dati definiti come: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } Ora, così com'è, ho un modello persistente definito come: Person name Text Committee name Text CommitteePerson personId PersonId committeeId CommitteeId Posso facilmente …
Sto cercando di utilizzare il ghc-modplug-in vim per eseguire il controllo di tipo / sintassi ecc. Tuttavia, ho scoperto che ghc-modutilizza sempre percorsi completi di tipi nei messaggi di errore, ad esempio: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ || Expected type: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] || …
Sto cercando di capire come utilizzare correttamente l' API OpenSSL.Session in un contesto concorrente Ad esempio, suppongo che io voglia implementare un stunnel-style ssl-wrapper, mi aspetto di avere la seguente struttura di scheletro di base, che implementa un ingenuofull-duplex tcp-port-forwarder: runProxy :: PortID -> AddrInfo -> IO () runProxy localPort@(PortNumber …
Non capisco cosa sia il "sollevamento". Dovrei prima capire le monadi prima di capire cos'è un "ascensore"? (Anch'io sono completamente ignorante riguardo alle monadi :) O qualcuno può spiegarmelo con parole semplici?
Speravo di incorporare un interprete Haskell usando in hintmodo da poter scrivere plugin in Haskell da usare con il mio programma. Non voglio spedire l'intera piattaforma Haskell per i miei eseguibili. Normalmente, gli eseguibili Haskell sono piuttosto indipendenti. Ad esempio, la cancellazione di PATHnon causa problemi: $ PATH=. Hello Hello …
Eventuali suggerimenti su come risolvere in modo efficiente la seguente funzione in Haskell, per grandi numeri (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Ho visto esempi di memoizzazione in Haskell per risolvere i numeri di fibonacci, che comportavano il calcolo (pigramente) di tutti i numeri di …
I numeri di chiesa sono una codifica di numeri naturali come funzioni. (\ f x → (f x)) -- church number 1 (\ f x → (f (f (f x)))) -- church number 3 (\ f x → (f (f (f (f x))))) -- church number 4 Ordinariamente, puoi esponenziare …
Sto riscontrando problemi nell'inserimento di comandi multilinea in ghci. Il seguente codice a 2 righe funziona da un file: addTwo :: Int -> Int -> Int addTwo x y = x + y Ma quando entro in ghci, ricevo un errore: <interactive>:1:1: error: Variable not in scope: addTwo :: Int …
Esiste una funzione per concatenare elementi di un elenco con un separatore? Per esempio: > foobar " " ["is","there","such","a","function","?"] ["is there such a function ?"] Grazie per qualsiasi risposta!
Stiamo sviluppando un programma che riceve e inoltra "messaggi", pur mantenendo una cronologia temporanea di tali messaggi, in modo che possa comunicarvi la cronologia dei messaggi, se richiesto. I messaggi sono identificati numericamente, in genere hanno una dimensione di circa 1 kilobyte e dobbiamo conservare centinaia di migliaia di questi …
Qual è esattamente la differenza tra mode remin Haskell? Entrambi sembrano dare gli stessi risultati *Main> mod 2 3 2 *Main> rem 2 3 2 *Main> mod 10 5 0 *Main> rem 10 5 0 *Main> mod 1 0 *** Exception: divide by zero *Main> rem 1 0 *** Exception: …
Ho letto Real World Haskell e mi sto avvicinando alla fine, ma una questione di stile mi sta prendendo in giro a che fare con gli operatori (.)e ($). Quando scrivi una funzione che è una composizione di altre funzioni, la scrivi come: f = g . h Ma quando …
Mi sono imbattuto in un pezzo di codice Haskell che assomiglia a questo: ps@(p:pt) Cosa significa il @simbolo in questo contesto? Non riesco a trovare alcuna informazione su Google (è purtroppo difficile cercare simboli su Google) e non riesco a trovare la funzione nella documentazione di Prelude, quindi immagino che …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.