The document discusses Coq and Gallina, the language used for formal proofs in Coq. It provides examples of proof goals, such as proving that reversing a list twice returns the original list, and that decoding and encoding with base64 returns the original string. It also lists several Coq-based projects, including CompCert for formally verified C code generation, and links to learning resources for Coq.
This document contains definitions and proofs about natural numbers, functions, and theorems in Coq. It defines natural numbers as inductive types, defines addition as a recursive function, and proves theorems like 1+1=2. It also contains definitions for monads and proofs about monad bind being associative in Coq.
Metasepi team meeting #19: ATS application on ArduinoKiwamu Okabe
* [0] ATS application demo
* [1] What is Metasepi?
* [2] How to create Metasepi?
* [3] What is ATS language?
* [4] Let's read the demo code
* [5] Japan ATS User Group
This document discusses programming the ESP8266 microcontroller using the ATS programming language. It provides information on the ESP8266 module, the ATS language which features dependent types and linear types, and demonstrates examples of ATS interfaces and applications for GPIO control and blinking an LED. Code examples are referenced from a GitHub repository. The document also mentions an upcoming functional IoT meetup in December to discuss this topic further.
The document discusses the ATS programming language as a safer alternative to C for systems programming. ATS includes features like dependent types, linear types, and optional garbage collection that could help prevent bugs like Heartbleed. Examples show implementing FizzBuzz in both Standard ML and ATS. The ATS code compiles to C and can run on bare metal without an operating system.
Metasepi team meeting #17: Invariant captured by ATS's APIKiwamu Okabe
The document summarizes a team meeting discussion about using the ATS programming language. Key points include:
- ATS is a safer systems programming language than C due to features like dependent and linear types that can enforce invariants.
- Linear types in ATS manage memory like resources to help prevent bugs.
- Examples are provided showing how ATS type checking detects errors like using freed variables or accessing out of bounds indices.
- An overview of linear list functions in ATS like make_pair, append, get_at, reverse, and free is given.
Embedded application designed by ATS languageKiwamu Okabe
The document discusses using the ATS programming language for embedded applications. It notes that ATS features dependent types, linear types, and optional garbage collection, which could prevent bugs like Heartbleed. The document demonstrates ATS applications running on ESP8266 and Arduino hardware and notes the type of errors ATS is able to capture during compilation. It outlines an agenda to cover ATS language basics, proofs, linear types, comparisons to other languages, and conclusions.
The document discusses the ATS programming language. ATS is presented as a safer alternative to C for systems programming due to its use of dependent types, linear types, and optional garbage collection. It can be compiled to run without a runtime on baremetal systems like an Arduino. The author is looking to spread awareness and use of ATS in Japan by starting a user group and showcasing its use for functional IoT programming.
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
This document summarizes the key topics from meeting #16 of the Metasepi team:
1. The meeting discussed using the ATS programming language for developing Metasepi, an operating system designed with strong typing.
2. A demonstration showed running ATS code on an Arduino and mbed microcontroller platform.
3. ATS is a strongly typed language like ML that uses dependent types, linear types, and optional garbage collection to promote safe systems programming without runtime errors.