Domande con tag 'haskell'

2
risposte

Come può essere implementato un vero vettore in Haskell?

Come potrebbe essere implementato un vero tipo di vettore in Haskell? Affinché qualcosa sia un vettore, deve essere memorizzato sequenzialmente in memoria, con O(1) accesso casuale. Ma Haskell nasconde la sua gestione della memoria, e i suo...
posta 12.07.2014 - 00:34
3
risposte

Si può assumere la trasparenza referenziale quando si ha a che fare con l'aritmetica in virgola mobile?

Si presume che una pura funzione generi gli stessi output in base agli stessi input. Supponiamo che una funzione libera da effetti collaterali (altrimenti) calcoli con numeri in virgola mobile. A causa di un errore numerico, queste uscite posson...
posta 31.01.2018 - 15:21
1
risposta

L'implementazione di ordinamento della libreria Haskell più veloce

Sto implementando un'applicazione in Haskell e, per l'ordinamento, uso la funzione di libreria Data.List.sort . Tuttavia, mi chiedevo se questa è l'implementazione di ordinamento più veloce nella libreria standard Haskell (forse gli elenchi...
posta 23.12.2012 - 00:05
2
risposte

Buone soluzioni di integrazione continua per i progetti Haskell [chiuso]

Sto cercando una buona soluzione CI per un progetto haskell. Idealmente qualcosa che funzionerà con git. Esigenza veramente basilare (finora) di costruire ed eseguire test dopo ogni check in. Alcuni report di base sarebbero anche grandiosi, ma n...
posta 27.03.2011 - 21:46
1
risposta

Perché la funzione max di Haskell integrata è più veloce della mia?

Ho notato che, per qualche motivo, la funzione max di Haskell (che restituisce il massimo di due numeri) è molto più veloce di quella che ho scritto, anche se sono essenzialmente identici. Da questo sito: link , Ho scoperto che la funzione m...
posta 08.07.2014 - 02:09
1
risposta

Convenzioni di denominazione per i decostruttori newtype (distruttori?)

Esaminando la libreria standard di Haskell possiamo vedere: newtype StateT s m a = StateT { runStateT :: s -> m (a, s) } newtype WrappedMonad m a = WrapMonad { unwrapMonad :: m a } newtype Sum a = Sum { getSum :: a } Apparentemente, ci...
posta 12.10.2012 - 13:51
3
risposte

Un modo migliore di registrare rispetto alle chiamate manuali a una funzione di registrazione?

Sto scrivendo un semplice web server in Haskell e sto mettendo un po 'di logging. Ho alcune chiamate a una funzione di registrazione in una catena di IO >>= . Sembra tutto un po 'manuale. C'è un modo migliore / più "Haskelish"? log :...
posta 11.03.2017 - 15:25
2
risposte

Programmazione guidata da eventi in Haskell

Sono nuovo di Haskell, quindi questa è più una domanda concettuale di alto livello. Ho letto questo: link e ha questo: run :: Domain -> [Event] -> IO () run dm [] = do events <- uiUpdate dm run dm events run _ (EventExit:_) =...
posta 21.04.2016 - 17:46
0
risposte

Perché GHC rappresenta la ricorsione in Haskell con i raccoglitori ricorsivi invece di un operatore di fixpoint?

Il tipo di dati fondamentali di GHC rappresenta la ricorsione con i raccoglitori ricorsivi nel costruttore Let ; a quanto ho capito, tutte le espressioni let in Haskell sono effettivamente espressioni let rec . Perché GHC usa que...
posta 30.04.2018 - 16:03
2
risposte

Perché i libri di testo usano lo pseudocodice piuttosto che le lingue reali?

Nelle università e nei libri di testo dell'algoritmo, è abbastanza comune per l'insegnante e l'autore spiegare il flusso di controllo in pseudo-codice. Con l'avvento di linguaggi più espressivi come Python e Haskell, tra gli altri, è ragionevole...
posta 21.02.2016 - 15:18