Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Information and Computation - Semantics of Data Types
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
A type system for certified binaries
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Definition of Standard ML
Guarded recursive datatype constructors
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependent Types for Program Termination Verification
Higher-Order and Symbolic Computation
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Inductive Definitions in the system Coq - Rules and Properties
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Dependent Types for Program Termination Verification
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Journal of Functional Programming
Faking it Simulating dependent types in Haskell
Journal of Functional Programming
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A language-based approach to functionally correct imperative programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Combining higher-order abstract syntax with first-order abstract syntax in ATS
Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Roadmap for enhanced languages and methods to aid verification
Proceedings of the 5th international conference on Generative programming and component engineering
Dependent ML An approach to practical programming with dependent types
Journal of Functional Programming
Concoqtion: indexed types now!
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Formalization of Strong Normalization for Simply-Typed Lambda-Calculus and System F
Electronic Notes in Theoretical Computer Science (ENTCS)
Type-level Computation Using Narrowing in Ωmega
Electronic Notes in Theoretical Computer Science (ENTCS)
Language-Based Program Verification via Expressive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Constructive Membership Predicates as Index Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Position Paper: Thoughts on Programming with Proof Assistants
Electronic Notes in Theoretical Computer Science (ENTCS)
Refined typechecking with Stardust
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
Type checking with open type functions
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Enhancing Program Verification with Lemmas
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
A Hoare Logic for Call-by-Value Functional Programs
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Central European Functional Programming School
Proceedings of the 3rd workshop on Programming languages meets program verification
Proceedings of the 3rd workshop on Programming languages meets program verification
Towards type-theoretic semantics for transactional concurrency
Proceedings of the 4th international workshop on Types in language design and implementation
Modular development of certified program verifiers with a proof assistant1,2
Journal of Functional Programming
Hoare type theory, polymorphism and separation1
Journal of Functional Programming
Effective interactive proofs for higher-order imperative programs
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Proving program properties specified with subtype marks
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Automated verification of shape and size properties via separation logic
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
The nuggetizer: abstracting away higher-orderness for program verification
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Attributive types for proof erasure
TYPES'07 Proceedings of the 2007 international conference on Types for proofs and programs
Erasure and polymorphism in pure type systems
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
The implicit calculus of constructions as a programming language with dependent types
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Ur: statically-typed metaprogramming with type-level record computation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
VeriML: typed computation of logical terms inside a language with effects
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A modality for safe resource sharing and code reentrancy
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
A framework for extended algebraic data types
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Programming with binders and indexed data-types
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
On the strength of proof-irrelevant type theories
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
System description: ATS: a language that combines programming with theorem proving
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Linear regions are all you need
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Science of Computer Programming
Dependently typed programming with singletons
Proceedings of the 2012 Haskell Symposium
Type-specialized staged programming with process separation
Higher-Order and Symbolic Computation
Linear dependent types for differential privacy
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Rely-guarantee references for refinement types over aliased mutable data
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
A linear type system for multicore programming in ATS
Science of Computer Programming
Sensitivity analysis using type-based constraints
Proceedings of the 1st annual workshop on Functional programming concepts in domain-specific languages
Combining proofs and programs in a dependently typed language
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
EsseOS: Haskell-based tailored services for the cloud
Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware
Hi-index | 0.00 |
Applied Type System (ATS) is recently proposed as a framework for designing and formalizing (advanced) type systems in support of practical programming. In ATS, the definition of type equality involves a constraint relation, which may or may not be algorithmically decidable. To support practical programming, we adopted a design in the past that imposes certain restrictions on the syntactic form of constraints so that some effective means can be found for solving constraints automatically. Evidently, this is a rather em ad hoc design in its nature. In this design, which we claim to be both novel and practical. Instead of imposing syntactical restrictions on constraints, we provide a means for the programmer to construct proofs that attest to the validity of constraints. In particular, we are to accommodate a programming paradigm that enables the programmer to combine programming with theorem proving. Also we present some concrete examples in support of the practicality of this design.