MétaCan
Menu
Retour à la cohorte
Enregistrement W2296691843 · doi:10.1145/3290322

Sound and complete bidirectional typechecking for higher-rank polymorphism with existentials and indexed types

2019· preprint· en· W2296691843 sur OpenAlexaff
Neelakantan R. Krishnaswami

Notice bibliographique

RevueProceedings of the ACM on Programming Languages · 2019
Typepreprint
Langueen
DomaineComputer Science
ThématiqueLogic, programming, and type systems
Établissements canadiensQueen's University
Organismes subventionnairesEngineering and Physical Sciences Research Council
Mots-clésComputer scienceProgramming languageType inferenceType theoryDependent typeHaskellSoundnessMathematical proofSubtypingCombinatory logicScalaType (biology)Theoretical computer scienceLambda calculusInferenceFunctional programmingMathematicsArtificial intelligenceJava

Résumé

récupéré en direct d'OpenAlex

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to indexed types (generalized algebraic datatypes) are less clear. Building on proof-theoretic treatments of equality, we give a declarative specification of typing based on focalization. This approach permits declarative rules for coverage of pattern matching, as well as support for first-class existential types using a focalized subtyping judgment. We use refinement types to avoid explicitly passing equality proofs in our term syntax, making our calculus similar to languages such as Haskell and OCaml. We also extend the declarative specification with an explicit rules for deducing when a type is principal, permitting us to give a complete declarative specification for a rich type system with significant type inference. We also give a set of algorithmic typing rules, and prove that it is sound and complete with respect to the declarative system. The proof requires a number of technical innovations, including proving soundness and completeness in a mutually recursive fashion.

Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.

Comment cette classification a été obtenuedéplier

Prédiction machine sur la base complète

Imitation des enseignants

Ni prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.

score de la tête « metaresearch » (Codex)0,013
score de la tête « metaresearch » (Gemma)0,026
Version: metacan-v3-hybrid-931329e0061cStatut de validation: machine_predicted_unvalidated
Catégories candidatesaucune
Catégories consensuellesaucune
DomaineSignal candidat: aucune · Signal consensuel: aucune
Devis d'étudeSignal candidat: Théorique ou conceptuel · Signal consensuel: Théorique ou conceptuel
GenreSignal candidat: Méthodes · Signal consensuel: Méthodes
Score de désaccord entre enseignants0,013
Score d'incertitude au seuil0,069

Scores du classifieur distillé par catégorie (deux têtes)

CatégorieCodexGemma
Métarecherche0,0130,026
Méta-épidémiologie (sens strict)0,0010,002
Méta-épidémiologie (sens large)0,0020,005
Bibliométrie0,0020,002
Études des sciences et des technologies0,0020,005
Communication savante0,0050,009
Science ouverte0,0040,008
Intégrité de la recherche0,0020,005
Charge utile insuffisante (le modèle a refusé de juger)0,0040,002

Scores machine (provisoires)

Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.

Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.

Tête enseignante Opus0,041
Tête enseignante GPT0,277
Écart entre enseignants0,236 · la distance entre les deux têtes enseignantes sur ce seul travail
Statut de validationscore_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découle

Classification

machine, non validée

Prédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.

Les modèles n’ont appliqué aucune catégorie : rien dans la taxonomie ne correspondait à ce travail.
Devis d'étudeThéorique ou conceptuel
Domainenon disponible
GenreMéthodes

Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».

En bref

Citations3
Publié2019
Routes d'admission1
Résumé présentoui

Explorer davantage

Même revueProceedings of the ACM on Programming LanguagesMême sujetLogic, programming, and type systemsTravaux en français237 207