λ-calculus è un sistema formale per la definizione della funzione, l'applicazione della funzione e la ricorsione che costituisce la base matematica della programmazione funzionale.
Attualmente sto imparando il calcolo lambda e mi chiedevo i seguenti due diversi tipi di scrittura di un termine lambda. λxy.xyλxy.xy\lambda xy.xy λx.λy.xyλx.λy.xy\lambda x.\lambda y.xy C'è qualche differenza nel significato o nel modo in cui applichi la riduzione beta, o sono solo due modi per esprimere la stessa cosa? Soprattutto …
Sto lottando per capire lo scopo della quantificazione universale ed esistenziale dei tipi. Sto giocando con la scrittura di un linguaggio giocattolo basato sul calcolo delle costruzioni . Ho letto di Morte e Henk per aiutarmi a capire meglio. Non capisco perché il CoC abbia sia l'astrazione lambda che forall. …
Mi è stato segnalato che il costo dell'inferenza di tipo in un linguaggio funzionale come OCaml può essere molto elevato. L'affermazione è che esiste una sequenza di espressioni tale che per ogni espressione la lunghezza del tipo corrispondente è esponenziale sulla lunghezza dell'espressione. Ho ideato la sequenza qui sotto. La …
In particolare, se ho definito un nuovo come invece di il sarebbe una base competitiva?K2K2K_2K2= λ x . ( λ y. y)K2=λx.(λy.y)K_2 = \lambda x. (\lambda y. y)K= λ x . ( λ y. x )K=λX.(λy.X)K = \lambda x. (\lambda y. x){ S, K2, I}{S,K2,io}\{S, K_2,I\} La mia ipotesi è …
Lasciate →β→β\to_\beta be ββ\beta -riduzione nel λλ\lambda -calcolo. Definire l' espansione ββ\beta←β←β\leftarrow_\beta di t′←βt⟺t→βt′t′←βt⟺t→βt′t'\leftarrow_\beta t \iff t\to_\beta t' . È ←β←β\leftarrow_\beta confluenti? In altre parole, abbiamo quello per ogni l,d,rl,d,rl,d,r , se l→∗βd←∗βrl→β∗d←β∗rl \to_\beta^* d\leftarrow_\beta^* r , allora esiste uuu tale che l←∗βu→∗βrl←β∗u→β∗rl\leftarrow_\beta^* u \to_\beta^* r ? Parole chiave: confluenza …
Non so dove altro porre questa domanda, spero che sia un buon posto. Sono solo curioso di sapere se è possibile creare un generatore di calcolo lambda; essenzialmente, un ciclo che, a tempo infinito, produrrà ogni possibile funzione di calcolo lambda. (come sotto forma di una stringa). Poiché il calcolo …
Ho imparato oggi che l'analisi dell'algoritmo differisce in base al modello computazionale. È qualcosa a cui non ho mai pensato o sentito parlare. Un esempio che mi è stato illustrato, che lo ha ulteriormente illustrato, dall'utente @chi è stato: Ad esempio, considerare l'attività: dato restituisce . Nella RAM questo può …
I tipi di sé sono un'estensione del Calculus of Constructions [1] che consente al linguaggio di esprimere tipi di dati algebrici codificati attraverso la codifica Scott. La codifica Scott offre la possibilità di adattarsi al modello O(1), che è uno dei principali motivatori per l'inclusione delle definizioni induttive nel CC. …
Secondo Peter Selinger , The Lambda Calculus is Algebraic (PDF). All'inizio di questo articolo dice: L'interpretazione combinatoria del calcolo lambda è nota per essere imperfetta, perché non soddisfa la regola ξξξ : sotto l'interpretazione, M=NM=NM = N non implica λx.M=λx.Nλx.M=λx.N\lambda x.M = \lambda x.N (Barendregt, 1984). Domande: Che tipo di …
Sto lavorando su un piccolo compilatore di calcoli lambda che ha un sistema di inferenza di tipo Hindley-Milner funzionante e ora supporta anche un carattere ricorsivo (non nel codice collegato), che comprendo dovrebbe essere sufficiente per renderlo completo . Il problema ora è che non ho idea di come renderli …
Il prossimo autunno inizierò un corso di informatica, ma non riesco davvero a capire il calcolo λ nel contesto della programmazione funzionale. Potrei interpretare male tutto questo, ma sulla base di questa definizione della Stanford Encyclopedia of Philosophy, è solo un'altra notazione per le funzioni. Se è solo questo, perché …
Cosa sono le funzioni anonime (lambda)? Qual è la definizione formale di una funzione anonima in un linguaggio di programmazione funzionale? In parole semplici, quando sto programmando in schema / lisp direi che una funzione anonima (lambda) è una funzione che non è legata a un identificatore. È tutto ciò …
Capisco che un numero di chiesa assomigli a (... n volte ...) . Questo significa altro che "la funzione applicate volte alla funzione ". λ s . λ z . s scncnc_nλ s . λ z. Sλs.λz.s\lambda s. \lambda z. ss n zSzszs\;zSssnnnzzz Una possibile definizione della funzione è la …
Vorrei confrontare le prestazioni delle strutture di dati codificate in funzione (Church's / Scott's) e codificate in modo classico (assemblatore / C). Ma prima di farlo devo sapere quanto è efficiente / può essere la rappresentazione della funzione in memoria. Naturalmente la funzione può essere parzialmente applicata (ovvero chiusura). Sono …
Sto leggendo questo famoso documento sugli universi nella teoria dei tipi . All'inizio mi aspettavo qualcosa di simile ad SetωAgda, ma si scopre che è anche qualcosa di più generale. Sembra generalizzare la costruzione dell'universo da un semplice tipo induttivo-ricorsivo a un legante (simile a e ). La domanda principale …
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.