Suche senden
Hochladen
PyParis2017 / Incremental computation in python, by Philip Schanely
•
0 gefällt mir
•
447 views
Pôle Systematic Paris-Region
Folgen
PyParis 2017 http://pyparis.org
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 54
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Stack push pop
Stack push pop
A. S. M. Shafi
Torchbearersnotebook.blogspot.com program to create a list in python and valu...
Torchbearersnotebook.blogspot.com program to create a list in python and valu...
SAKSHISINGH486
C programs pbq final
C programs pbq final
Azad public school
Data Structure and Algorithms Stacks
Data Structure and Algorithms Stacks
ManishPrajapati78
Scalaエンジニアのためのモナド入門
Scalaエンジニアのためのモナド入門
Takashi Imahiro
presentation-225new
presentation-225new
Najmul Hoq
Arrays in Data
Arrays in Data
Afzal Badshah
Progr2
Progr2
SANTOSH RATH
Weitere ähnliche Inhalte
Was ist angesagt?
Project of data structure
Project of data structure
Umme habiba
Taylor series part 1
Taylor series part 1
aydensmom
Hexadecimal to binary and binary to hexadecimal
Hexadecimal to binary and binary to hexadecimal
SRM Institute of Science & Technology, Tiruchirappalli
Luhn sh
Luhn sh
Ben Pope
Write a program that removes line numbers in a program listing. Here is a sam...
Write a program that removes line numbers in a program listing. Here is a sam...
hwbloom150
Stack1
Stack1
Iqrazb
Kotlin - Null safety
Kotlin - Null safety
ss90311
Hexa to binary
Hexa to binary
myrajendra
STACK ( LIFO STRUCTURE) - Data Structure
STACK ( LIFO STRUCTURE) - Data Structure
Yaksh Jethva
Was ist angesagt?
(9)
Project of data structure
Project of data structure
Taylor series part 1
Taylor series part 1
Hexadecimal to binary and binary to hexadecimal
Hexadecimal to binary and binary to hexadecimal
Luhn sh
Luhn sh
Write a program that removes line numbers in a program listing. Here is a sam...
Write a program that removes line numbers in a program listing. Here is a sam...
Stack1
Stack1
Kotlin - Null safety
Kotlin - Null safety
Hexa to binary
Hexa to binary
STACK ( LIFO STRUCTURE) - Data Structure
STACK ( LIFO STRUCTURE) - Data Structure
Ähnlich wie PyParis2017 / Incremental computation in python, by Philip Schanely
Types Working for You, Not Against You
Types Working for You, Not Against You
C4Media
Monads in python
Monads in python
eldariof
Shap
Shap
Giovanni Bruner
Pycon9 - Deep Learning from zero to hero
Pycon9 - Deep Learning from zero to hero
Gianluca Carucci
Data Handling.pdf
Data Handling.pdf
MILANOP1
Porque aprender haskell me fez um programador python melhor?
Porque aprender haskell me fez um programador python melhor?
UFPA
Introduction to Monads in Scala (1)
Introduction to Monads in Scala (1)
stasimus
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
DevClub_lv
Programming Languages and their influence in Thinking
Programming Languages and their influence in Thinking
Hernan Wilkinson
Introduction to R Short course Fall 2016
Introduction to R Short course Fall 2016
Spencer Fox
AI&ML Conference 2019 - Deep Learning from zero to hero
AI&ML Conference 2019 - Deep Learning from zero to hero
Gianluca Carucci
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)
Scott Wlaschin
Python slide
Python slide
Kiattisak Anoochitarom
Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)
Scott Wlaschin
CSE357 fa21 (6) Linear Machine Learning11-11.pdf
CSE357 fa21 (6) Linear Machine Learning11-11.pdf
NermeenKamel7
Avoiding to Reinvent the flat tire
Avoiding to Reinvent the flat tire
Hernan Wilkinson
A Map of the PyData Stack
A Map of the PyData Stack
Peadar Coyle
Empathic Programming - How to write comprehensible code
Empathic Programming - How to write comprehensible code
Mario Gleichmann
PyData Paris 2015 - Track 1.2 Gilles Louppe
PyData Paris 2015 - Track 1.2 Gilles Louppe
Pôle Systematic Paris-Region
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
Mail.ru Group
Ähnlich wie PyParis2017 / Incremental computation in python, by Philip Schanely
(20)
Types Working for You, Not Against You
Types Working for You, Not Against You
Monads in python
Monads in python
Shap
Shap
Pycon9 - Deep Learning from zero to hero
Pycon9 - Deep Learning from zero to hero
Data Handling.pdf
Data Handling.pdf
Porque aprender haskell me fez um programador python melhor?
Porque aprender haskell me fez um programador python melhor?
Introduction to Monads in Scala (1)
Introduction to Monads in Scala (1)
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
Programming Languages and their influence in Thinking
Programming Languages and their influence in Thinking
Introduction to R Short course Fall 2016
Introduction to R Short course Fall 2016
AI&ML Conference 2019 - Deep Learning from zero to hero
AI&ML Conference 2019 - Deep Learning from zero to hero
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)
Python slide
Python slide
Functional Design Patterns (DevTernity 2018)
Functional Design Patterns (DevTernity 2018)
CSE357 fa21 (6) Linear Machine Learning11-11.pdf
CSE357 fa21 (6) Linear Machine Learning11-11.pdf
Avoiding to Reinvent the flat tire
Avoiding to Reinvent the flat tire
A Map of the PyData Stack
A Map of the PyData Stack
Empathic Programming - How to write comprehensible code
Empathic Programming - How to write comprehensible code
PyData Paris 2015 - Track 1.2 Gilles Louppe
PyData Paris 2015 - Track 1.2 Gilles Louppe
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
Mehr von Pôle Systematic Paris-Region
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
Pôle Systematic Paris-Region
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
Pôle Systematic Paris-Region
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
Pôle Systematic Paris-Region
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
Pôle Systematic Paris-Region
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
Pôle Systematic Paris-Region
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
Pôle Systematic Paris-Region
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
Pôle Systematic Paris-Region
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Pôle Systematic Paris-Region
Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?
Pôle Systematic Paris-Region
Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin
Pôle Systematic Paris-Region
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Pôle Systematic Paris-Region
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Pôle Systematic Paris-Region
Osis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritage
Pôle Systematic Paris-Region
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
Pôle Systematic Paris-Region
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
Pôle Systematic Paris-Region
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
Pôle Systematic Paris-Region
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
Pôle Systematic Paris-Region
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
Pôle Systematic Paris-Region
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
Pôle Systematic Paris-Region
PyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelat
Pôle Systematic Paris-Region
Mehr von Pôle Systematic Paris-Region
(20)
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_IoT :Transparent remote connectivity to short-range IoT devices, by Na...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : SAFC: Scheduling and Allocation Framework for Containers in a ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Qu’apporte l’observabilité à la gestion de configuration? par ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Performance and power management in virtualized data centers, ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_Cloud : Attribution automatique de ressources pour micro-services, Alt...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis19_IoT: Proof of Pointer Programs with Ownership in SPARK, by Yannick Moy
Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Pas de commun sans communauté ?
Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Projet Wolphin
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : DeepTorrent Stockage distribué perenne basé sur Bittorrent
Osis18_Cloud : Software-heritage
Osis18_Cloud : Software-heritage
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT: La securite des objets connectes a bas cout avec l'os et riot
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Solution de mise au point pour les systemes embarques, par Julio...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Securisation du reseau des objets connectes, par Nicolas LE SAUZ...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : Ada and SPARK - Defense in Depth for Safe Micro-controller Progr...
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
PyParis 2017 / Un mooc python, by thierry parmentelat
PyParis 2017 / Un mooc python, by thierry parmentelat
Kürzlich hochgeladen
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
DianaGray10
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
IES VE
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
GDSC PJATK
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
Adam Moalla
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
DianaGray10
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
DianaGray10
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
dgelyza
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IES VE
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
DianaGray10
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UbiTrack UK
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
UiPathCommunity
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Daniel Santiago Silva Capera
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
Asko Soukka
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
ThousandEyes
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
Seth Reyes
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
YounusS2
Designing A Time bound resource download URL
Designing A Time bound resource download URL
Runcy Oommen
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
Renan Moreira de Oliveira
Kürzlich hochgeladen
(20)
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Designing A Time bound resource download URL
Designing A Time bound resource download URL
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PyParis2017 / Incremental computation in python, by Philip Schanely
1.
Incremental Computation in Python Phillip
Schanely pschanely @medium pschanely @twitter
2.
The New Messaging
App
4.
You have no
new messages Joe IDK, let’s go to Sal’s Sarah LOLZ Mike Right? I’ve never …
5.
You have no
new messages Joe IDK, let’s go to Sal’s Sarah LOLZ Mike Right? I’ve never …
6.
You have no
new messages Joe IDK, let’s go to Sal’s Sarah LOLZ Mike Right? I’ve never …
9.
The Model-View Problem Incremental
MapReduce in Python Contents:
10.
The Model-View Problem
11.
Model, M View, V
12.
Model, M State Change Model,
M’ View, V
13.
Model, M State Change Model,
M’ View, V View, V’ Decision Time!
14.
Model, M State Change Recompute Model,
M’ View, V View, V’
15.
Model, M State Change Infer Model,
M’ View, V View, V’
16.
Model, M State Change Invalidate Model,
M’ View, V View, V’
17.
Recompute Invalidate Infer
18.
Recompute Invalidate Infer Incremental MapReduce
19.
It’s Everywhere
20.
Javascript Objects DOM Javascript Objects DOM Web Apps Infer Recompute
21.
DOM Pixels DOM Pixels Browsers Invalidate
22.
Application Pixels Display Application Pixels Display OS Display Infer
23.
Database State API Responses Database State API Responses Backend Logic Recompute
24.
Normalized Data Computed Data Normalized Data Computed Data Application Databases Infer Recompute
25.
Database Row Database Index Database Row Database Index Databases Infer
26.
RAM Processor Cache RAM Processor Cache Multiprocessor L1/L2 caches Invalidate
27.
Code Build Code Build Build Systems Recompute
28.
Code Test Results Code Test Results Test Runners Recompute
29.
Incremental MapReduce
30.
Model, M State Change Model,
M’ View, V View, V’ Incremental MapReduce
31.
4 6 10 1 5 6 16
32.
4 6 10 1 5 6 16 4
6 1 5 3 Insert “3”
33.
4 6 10 1 5 6 16 4
6 1 5 3 Insert “3” 10 9 19 4
34.
ScenicOverlook $ pip install
ScenicOverlook
35.
4 6 1
5 >>> l = viewablelist([4,6,1,5])
36.
4 6 1
5 >>> l = viewablelist([4,6,1,5]) >>> add = lambda x, y: x + y >>> l.reduce(add, initializer=0) 16
37.
4 6 1
5 4 6 1 5 3 Insert “3” >>> l = viewablelist([4,6,1,5]) >>> add = lambda x, y: x + y >>> l.reduce(add, initializer=0) 16 >>> l = l[:2] + [3] + l[2:]
38.
4 6 1
5 4 6 1 5 3 Insert “3” >>> l = viewablelist([4,6,1,5]) >>> add = lambda x, y: x + y >>> l.reduce(add, initializer=0) 16 >>> l = l[:2] + [3] + l[2:] >>> l.reduce(add, initializer=0) 19
39.
>>> import heapq >>>
def sort(l): ... l = l.map(lambda x:[x]) ... return l.reduce(heapq.merge, initializer=()) >>> l = viewablelist([9, 3, 5, 7]) >>> sort(l) [3, 5, 7, 9] >>> sort(l + [ 4 ]) [3, 4, 5, 7, 9] 3 5 79 9 5 73 5 7 93
40.
Graphics Demo
41.
$ python demo_graphics.py
45.
Compiler Demo
46.
$ python demo_graphics.py
48.
Normalize
49.
Generate Call Tree Normalize
50.
Type Check Generate Call
Tree Normalize
51.
Type Check Generate Call
Tree Normalize LLVM Generation
52.
Type Check Generate Call
Tree Normalize LLVM Generation link
53.
Umut Acar (CMU):
“self-adjusting computation” Matthew A. Hammer: “Adapton” Interesting Related Work
54.
github.com/pschanely/ScenicOverlook pschanely @medium pschanely @twitter Questions?
Jetzt herunterladen