Quindi un po 'di tempo fa per prima cosa qualcuno mi ha detto che call / cc poteva consentire oggetti di prova per prove classiche implementando la legge di Peirce. Di recente ho riflettuto sull'argomento e non riesco a trovare un difetto. Tuttavia, non riesco proprio a vedere nessun altro parlarne. Sembra privo di discussione. Cosa dà?
Mi sembra che se hai una costruzione come in qualche contesto, allora 1 di due cose è vera. O hai accesso a un'istanza qualche modo nel contesto attuale, nel qual caso il flusso di controllo non raggiungerebbe mai qui e siamo sicuri di assumere qualunque cosa OR dato che significa l'unico modo in cui può restituire è costruendo un'istanza di e applicandola due è l'argomento (un'istanza di . In tal caso, c'era già ALCUNO modo di costruire un'istanza di⊥ f : ¬ ( ¬ P ) f : ( P → ⊥ ) → ⊥ f ⊥ P P → ⊥ ) P; sembra ragionevole per call / cc estrarre questa costruzione per me. Il mio ragionamento qui mi sembra in qualche modo sospetto, ma la mia confusione è ancora valida. Se call / cc non sta semplicemente creando un'istanza di dal nulla (non vedo come sia) allora qual è il problema?
Alcuni termini ben digitati che non contengono call / cc non hanno moduli normali? C'è qualche altra proprietà di tali espressioni che li rende sospetti? C'è qualche motivo noto per cui un costruttivista non dovrebbe gradire call / cc?