Se una funzione ha un tipo di ritorno di ⊥ ( tipo di fondo ), significa che non ritorna mai. Può ad esempio uscire o lanciare, entrambe situazioni abbastanza ordinarie. Presumibilmente se una funzione avesse un parametro di tipo ⊥ non potrebbe mai essere chiamata (in modo sicuro). Ci sono …
So che autori diversi usano notazioni diverse per rappresentare la semantica del linguaggio di programmazione. È un dato di fatto che Guy Steele affronta questo problema in un video interessante . Mi piacerebbe sapere se qualcuno sa se il principale operatore di tornelli ha un significato ben riconosciuto. Ad esempio, …
Adoro tutto ciò che è tempo di compilazione e mi piace l'idea che una volta compilato un programma vengano fatte molte garanzie sulla sua esecuzione. In generale, un sistema di tipo statico (Haskell, C ++, ...) sembra offrire maggiori garanzie in fase di compilazione rispetto a qualsiasi sistema di tipo …
Di recente mi sono reso conto che esiste una sorta di relazione tra la teoria dei tipi russelliana e i sistemi di tipi, come ad esempio trovato in Haskell. In realtà, alcune delle notazioni per tipi in Haskell sembrano avere precursori nella teoria dei tipi. Ma, IMHO, la motivazione di …
Quindi al momento sto andando al libro HoTT con alcune persone. Ho affermato che la maggior parte dei tipi induttivi che vedremo può essere ridotta a tipi contenenti solo tipi di funzioni e universi dipendenti prendendo il tipo di recuror come ispirazione per il tipo equivalente. Ho iniziato a delineare …
Supponiamo che uno voglia ragionare sulle proprietà del codice al di là di cose come la totalità e la purezza funzionale - ci si preoccupa anche del consumo di memoria o della complessità algoritmica di una funzione. Questo può essere fatto attraverso sistemi di tipizzazione dipendenti ed effetti?
Sto guardando il calcolo delle costruzioni e il suo posto nel cubo Lambda . Se capisco correttamente, ogni asse del cubo può essere considerato come l'aggiunta di un'altra operazione che coinvolge i tipi nel calcolo tipizzato in modo semplice, λ→λ→\lambda_\to . Il primo asse aggiunge operatori da tipo a termine, …
Sto lavorando su un linguaggio basato sull'espressione della genealogia ML, quindi ha naturalmente bisogno dell'inferenza del tipo> :) Ora sto cercando di estendere una soluzione basata sui vincoli al problema di inferire i tipi, basata su una semplice implementazione in EOPL (Friedman e Wand), ma questi si adattano elegantemente a …
Al lavoro mi è stato assegnato il compito di dedurre alcune informazioni sul tipo di un linguaggio dinamico. Riscrivo sequenze di affermazioni in letespressioni nidificate , in questo modo: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let …
Che cos'è l' induzione-induzione ? Le risorse che ho trovato sono: il libro HoTT , alla fine del capitolo 5.7. L'articolo di nLab un documento chiamato Definizioni induttive-induttive questo post del blog cita anche tipi induttivi-induttivi I primi due riferimenti sono troppo brevi per me e gli ultimi due sono …
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. …
Sto leggendo sulla teoria dei tipi dipendenti nel libro online sulla teoria dei tipi di omotopia . Nella sezione 1.3 del capitolo Teoria dei tipi , introduce la nozione di gerarchia degli universi : , doveU0:U1:U2:⋯U0:U1:U2:⋯\mathcal{U}_0 : \mathcal{U}_1 : \mathcal{U}_2 : \cdots ogni universo è un elemento del prossimo universo …
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 …
Nella programmazione tipizzata in modo dipendente, ci sono due modi principali di decomporre i dati ed eseguire la ricorsione: Corrispondenza del modello dipendente : le definizioni delle funzioni sono fornite come più clausole. L'unificazione assicura che tutti i casi omessi siano impossibili e un risolutore esterno assicura che la ricorsione …
Sono relativamente nuovo alla teoria dei tipi e alla programmazione dipendente. Ho studiato il calcolo delle costruzioni (CoC) e altri sistemi di tipo puro. Sono particolarmente interessato a usarlo come rappresentazione intermedia di conservazione delle prove per un sistema di compilazione. Comprendo che i tipi (co) ricorsivi sono rappresentabili , …
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.