Discussione:Lambda calcolo

Da Teknopedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Variabili fresche

[modifica wikitesto]

Un nome di variabile si dice fresco, relativamente ad un termine, se esso non è menzionato tra i nomi di variabile legate, in quello stesso termine.

Non sono proprio d'accordo con questa definizione. Un nome di variabile fresco rispetto a un termine non dovrebbe proprio comparire (né legato, né libero) nel termine e, se proprio vogliamo rilassare i requisiti, non deve assolutamente essere una variabile libera del termine.

Se non avete obiezioni, lo cambio

--Xelloss 21:54, Lug 9, 2005 (CEST)

Nessuna obiezione (si usa normalmente "fresco" come traduzione di "fresh" o sarebbe meglio tradurre come "nuovo"?) --Sbisolo 10:58, Lug 10, 2005 (CEST)
Sistemato. Sì, direi che "fresco" è una traduzione frequente--Xelloss 18:48, Lug 10, 2005 (CEST)

Accessibilità

[modifica wikitesto]

Secondo me l'articolo dovrebbe essere reso un po' meno teorico ed un po' più accessibile anche ai non addetti ai lavori, magari aggiungendo alcune applicazioni pratiche come nella pagina in inglese. (Purtroppo io non ho le conoscenze per farlo, altrimenti mi ci sarei già messo :-) ) -- VD (88.43.51.186) 2008-01-24 13:51:51‎

Nell'introduzione ho fatto a tratti meglio dell'inglese, direi. Pare meglio?

In effetti, come molte pagine enciclopediche, non è chiara. Serve a raggruppare argomenti teorici e usa troppo formalismo fine a se stesso. Di fronte alla massa di formule e all'apparente caos della suddivisione in sezioni, la domanda è: a chi è diretta la voce? Credo, essenzialmente, ad un pubblico di addetti ai lavori. In questo senso non so quanto sia utile. Un lettore di media cultura invece, quale sono io, magari con formazione scientifico-matematica, dovrebbe poter riassumere gli argomenti letti cercando almeno un senso. Invece, dopo essere giunto su questa pagina da una voce su una macchina di Turing (in pratica ero interessato all'informatica) mi sono reso conto che è difficile persino classificarne il contenuto. Teknopedia sta diventando sempre più un enorme contenitore di conoscenza mal strutturata..A chi scrive le pagine suggerirei di provare a mettersi ogni tanto nei panni di un discente. Un'esempio di come mi sarebbe piaciuto iniziasse la voce (tratto da materiale online):

La nozione prevalente di funzione nella matematica moderna é quella di sottoinsieme del prodotto cartesiano di due insiemi. Quindi, scrivendo f : X → Y intendiamo una funzione che associa ad ogni valore di X un determinato valore di Y , per qualunque coppia di insiemi X e Y detti, rispettivamente, dominio e condominio. In questa visione estensionale delle funzioni, non importa quale sia, neanche se esista, il procedimento di calcolo che porta dall'argomento (in inglese “input”) in X al risultato (in inglese “output”) in Y . L'associazione fra valori del dominio e del condominio è l'unico elemento che caratterizza una funzione, le sue proprietà, l’uguaglianza con un’altra funzione. Completamente opposta a questo approccio è la visione intensionale delle funzioni, in cui ogni funzione è caratterizzata dalla descrizione delle regole di calcolo che permettono di arrivare dall'argomento al valore da restituire come risultato. Per esempio, consideriamo due semplici varianti della funzione successore: succ(x) = x + 1 succLento(x) = (x − 2) + 1 + 1 + 1 Queste due funzioni sono intensionalmente diverse, anche se hanno esattamente lo stesso insieme di coppie di numeri naturali. Possiamo confrontarle per concludere che la prima sia preferibile alla seconda perché il suo procedimento di calcolo è più veloce. In questo approccio intensionale si inserisce il lambda calcolo, disegnato da Alonso Church (cfr. Church (1932)) con lo scopo di ottenere una fondazione della matematica mediante un sistema di funzioni ed un insieme di nozioni logiche...

Cosi sì che ad uno viene voglia di capire di cosa si tratta! Motivazioni basate su una matematica largamente nota ad un pubblico con formazione universitaria (e non solo), contesto storico, necessità (cavolo è un argomento fondamentale se tratta della ricerca di una fondazione della matematica!), esempio semplice etc..Inoltre si capisce subito perché è importante per l'informatica: questa scienza ha bisogno di soluzioni efficienti per i problemi, e quindi DEVE chiedersi come viene calcolata una funzione, e non solo accontentarsi di sapere che esiste! Ragazzi su un po di pedagogia!

Beta confusione

[modifica wikitesto]

La descrizione informale introduttiva utilizza l'analogia con l'operazione di "applicazione di una funzione matematica ai suoi argomenti", che trovo errata e fuorviante per il lettore. L'analoga della "applicazione di una funzione matematica ai suoi argomenti" è piuttosto il costrutto sintattico della stessa "applicazione" del lambda calcolo, denotata con . La beta riduzione consiste invece nel calcolo effettivo dell'applicazione della funzione all'argomento , che fornisce la rappresentazione ridotta (appunto) del termine, ossia quello dove avviene la sostituzione dell'argomento al posto delle occorrenze della variabile della funzione.

Provvederei a fare chiarezza e a relazionare il concetto con la sezione sulle "Forme normali" dove si parla di calcolabilità.

--SoujaK 20130620-1300 (CEST)

Ho riscritto quella parte e in generale data una buona revisione all'intera pagina. --SoujaK (msg) 18:21, 24 giu 2013 (CEST)[rispondi]

Propongo alla discussione un'elenco di cose da fare sull'articolo --SoujaK (msg) 18:21, 24 giu 2013 (CEST)[rispondi]

Forme normali

[modifica wikitesto]

Aggiungere considerazioni sulla confluenza, sull'assenza di normalizzazione nella sezione sulle forme normali, sull'indecidibilità della beta-equivalenza fra termini.

Strategie di riduzione

[modifica wikitesto]

Una sottosezione che illustri le principali strategie di riduzione (ordine di applicazione della beta) e i relativi impatti della normalizzabilità dei termini e la lunghezza della riduzione. Le strategie hanno importanti relazioni con le strategie di riduzione dei linguaggi di programmazione funzionali (strette o pigre) e con le politiche di passaggio di parametri (per valore o per nome)

Sottosezione sulla semantica di Scott e sulla relazione con la semantica denotazionale.

Implementazioni e codifiche

[modifica wikitesto]

Ho aggiunto delle implementazioni, ad esempio la sezione aritmetica. Ora, sarei disposto ad aggiungere anche la logica booleana e magari qualcosa di più sull'aritmetica. Il problema è che vorrei aggiungere ad Aritmetica anche la logica booleana, così vorrei cambiare il nome della sezione o in Implementazioni o in Codifiche di Chruch. Quale andrebbe meglio? -- Flinter 18-10-2015

Intanto, grazie mille per i contributi (appena ho tempo rileggo con cura). "Codifiche" mi piace di più, perché "Implementazioni" mi fa pensare ad quelle del lambda calcolo, non a quelle nel lambda calcolo. Lascerei perdere Church, perché alcune famose codifiche non sono opera sua. --SoujaK 20:11, 18 ott 2015 (CEST)[rispondi]
Grazie anche a te che hai mantenuto la pagina sino ad ora! Sappi che sono un pessimo scrittore, quindi, probabilmente, dovrai modificare quasi tutto il testo che ho scritto (accidenti, ho rivelato il mio punto debole). Comunque, per quanto riguarda le codifiche di Church, quella utilizzata nelle esemplificazioni già scritte è proprio la sua, come anche quello che sto scrivendo sulla logica booleana. Comunque, utilizzerò il nome "Codifiche", se non ci saranno obiezioni da parte di Ford Prefect o Zaphod Beeblebrox (*caugh* sarcasmo *caugh*). -- Utente:Flinter 19:36, 21 ott 2015 (CEST)[rispondi]
edit: Inoltre vorrei anche sapere se devo tenere le dimostrazioni esemplificative della risoluzione ed applicazione di alcune funzioni. Utente:Flinter 23:16, 21 ott 2015 (CEST)[rispondi]
Non preoccuparti troppo per i tuoi difetti: ognuno ha i propri, ma insieme dovremmo averne meno. Almeno credo.
Ti riferisci agli esempi di riduzione per i termini che codificano funzioni note dell'aritmetica o della logica booleana? Se è così io ne terrei uno o due, meglio se brevi, per ogni concetto sostanzialmente nuovo che si introduce. Mentre scriverai ti renderai conto della misura giusta perché l'articolo non sembri né un arido elenco di definizioni, né gli appunti di un corso per principianti.
(La battuta mi sa che me la devi spiegare, ché non l'ho colta, purtroppo)
SoujaK 01:33, 22 ott 2015 (CEST)[rispondi]
Con dimostrazione mi riferivo a delle esemplificazioni e risoluzione di alcune funzioni dati gli input. Terrò, magari, soltanto la funzione SUC (successivo) e PRE(precedente), in quanto sono quelle su cui si basa quasi tutta l'aritmetica. Mentre per quanto riguarda la logica booleana, lascio semplicemente le formule (sono molto semplici) e per le esemplificazioni ci ragiona su il lettore.
Inoltre sto cercando di riscrivere tutto quanta la parte testuale più alcune parti delle formule.
Più avanti, se diverrà completa questa sezione, forse dovremmo ricorrere alla creazione della pagina Codifiche di Church, etc, come sulla wiki inglese?
(Non preoccuparti per la battuta, era puro e semplice no-sense che ho spacciato per sarcasmo)
Flinter 17:32, 22 ott 2015 (CEST)[rispondi]
Altri articoli su temi specifici? Magari! Per il momento i contenuti non credo siano ancora abbastanza per fare scorpori dall'articolo. In generale, com'è ovvio, meglio che la strategia d'esplorazione dei contenuti avvenga navigando in ampiezza, piuttosto che in profondità. --SoujaK 17:50, 23 ott 2015 (CEST)[rispondi]