Start! ATS programming

Kiwamu Okabe
Kiwamu OkabeSoftware Engineer at SELTECH CORPORATION
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
1 of 15

Recommended

Metasepi team meeting #14: ATS programming on MCU by
Metasepi team meeting #14: ATS programming on MCUMetasepi team meeting #14: ATS programming on MCU
Metasepi team meeting #14: ATS programming on MCUKiwamu Okabe
15.2K views22 slides
Metasepi team meeting #16: Safety on ATS language + MCU by
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
15K views33 slides
Metasepi team meeting #20: Start! ATS programming on MCU by
Metasepi team meeting #20: Start! ATS programming on MCUMetasepi team meeting #20: Start! ATS programming on MCU
Metasepi team meeting #20: Start! ATS programming on MCUKiwamu Okabe
14.8K views32 slides
ATS Programming Tutorial by
ATS Programming TutorialATS Programming Tutorial
ATS Programming TutorialKiwamu Okabe
15.3K views30 slides
Hands-on VeriFast with STM32 microcontroller by
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerKiwamu Okabe
1.6K views36 slides
Real-time OS system state captured by ATS language by
Real-time OS system state captured by ATS languageReal-time OS system state captured by ATS language
Real-time OS system state captured by ATS languageKiwamu Okabe
7.1K views23 slides

More Related Content

What's hot

Static typing and proof in ATS language by
Static typing and proof in ATS languageStatic typing and proof in ATS language
Static typing and proof in ATS languageKiwamu Okabe
11K views20 slides
ATS programming on ESP8266 by
ATS programming on ESP8266ATS programming on ESP8266
ATS programming on ESP8266Kiwamu Okabe
8.5K views10 slides
Embedded application designed by ATS language by
Embedded application designed by ATS languageEmbedded application designed by ATS language
Embedded application designed by ATS languageKiwamu Okabe
5.6K views32 slides
Functional IoT: Programming Language and OS by
Functional IoT: Programming Language and OSFunctional IoT: Programming Language and OS
Functional IoT: Programming Language and OSKiwamu Okabe
1.6K views41 slides
ATS/LF for Coq users by
ATS/LF for Coq usersATS/LF for Coq users
ATS/LF for Coq usersKiwamu Okabe
13.6K views49 slides
Functional IoT: Introduction by
Functional IoT: IntroductionFunctional IoT: Introduction
Functional IoT: IntroductionKiwamu Okabe
1.4K views16 slides

What's hot(20)

Static typing and proof in ATS language by Kiwamu Okabe
Static typing and proof in ATS languageStatic typing and proof in ATS language
Static typing and proof in ATS language
Kiwamu Okabe11K views
ATS programming on ESP8266 by Kiwamu Okabe
ATS programming on ESP8266ATS programming on ESP8266
ATS programming on ESP8266
Kiwamu Okabe8.5K views
Embedded application designed by ATS language by Kiwamu Okabe
Embedded application designed by ATS languageEmbedded application designed by ATS language
Embedded application designed by ATS language
Kiwamu Okabe5.6K views
Functional IoT: Programming Language and OS by Kiwamu Okabe
Functional IoT: Programming Language and OSFunctional IoT: Programming Language and OS
Functional IoT: Programming Language and OS
Kiwamu Okabe1.6K views
ATS/LF for Coq users by Kiwamu Okabe
ATS/LF for Coq usersATS/LF for Coq users
ATS/LF for Coq users
Kiwamu Okabe13.6K views
Functional IoT: Introduction by Kiwamu Okabe
Functional IoT: IntroductionFunctional IoT: Introduction
Functional IoT: Introduction
Kiwamu Okabe1.4K views
Metasepi team meeting #19: ATS application on Arduino by Kiwamu Okabe
Metasepi team meeting #19: ATS application on ArduinoMetasepi team meeting #19: ATS application on Arduino
Metasepi team meeting #19: ATS application on Arduino
Kiwamu Okabe16.2K views
ATS2 updates 2017 by Kiwamu Okabe
ATS2 updates 2017ATS2 updates 2017
ATS2 updates 2017
Kiwamu Okabe4.6K views
Metasepi team meeting #17: Invariant captured by ATS's API by Kiwamu Okabe
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
Kiwamu Okabe15.1K views
Past and today of Metasepi project by Kiwamu Okabe
Past and today of Metasepi projectPast and today of Metasepi project
Past and today of Metasepi project
Kiwamu Okabe666 views
Emacs verilog-mode is coming to Debian, again by Kiwamu Okabe
Emacs verilog-mode is coming to Debian, againEmacs verilog-mode is coming to Debian, again
Emacs verilog-mode is coming to Debian, again
Kiwamu Okabe1K views
2009 Eclipse Con by guest29922
2009 Eclipse Con2009 Eclipse Con
2009 Eclipse Con
guest29922444 views
Let's contribute, HTML5Rocks/ko! by Chang W. Doh
Let's contribute, HTML5Rocks/ko!Let's contribute, HTML5Rocks/ko!
Let's contribute, HTML5Rocks/ko!
Chang W. Doh502 views
Ajhc Haskell Compiler with Reentrant GC by Kiwamu Okabe
Ajhc Haskell Compiler with Reentrant GCAjhc Haskell Compiler with Reentrant GC
Ajhc Haskell Compiler with Reentrant GC
Kiwamu Okabe2.8K views
Monkey-patching in Python: a magic trick or a powerful tool? by Elizaveta Shashkova
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 Shashkova8.7K views
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLON by Outlyer
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLONGareth Rushgrove (Puppet) - Ubiquity at #DOXLON
Gareth Rushgrove (Puppet) - Ubiquity at #DOXLON
Outlyer1.6K views
A Modest Introduction to Swift by John Anderson
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to Swift
John Anderson341 views
Puppet and Software Delivery by Julien Pivotto
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software Delivery
Julien Pivotto2.2K views
Managing a R&D Lab with Foreman by Julien Pivotto
Managing a R&D Lab with ForemanManaging a R&D Lab with Foreman
Managing a R&D Lab with Foreman
Julien Pivotto1K views

Similar to Start! ATS programming

Free The Enterprise With Ruby & Master Your Own Domain by
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 DomainKen Collins
641 views117 slides
Origins of Serverless by
Origins of ServerlessOrigins of Serverless
Origins of ServerlessAndrii Soldatenko
361 views77 slides
Try! Swift Tokyo2017 by
Try! Swift Tokyo2017Try! Swift Tokyo2017
Try! Swift Tokyo2017Amy Cheong
211 views54 slides
Ruby - The Hard Bits by
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard BitsPaul Gallagher
8.6K views52 slides
Automate Yo' Self by
Automate Yo' SelfAutomate Yo' Self
Automate Yo' SelfJohn Anderson
999 views122 slides
Prototyping: Helping to take away the suck by
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suckHarvard Web Working Group
1.6K views67 slides

Similar to Start! ATS programming(20)

Free The Enterprise With Ruby & Master Your Own Domain by Ken Collins
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
Ken Collins641 views
Try! Swift Tokyo2017 by Amy Cheong
Try! Swift Tokyo2017Try! Swift Tokyo2017
Try! Swift Tokyo2017
Amy Cheong211 views
Ratpack - Classy and Compact Groovy Web Apps by James Williams
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
James Williams4.2K views
Achieving Technical Excellence in Your Software Teams - from Devternity by Peter Gfader
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
Peter Gfader660 views
Cucumber Presentation Kiev Meet Up by dimakovalenko
Cucumber Presentation Kiev Meet UpCucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet Up
dimakovalenko585 views
Selenium and Cucumber Selenium Conf 2011 by dimakovalenko
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
dimakovalenko2.2K views
Metasepi team meeting: Ajhc Project Overview by Kiwamu Okabe
Metasepi team meeting: Ajhc Project OverviewMetasepi team meeting: Ajhc Project Overview
Metasepi team meeting: Ajhc Project Overview
Kiwamu Okabe2.8K views
SaaS Boilerplate.pptx by DuyKhi8
SaaS Boilerplate.pptxSaaS Boilerplate.pptx
SaaS Boilerplate.pptx
DuyKhi87 views
Safer IoT using functional language by Kiwamu Okabe
Safer IoT using functional languageSafer IoT using functional language
Safer IoT using functional language
Kiwamu Okabe2.4K views
Artem Denysov "Easy ways to speed up your web application" by OdessaJS Conf
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"
OdessaJS Conf205 views
The Power of Python :: How It Can Help With Technical SEO | Bristol SEO May 2... by Ruth Everett
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...
Ruth Everett4.9K views
Tackling Python: What is it and how can it help with Technical SEO? by BristolSEO
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?
BristolSEO293 views
Hands-on VeriFast with STM32 microcontroller @ Nagoya by Kiwamu Okabe
Hands-on VeriFast with STM32 microcontroller @ NagoyaHands-on VeriFast with STM32 microcontroller @ Nagoya
Hands-on VeriFast with STM32 microcontroller @ Nagoya
Kiwamu Okabe709 views

Recently uploaded

Future of Learning - Khoong Chan Meng by
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengNUS-ISS
31 views7 slides
The Importance of Cybersecurity for Digital Transformation by
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationNUS-ISS
25 views26 slides
Combining Orchestration and Choreography for a Clean Architecture by
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean ArchitectureThomasHeinrichs1
68 views24 slides
MemVerge: Memory Viewer Software by
MemVerge: Memory Viewer SoftwareMemVerge: Memory Viewer Software
MemVerge: Memory Viewer SoftwareCXL Forum
118 views10 slides
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...NUS-ISS
23 views70 slides
The Research Portal of Catalonia: Growing more (information) & more (services) by
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
66 views25 slides

Recently uploaded(20)

Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS31 views
The Importance of Cybersecurity for Digital Transformation by NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS25 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs168 views
MemVerge: Memory Viewer Software by CXL Forum
MemVerge: Memory Viewer SoftwareMemVerge: Memory Viewer Software
MemVerge: Memory Viewer Software
CXL Forum118 views
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by NUS-ISS
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
NUS-ISS23 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi113 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada119 views
Micron CXL product and architecture update by CXL Forum
Micron CXL product and architecture updateMicron CXL product and architecture update
Micron CXL product and architecture update
CXL Forum27 views
CXL at OCP by CXL Forum
CXL at OCPCXL at OCP
CXL at OCP
CXL Forum208 views
.conf Go 2023 - Data analysis as a routine by Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk90 views
[2023] Putting the R! in R&D.pdf by Eleanor McHugh
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh38 views
AMD: 4th Generation EPYC CXL Demo by CXL Forum
AMD: 4th Generation EPYC CXL DemoAMD: 4th Generation EPYC CXL Demo
AMD: 4th Generation EPYC CXL Demo
CXL Forum126 views
TE Connectivity: Card Edge Interconnects by CXL Forum
TE Connectivity: Card Edge InterconnectsTE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge Interconnects
CXL Forum96 views
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi by Fwdays
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
Fwdays26 views
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure by CXL Forum
Astera Labs:  Intelligent Connectivity for Cloud and AI InfrastructureAstera Labs:  Intelligent Connectivity for Cloud and AI Infrastructure
Astera Labs: Intelligent Connectivity for Cloud and AI Infrastructure
CXL Forum125 views
Photowave Presentation Slides - 11.8.23.pptx by CXL Forum
Photowave Presentation Slides - 11.8.23.pptxPhotowave Presentation Slides - 11.8.23.pptx
Photowave Presentation Slides - 11.8.23.pptx
CXL Forum126 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10165 views
Liqid: Composable CXL Preview by CXL Forum
Liqid: Composable CXL PreviewLiqid: Composable CXL Preview
Liqid: Composable CXL Preview
CXL Forum121 views

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