SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Start! ATS programming'Start! ATS programming'Start! ATS programming'Start! ATS programming'Start! ATS programming'
Kiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi Project
Who am I?Who am I?Who am I?Who am I?Who am I?
☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/
☆ Self employed software engineer☆ Self employed software engineer☆ Self employed software engineer☆ Self employed software engineer☆ Self employed software engineer
☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN
☆ Founder of Metasepi Project☆ Founder of Metasepi Project☆ Founder of Metasepi Project☆ Founder of Metasepi Project☆ Founder of Metasepi Project
☆ A Debian Maintainer☆ A Debian Maintainer☆ A Debian Maintainer☆ A Debian Maintainer☆ A Debian Maintainer
☆ 10 years' experience in developing
OS using NetBSD
☆ 10 years' experience in developing
OS using NetBSD
☆ 10 years' experience in developing
OS using NetBSD
☆ 10 years' experience in developing
OS using NetBSD
☆ 10 years' experience in developing
OS using NetBSD
Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?
Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?
== In English ==
"Preventing heartbleed bugs with safe programming languages"
http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-
with-safe-languages.html
== In Japanease ==
"安全なプログラミング言語を使って heartbleed を防ぐには"
https://github.com/jats-ug/translate/blob/master/Web/
bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-
languages.md
== In English ==
"Preventing heartbleed bugs with safe programming languages"
http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-
with-safe-languages.html
== In Japanease ==
"安全なプログラミング言語を使って heartbleed を防ぐには"
https://github.com/jats-ug/translate/blob/master/Web/
bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-
languages.md
== In English ==
"Preventing heartbleed bugs with safe programming languages"
http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-
with-safe-languages.html
== In Japanease ==
"安全なプログラミング言語を使って heartbleed を防ぐには"
https://github.com/jats-ug/translate/blob/master/Web/
bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-
languages.md
== In English ==
"Preventing heartbleed bugs with safe programming languages"
http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-
with-safe-languages.html
== In Japanease ==
"安全なプログラミング言語を使って heartbleed を防ぐには"
https://github.com/jats-ug/translate/blob/master/Web/
bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-
languages.md
== In English ==
"Preventing heartbleed bugs with safe programming languages"
http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-
with-safe-languages.html
== In Japanease ==
"安全なプログラミング言語を使って heartbleed を防ぐには"
https://github.com/jats-ug/translate/blob/master/Web/
bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-
languages.md
"A safer systems programming language
could have prevented the bug."
"A safer systems programming language
could have prevented the bug."
"A safer systems programming language
could have prevented the bug."
"A safer systems programming language
could have prevented the bug."
"A safer systems programming language
could have prevented the bug."
Want the safer language...Want the safer language...Want the safer language...Want the safer language...Want the safer language...
It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !
☆ Syntax like ML☆ Syntax like ML☆ Syntax like ML☆ Syntax like ML☆ Syntax like ML
☆ Dependent types☆ Dependent types☆ Dependent types☆ Dependent types☆ Dependent types
☆ Linear types☆ Linear types☆ Linear types☆ Linear types☆ Linear types
☆ Without any runtime☆ Without any runtime☆ Without any runtime☆ Without any runtime☆ Without any runtime
☆ Optional GC☆ Optional GC☆ Optional GC☆ Optional GC☆ Optional GC
Demo on BareMetal ArduinoDemo on BareMetal ArduinoDemo on BareMetal ArduinoDemo on BareMetal ArduinoDemo on BareMetal Arduino
https://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-ats
Demo using RTOS threadsDemo using RTOS threadsDemo using RTOS threadsDemo using RTOS threadsDemo using RTOS threads
https://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-ats
Where ATS lives in?Where ATS lives in?Where ATS lives in?Where ATS lives in?Where ATS lives in?
Compile flowCompile flowCompile flowCompile flowCompile flow
BareMetal demo source code #1BareMetal demo source code #1BareMetal demo source code #1BareMetal demo source code #1BareMetal demo source code #1
https://github.com/fpiot/arduino-mega2560-ats/blob/master/
blink_ats/main.dats
https://github.com/fpiot/arduino-mega2560-ats/blob/master/
blink_ats/main.dats
https://github.com/fpiot/arduino-mega2560-ats/blob/master/
blink_ats/main.dats
https://github.com/fpiot/arduino-mega2560-ats/blob/master/
blink_ats/main.dats
https://github.com/fpiot/arduino-mega2560-ats/blob/master/
blink_ats/main.dats
BareMetal demo source code #2BareMetal demo source code #2BareMetal demo source code #2BareMetal demo source code #2BareMetal demo source code #2
Disseminate ATS to JapanDisseminate ATS to JapanDisseminate ATS to JapanDisseminate ATS to JapanDisseminate ATS to Japan
☆ Trying! Trying!☆ Trying! Trying!☆ Trying! Trying!☆ Trying! Trying!☆ Trying! Trying!
Try1: Japan ATS User GroupTry1: Japan ATS User GroupTry1: Japan ATS User GroupTry1: Japan ATS User GroupTry1: Japan ATS User Group
http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/
☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/
☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese
☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!
Try2: Functional IoTTry2: Functional IoTTry2: Functional IoTTry2: Functional IoTTry2: Functional IoT
http://fpiot.metasepi.org/http://fpiot.metasepi.org/http://fpiot.metasepi.org/http://fpiot.metasepi.org/http://fpiot.metasepi.org/
☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on
☆ Functional programming on tiny chip☆ Functional programming on tiny chip☆ Functional programming on tiny chip☆ Functional programming on tiny chip☆ Functional programming on tiny chip
☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M
☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust
☆ Which language becomes the
champion for system programming?
☆ Which language becomes the
champion for system programming?
☆ Which language becomes the
champion for system programming?
☆ Which language becomes the
champion for system programming?
☆ Which language becomes the
champion for system programming?
Follow me!Follow me!Follow me!Follow me!Follow me!
License of photos used on slideLicense of photos used on slideLicense of photos used on slideLicense of photos used on slideLicense of photos used on slide
* Atmel AVR Butterfly (#4) | Flickr - Photo Sharing!
https://www.flickr.com/photos/41894183508@N01/35437253/
Copyright: 2005 Bill Bradford / License: CC By 2.0
* Dubai Wingsuit Flying Trip | Flickr - Photo Sharing!
https://www.flickr.com/photos/picturecorrect/7623578306
Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0
* salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing!
https://www.flickr.com/photos/daniloramosweb/3854330282
Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0
* File:Heartbleed.svg - Wikimedia Commons
http://commons.wikimedia.org/wiki/File:Heartbleed.svg
Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0
* Creative Commons BBB | Flickr - Photo Sharing!
https://www.flickr.com/photos/steren/2732488224
Copyright: 2008 Steren Giannini / License: CC BY 2.0
* Start Your Engines | Flickr - Photo Sharing!
https://www.flickr.com/photos/markwalker/3749673425
Copyright: 2009 Mark Walker / License: CC BY-SA 2.0
* Atmel AVR Butterfly (#4) | Flickr - Photo Sharing!
https://www.flickr.com/photos/41894183508@N01/35437253/
Copyright: 2005 Bill Bradford / License: CC By 2.0
* Dubai Wingsuit Flying Trip | Flickr - Photo Sharing!
https://www.flickr.com/photos/picturecorrect/7623578306
Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0
* salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing!
https://www.flickr.com/photos/daniloramosweb/3854330282
Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0
* File:Heartbleed.svg - Wikimedia Commons
http://commons.wikimedia.org/wiki/File:Heartbleed.svg
Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0
* Creative Commons BBB | Flickr - Photo Sharing!
https://www.flickr.com/photos/steren/2732488224
Copyright: 2008 Steren Giannini / License: CC BY 2.0
* Start Your Engines | Flickr - Photo Sharing!
https://www.flickr.com/photos/markwalker/3749673425
Copyright: 2009 Mark Walker / License: CC BY-SA 2.0
* Atmel AVR Butterfly (#4) | Flickr - Photo Sharing!
https://www.flickr.com/photos/41894183508@N01/35437253/
Copyright: 2005 Bill Bradford / License: CC By 2.0
* Dubai Wingsuit Flying Trip | Flickr - Photo Sharing!
https://www.flickr.com/photos/picturecorrect/7623578306
Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0
* salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing!
https://www.flickr.com/photos/daniloramosweb/3854330282
Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0
* File:Heartbleed.svg - Wikimedia Commons
http://commons.wikimedia.org/wiki/File:Heartbleed.svg
Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0
* Creative Commons BBB | Flickr - Photo Sharing!
https://www.flickr.com/photos/steren/2732488224
Copyright: 2008 Steren Giannini / License: CC BY 2.0
* Start Your Engines | Flickr - Photo Sharing!
https://www.flickr.com/photos/markwalker/3749673425
Copyright: 2009 Mark Walker / License: CC BY-SA 2.0
* Atmel AVR Butterfly (#4) | Flickr - Photo Sharing!
https://www.flickr.com/photos/41894183508@N01/35437253/
Copyright: 2005 Bill Bradford / License: CC By 2.0
* Dubai Wingsuit Flying Trip | Flickr - Photo Sharing!
https://www.flickr.com/photos/picturecorrect/7623578306
Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0
* salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing!
https://www.flickr.com/photos/daniloramosweb/3854330282
Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0
* File:Heartbleed.svg - Wikimedia Commons
http://commons.wikimedia.org/wiki/File:Heartbleed.svg
Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0
* Creative Commons BBB | Flickr - Photo Sharing!
https://www.flickr.com/photos/steren/2732488224
Copyright: 2008 Steren Giannini / License: CC BY 2.0
* Start Your Engines | Flickr - Photo Sharing!
https://www.flickr.com/photos/markwalker/3749673425
Copyright: 2009 Mark Walker / License: CC BY-SA 2.0
* Atmel AVR Butterfly (#4) | Flickr - Photo Sharing!
https://www.flickr.com/photos/41894183508@N01/35437253/
Copyright: 2005 Bill Bradford / License: CC By 2.0
* Dubai Wingsuit Flying Trip | Flickr - Photo Sharing!
https://www.flickr.com/photos/picturecorrect/7623578306
Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0
* salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing!
https://www.flickr.com/photos/daniloramosweb/3854330282
Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0
* File:Heartbleed.svg - Wikimedia Commons
http://commons.wikimedia.org/wiki/File:Heartbleed.svg
Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0
* Creative Commons BBB | Flickr - Photo Sharing!
https://www.flickr.com/photos/steren/2732488224
Copyright: 2008 Steren Giannini / License: CC BY 2.0
* Start Your Engines | Flickr - Photo Sharing!
https://www.flickr.com/photos/markwalker/3749673425
Copyright: 2009 Mark Walker / License: CC BY-SA 2.0

Mais conteúdo relacionado

Mais procurados

Ajhc Haskell Compiler with Reentrant GC
Ajhc Haskell Compiler with Reentrant GCAjhc Haskell Compiler with Reentrant GC
Ajhc Haskell Compiler with Reentrant GC
Kiwamu Okabe
 
Monkey-patching in Python: a magic trick or a powerful tool?
Monkey-patching in Python: a magic trick or a powerful tool?Monkey-patching in Python: a magic trick or a powerful tool?
Monkey-patching in Python: a magic trick or a powerful tool?
Elizaveta Shashkova
 

Mais procurados (20)

Static typing and proof in ATS language
Static typing and proof in ATS languageStatic typing and proof in ATS language
Static typing and proof in ATS language
 
ATS programming on ESP8266
ATS programming on ESP8266ATS programming on ESP8266
ATS programming on ESP8266
 
Embedded application designed by ATS language
Embedded application designed by ATS languageEmbedded application designed by ATS language
Embedded application designed by ATS language
 
Functional IoT: Programming Language and OS
Functional IoT: Programming Language and OSFunctional IoT: Programming Language and OS
Functional IoT: Programming Language and OS
 
ATS/LF for Coq users
ATS/LF for Coq usersATS/LF for Coq users
ATS/LF for Coq users
 
Functional IoT: Introduction
Functional IoT: IntroductionFunctional IoT: Introduction
Functional IoT: Introduction
 
Metasepi team meeting #19: ATS application on Arduino
Metasepi team meeting #19: ATS application on ArduinoMetasepi team meeting #19: ATS application on Arduino
Metasepi team meeting #19: ATS application on Arduino
 
ATS2 updates 2017
ATS2 updates 2017ATS2 updates 2017
ATS2 updates 2017
 
Metasepi team meeting #17: Invariant captured by ATS's API
Metasepi team meeting #17: Invariant captured by ATS's APIMetasepi team meeting #17: Invariant captured by ATS's API
Metasepi team meeting #17: Invariant captured by ATS's API
 
Past and today of Metasepi project
Past and today of Metasepi projectPast and today of Metasepi project
Past and today of Metasepi project
 
Emacs verilog-mode is coming to Debian, again
Emacs verilog-mode is coming to Debian, againEmacs verilog-mode is coming to Debian, again
Emacs verilog-mode is coming to Debian, again
 
2009 Eclipse Con
2009 Eclipse Con2009 Eclipse Con
2009 Eclipse Con
 
Let's contribute, HTML5Rocks/ko!
Let's contribute, HTML5Rocks/ko!Let's contribute, HTML5Rocks/ko!
Let's contribute, HTML5Rocks/ko!
 
Ajhc Haskell Compiler with Reentrant GC
Ajhc Haskell Compiler with Reentrant GCAjhc Haskell Compiler with Reentrant GC
Ajhc Haskell Compiler with Reentrant GC
 
Monkey-patching in Python: a magic trick or a powerful tool?
Monkey-patching in Python: a magic trick or a powerful tool?Monkey-patching in Python: a magic trick or a powerful tool?
Monkey-patching in Python: a magic trick or a powerful tool?
 
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLON
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLONGareth Rushgrove (Puppet) - Ubiquity at #DOXLON
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLON
 
A Modest Introduction to Swift
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to Swift
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software Delivery
 
Managing a R&D Lab with Foreman
Managing a R&D Lab with ForemanManaging a R&D Lab with Foreman
Managing a R&D Lab with Foreman
 
Javascript on Arduino
Javascript on ArduinoJavascript on Arduino
Javascript on Arduino
 

Semelhante a Start! ATS programming

Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
James Williams
 
Cucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet UpCucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet Up
dimakovalenko
 

Semelhante a Start! ATS programming (20)

Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
 
Origins of Serverless
Origins of ServerlessOrigins of Serverless
Origins of Serverless
 
Try! Swift Tokyo2017
Try! Swift Tokyo2017Try! Swift Tokyo2017
Try! Swift Tokyo2017
 
Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
Automate Yo' Self
Automate Yo' SelfAutomate Yo' Self
Automate Yo' Self
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
 
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
 
Cucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet UpCucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet Up
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
 
Metasepi team meeting: Ajhc Project Overview
Metasepi team meeting: Ajhc Project OverviewMetasepi team meeting: Ajhc Project Overview
Metasepi team meeting: Ajhc Project Overview
 
SaaS Boilerplate.pptx
SaaS Boilerplate.pptxSaaS Boilerplate.pptx
SaaS Boilerplate.pptx
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnostic
 
Building serverless-applications
Building serverless-applicationsBuilding serverless-applications
Building serverless-applications
 
Driving development in PHP
Driving development in PHPDriving development in PHP
Driving development in PHP
 
Safer IoT using functional language
Safer IoT using functional languageSafer IoT using functional language
Safer IoT using functional language
 
Artem Denysov "Easy ways to speed up your web application"
Artem Denysov "Easy ways to speed up your web application"Artem Denysov "Easy ways to speed up your web application"
Artem Denysov "Easy ways to speed up your web application"
 
Makefiles in 2020 — Why they still matter
Makefiles in 2020 — Why they still matterMakefiles in 2020 — Why they still matter
Makefiles in 2020 — Why they still matter
 
Tackling Python: What is it and how can it help with Technical SEO?
Tackling Python: What is it and how can it help with Technical SEO?Tackling Python: What is it and how can it help with Technical SEO?
Tackling Python: What is it and how can it help with Technical SEO?
 
The Power of Python :: How It Can Help With Technical SEO | Bristol SEO May 2...
The Power of Python :: How It Can Help With Technical SEO | Bristol SEO May 2...The Power of Python :: How It Can Help With Technical SEO | Bristol SEO May 2...
The Power of Python :: How It Can Help With Technical SEO | Bristol SEO May 2...
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Start! ATS programming

  • 1. Start! ATS programming'Start! ATS programming'Start! ATS programming'Start! ATS programming'Start! ATS programming' Kiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi Project
  • 2. Who am I?Who am I?Who am I?Who am I?Who am I? ☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/ ☆ Self employed software engineer☆ Self employed software engineer☆ Self employed software engineer☆ Self employed software engineer☆ Self employed software engineer ☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN☆ Trade name := METASEPI DESIGN ☆ Founder of Metasepi Project☆ Founder of Metasepi Project☆ Founder of Metasepi Project☆ Founder of Metasepi Project☆ Founder of Metasepi Project ☆ A Debian Maintainer☆ A Debian Maintainer☆ A Debian Maintainer☆ A Debian Maintainer☆ A Debian Maintainer ☆ 10 years' experience in developing OS using NetBSD ☆ 10 years' experience in developing OS using NetBSD ☆ 10 years' experience in developing OS using NetBSD ☆ 10 years' experience in developing OS using NetBSD ☆ 10 years' experience in developing OS using NetBSD
  • 3. Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug? Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?Should we use safer language than C? == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == "安全なプログラミング言語を使って heartbleed を防ぐには" https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == "安全なプログラミング言語を使って heartbleed を防ぐには" https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == "安全なプログラミング言語を使って heartbleed を防ぐには" https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == "安全なプログラミング言語を使って heartbleed を防ぐには" https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == "安全なプログラミング言語を使って heartbleed を防ぐには" https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug."
  • 4. Want the safer language...Want the safer language...Want the safer language...Want the safer language...Want the safer language... It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ !It's the ATS http://www.ats-lang.org/ ! ☆ Syntax like ML☆ Syntax like ML☆ Syntax like ML☆ Syntax like ML☆ Syntax like ML ☆ Dependent types☆ Dependent types☆ Dependent types☆ Dependent types☆ Dependent types ☆ Linear types☆ Linear types☆ Linear types☆ Linear types☆ Linear types ☆ Without any runtime☆ Without any runtime☆ Without any runtime☆ Without any runtime☆ Without any runtime ☆ Optional GC☆ Optional GC☆ Optional GC☆ Optional GC☆ Optional GC
  • 5. Demo on BareMetal ArduinoDemo on BareMetal ArduinoDemo on BareMetal ArduinoDemo on BareMetal ArduinoDemo on BareMetal Arduino https://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-atshttps://github.com/fpiot/arduino-mega2560-ats
  • 6. Demo using RTOS threadsDemo using RTOS threadsDemo using RTOS threadsDemo using RTOS threadsDemo using RTOS threads https://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-atshttps://github.com/fpiot/chibios-ats
  • 7. Where ATS lives in?Where ATS lives in?Where ATS lives in?Where ATS lives in?Where ATS lives in?
  • 8. Compile flowCompile flowCompile flowCompile flowCompile flow
  • 9. BareMetal demo source code #1BareMetal demo source code #1BareMetal demo source code #1BareMetal demo source code #1BareMetal demo source code #1 https://github.com/fpiot/arduino-mega2560-ats/blob/master/ blink_ats/main.dats https://github.com/fpiot/arduino-mega2560-ats/blob/master/ blink_ats/main.dats https://github.com/fpiot/arduino-mega2560-ats/blob/master/ blink_ats/main.dats https://github.com/fpiot/arduino-mega2560-ats/blob/master/ blink_ats/main.dats https://github.com/fpiot/arduino-mega2560-ats/blob/master/ blink_ats/main.dats
  • 10. BareMetal demo source code #2BareMetal demo source code #2BareMetal demo source code #2BareMetal demo source code #2BareMetal demo source code #2
  • 11. Disseminate ATS to JapanDisseminate ATS to JapanDisseminate ATS to JapanDisseminate ATS to JapanDisseminate ATS to Japan ☆ Trying! Trying!☆ Trying! Trying!☆ Trying! Trying!☆ Trying! Trying!☆ Trying! Trying!
  • 12. Try1: Japan ATS User GroupTry1: Japan ATS User GroupTry1: Japan ATS User GroupTry1: Japan ATS User GroupTry1: Japan ATS User Group http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/http://jats-ug.metasepi.org/ ☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/☆ In a parody of http://jaws-ug.jp/ ☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese☆ Translate ATS docs into Japanese ☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!☆ Push the Facebook like button, now!
  • 13. Try2: Functional IoTTry2: Functional IoTTry2: Functional IoTTry2: Functional IoTTry2: Functional IoT http://fpiot.metasepi.org/http://fpiot.metasepi.org/http://fpiot.metasepi.org/http://fpiot.metasepi.org/http://fpiot.metasepi.org/ ☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on☆ Wrestling mat languages fight on ☆ Functional programming on tiny chip☆ Functional programming on tiny chip☆ Functional programming on tiny chip☆ Functional programming on tiny chip☆ Functional programming on tiny chip ☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M☆ Chip: AVR, MSP430, ARM Cortex-M ☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust☆ Language: Ajhc, ATS, Rust ☆ Which language becomes the champion for system programming? ☆ Which language becomes the champion for system programming? ☆ Which language becomes the champion for system programming? ☆ Which language becomes the champion for system programming? ☆ Which language becomes the champion for system programming?
  • 14. Follow me!Follow me!Follow me!Follow me!Follow me!
  • 15. License of photos used on slideLicense of photos used on slideLicense of photos used on slideLicense of photos used on slideLicense of photos used on slide * Atmel AVR Butterfly (#4) | Flickr - Photo Sharing! https://www.flickr.com/photos/41894183508@N01/35437253/ Copyright: 2005 Bill Bradford / License: CC By 2.0 * Dubai Wingsuit Flying Trip | Flickr - Photo Sharing! https://www.flickr.com/photos/picturecorrect/7623578306 Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0 * salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing! https://www.flickr.com/photos/daniloramosweb/3854330282 Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0 * File:Heartbleed.svg - Wikimedia Commons http://commons.wikimedia.org/wiki/File:Heartbleed.svg Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0 * Creative Commons BBB | Flickr - Photo Sharing! https://www.flickr.com/photos/steren/2732488224 Copyright: 2008 Steren Giannini / License: CC BY 2.0 * Start Your Engines | Flickr - Photo Sharing! https://www.flickr.com/photos/markwalker/3749673425 Copyright: 2009 Mark Walker / License: CC BY-SA 2.0 * Atmel AVR Butterfly (#4) | Flickr - Photo Sharing! https://www.flickr.com/photos/41894183508@N01/35437253/ Copyright: 2005 Bill Bradford / License: CC By 2.0 * Dubai Wingsuit Flying Trip | Flickr - Photo Sharing! https://www.flickr.com/photos/picturecorrect/7623578306 Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0 * salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing! https://www.flickr.com/photos/daniloramosweb/3854330282 Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0 * File:Heartbleed.svg - Wikimedia Commons http://commons.wikimedia.org/wiki/File:Heartbleed.svg Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0 * Creative Commons BBB | Flickr - Photo Sharing! https://www.flickr.com/photos/steren/2732488224 Copyright: 2008 Steren Giannini / License: CC BY 2.0 * Start Your Engines | Flickr - Photo Sharing! https://www.flickr.com/photos/markwalker/3749673425 Copyright: 2009 Mark Walker / License: CC BY-SA 2.0 * Atmel AVR Butterfly (#4) | Flickr - Photo Sharing! https://www.flickr.com/photos/41894183508@N01/35437253/ Copyright: 2005 Bill Bradford / License: CC By 2.0 * Dubai Wingsuit Flying Trip | Flickr - Photo Sharing! https://www.flickr.com/photos/picturecorrect/7623578306 Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0 * salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing! https://www.flickr.com/photos/daniloramosweb/3854330282 Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0 * File:Heartbleed.svg - Wikimedia Commons http://commons.wikimedia.org/wiki/File:Heartbleed.svg Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0 * Creative Commons BBB | Flickr - Photo Sharing! https://www.flickr.com/photos/steren/2732488224 Copyright: 2008 Steren Giannini / License: CC BY 2.0 * Start Your Engines | Flickr - Photo Sharing! https://www.flickr.com/photos/markwalker/3749673425 Copyright: 2009 Mark Walker / License: CC BY-SA 2.0 * Atmel AVR Butterfly (#4) | Flickr - Photo Sharing! https://www.flickr.com/photos/41894183508@N01/35437253/ Copyright: 2005 Bill Bradford / License: CC By 2.0 * Dubai Wingsuit Flying Trip | Flickr - Photo Sharing! https://www.flickr.com/photos/picturecorrect/7623578306 Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0 * salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing! https://www.flickr.com/photos/daniloramosweb/3854330282 Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0 * File:Heartbleed.svg - Wikimedia Commons http://commons.wikimedia.org/wiki/File:Heartbleed.svg Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0 * Creative Commons BBB | Flickr - Photo Sharing! https://www.flickr.com/photos/steren/2732488224 Copyright: 2008 Steren Giannini / License: CC BY 2.0 * Start Your Engines | Flickr - Photo Sharing! https://www.flickr.com/photos/markwalker/3749673425 Copyright: 2009 Mark Walker / License: CC BY-SA 2.0 * Atmel AVR Butterfly (#4) | Flickr - Photo Sharing! https://www.flickr.com/photos/41894183508@N01/35437253/ Copyright: 2005 Bill Bradford / License: CC By 2.0 * Dubai Wingsuit Flying Trip | Flickr - Photo Sharing! https://www.flickr.com/photos/picturecorrect/7623578306 Copyright: 2012 Richard Schneider / License: CC BY-NC 2.0 * salve-a-terra--twitter_4251_1280x800 | Flickr - Photo Sharing! https://www.flickr.com/photos/daniloramosweb/3854330282 Copyright: 2005 Danilo Ramos / License: CC BY-SA 2.0 * File:Heartbleed.svg - Wikimedia Commons http://commons.wikimedia.org/wiki/File:Heartbleed.svg Copyright: 2014 Leena Snidate, Codenomicon / License: CC0 1.0 * Creative Commons BBB | Flickr - Photo Sharing! https://www.flickr.com/photos/steren/2732488224 Copyright: 2008 Steren Giannini / License: CC BY 2.0 * Start Your Engines | Flickr - Photo Sharing! https://www.flickr.com/photos/markwalker/3749673425 Copyright: 2009 Mark Walker / License: CC BY-SA 2.0