Domande relative alla progettazione, all'implementazione e all'analisi dei linguaggi di programmazione. NON per domande su come programmare, che sono fuori tema su questo sito.
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 …
Proveniente da un background C ++ Non capisco perché uno ha bisogno di tipi / espressioni di tipo come cittadino di prima classe? L'unica lingua che conosco che supporta questa funzione è Aldor. Qualcuno ha qualche letteratura sui tipi come cittadino di prima classe o conosce alcuni motivi per cui …
Per funzioni o calcoli abbiamo termini come: Deterministico - Determinismo Puro - Purezza Ora qual è il nome corretto corrispondente per privo di effetti collaterali ? "Freeness effetto collaterale"? "Libertà di effetti collaterali"? "Non-side-efficace"?
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ò …
Esistono linguaggi di programmazione (o logica) che possono implementare (o esprimere) una funzione se e solo se f è una funzione biiettiva calcolabile?f:N→Nf:N→Nf:\mathbb{N}\to \mathbb{N}fff
Sono curioso. Ho lavorato su questo tipo di dati in OCaml : type 'a exptree = | Epsilon | Delta of 'a exptree * 'a exptree | Omicron of 'a | Iota of 'a exptree exptree Che può essere manipolato usando funzioni ricorsive tipizzate in modo esplicito (una funzione che …
Mentre leggevo un articolo che delineava le differenze in OO e nella programmazione funzionale, mi sono imbattuto in indicatori di funzione. È passato un po 'di tempo da quando ho completato la mia laurea in Informatica (2003) e quindi ho cercato gli indicatori per rinfrescare la mia memoria. I puntatori …
Sono uno studente di informatica. Voglio creare il mio linguaggio di programmazione (un linguaggio di base con poche istruzioni). So come fare un analizzatore sintattico, l'ho già fatto in Perl. In un articolo, ho letto qualcosa sul compilatore, un compilatore è fatto di per sé. Ad esempio il compilatore C …
La defunzionalizzazione è una trasformazione descritta per la prima volta nel 1972 da John C. Reynolds per eliminare le funzioni di ordine superiore. Esistono trasformazioni alternative (più efficienti?) Per eliminare le funzioni di ordine superiore?
Di solito vedo che nella rappresentazione semantica operativa strutturale per il ciclo while, lo stato del programma non cambia: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whioleBdoS,σ)→(iofBthenS;(whioleBdoS)elSeSKioP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) Per me, questo non è intuitivo, se …
Sto esaminando le tecniche di implementazione per i linguaggi di programmazione, e di recente mi sono imbattuto in pile di spaghetti, che presumibilmente si adattano bene a un modello di stile di passaggio di continuazione (dato il loro uso ad esempio in Scheme e SML / NJ ). Per motivi …
In Concetti nei linguaggi di programmazione , John Mitchell scrive che il controllo statico dei tipi è necessariamente prudente (eccessivamente rigoroso) a causa del problema di Halting. Dà un esempio: if (complicated-expression-that-could-run-forever) then (expression-with-type-error) else (expression-with-type-error) Qualcuno può fornire una risposta non inventata che sarebbe davvero una preoccupazione pratica? Capisco …
Nel capitolo 1 di Basi pratiche per i linguaggi di programmazione , l'autore menziona che gli alberi di sintassi astratti sono associati a specie . Intuitivamente, i tipi sono come i tipi, ma mi piacerebbe sapere se hanno una definizione precisa. Sarei felice se anche alcuni riferimenti fossero forniti.
Penso che nell'algoritmo di Peterson per l'esclusione reciproca , se il processo prima di entrare nella sezione critica dovesse morire o essere cancellato, l'altro processo sarebbe in loop per sempre, in attesa di entrare nella sezione critica. Nella figura, se il processo 1 viene interrotto, il resto dei processi dietro …
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.