Uno dei principali vantaggi della memoria transazionale del software che viene sempre menzionato è la componibilità e la modularità. Frammenti diversi possono essere combinati per produrre componenti più grandi. Nei programmi basati su lock, spesso non è così. Sto cercando un semplice esempio che illustra questo con il codice attuale. …
La seguente dichiarazione fornisce un errore: type Vec2d = (Float, Float) type Vec3d = (Float, Float, Float) -- Rect x y defines a rectangle spanning from (0,0) to (x,y) data Obj2d = Rect Float Float | Translate Vec2d Obj2d -- Cuboid x y z defines a cuboid spanning from (0,0,0) …
Sto imparando la programmazione funzionale e ho difficoltà a capire come vengono implementati alcuni scenari particolari senza l'uso di compiti. Il seguente semplice problema riassume praticamente la mia confusione. Scrivere un programma che riceve eventi sulle modifiche di una determinata struttura di dati ed emette eventi quando questa struttura di …
Il linguaggio di base di Haskell è davvero semplice. Proveniente da un background OO, la principale difficoltà è quella di adattarsi al paradigma funzionale puro. Durante l'apprendimento di Haskell "di base", ho sempre considerato le estensioni del linguaggio come giocattoli per persone CS o come esperimenti per le versioni future …
Vedo ora che la racchetta ha tipi. A prima vista sembra quasi identico alla digitazione di Haskell. Ma il CLOS di Lisp copre alcuni dei tipi di spazio di Haskell? La creazione di un tipo Haskell molto rigoroso e un oggetto in qualsiasi linguaggio OO sembra vagamente simile. È solo …
Ho letto molti libri e articoli sulla programmazione funzionale e mi vergogno ancora di non riuscire a capire con certezza alcuni concetti basilari. Una delle idee principali della programmazione funzionale è che lo stesso input dovrebbe sempre produrre lo stesso output. Pertanto, per esempio, per definizione non è possibile eseguire …
Dato che Ruby ha buone capacità operative di elenco integrate: riduci, mappa, seleziona, raccogli ecc. Ha Procs, Blocks e Lambdas e ha un buon supporto di iterazione (la eachfamiglia), sarebbe una cattiva decisione di progettazione se provassi a scrivere tutte le mie cose su Ruby nel modo più puro-funzionale possibile? …
Sembra che ogni istanza rilegata dovrebbe avere un'implementazione sana di Enum. Non riesco a pensare personalmente a un controesempio, anche se se qualcuno ne trova uno che non è patologico, capirò perché non è così. Dal fare :isui due caratteri tipografici sembra che l'unica eccezione attualmente nella libreria standard sia …
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 4 anni fa . L'articolo originale di Wadler su Monads for Functional Programming (Haskell), afferma …
Ho letto che Go in realtà non ha una vera inferenza di tipo nel senso che hanno linguaggi funzionali come ML o Haskell, ma non sono stato in grado di trovare un confronto semplice da comprendere delle due versioni. Qualcuno potrebbe spiegare in termini di base in che modo l'inferenza …
Di recente, sono diventato profondamente interessato a Haskell. Mentre cerco di apprendere nuovi concetti (ad esempio la parola chiave forall e la monade ST ) e il sistema di tipi di Haskell in generale, mi imbatto continuamente in concetti tratti dalla teoria delle categorie e dal calcolo lambda . Quindi …
Voglio implementare un archivio dati in memoria per un servizio Web in Haskell. Voglio eseguire transazioni nella STMmonade. Quando google hash table steam Haskell ottengo solo questo: Data. BTree. HashTable. STM.il nome del modulo e le complessità suggeriscono che questo è implementato come un albero. Penserei che un array dovrebbe …
Il modello architettonico pipe & filter è definito come una catena di elementi di elaborazione, disposti in modo tale che l'output di ciascun elemento sia l'input del successivo . Ogni esempio sembra considerare la connessione tra processi o tra thread eseguita attraverso un qualche tipo di buffer condiviso. A me …
In precedenti domande mi è stato detto che i linguaggi di programmazione funzionale non sono adatti per sistemi dinamici come un motore fisico, principalmente perché è costoso mutare oggetti. Quanto è realistica questa affermazione e perché?
Ho capito che molto prima di Haskell, O'Caml o LISP, le funzioni di ordine superiore erano una materia di ricerca accademica e in matematica, Schönfinkel (nel 1967) e Haskell Curry (nel 1968) avevano già applicato tecniche come il curry, ma che era prima che fosse disponibile in qualsiasi linguaggio di …
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.