SlideShare a Scribd company logo
1 of 28
Download to read offline
Dependent Types
and other ideas for guaranteeing
correctness with types
Radek Pietruszewski
@radexp • radex.io
@radexp • radex.io
Static typing is nice
@radexp • radex.io
Expressing guarantees
@radexp • radex.io
Partial functions
@radexp • radex.io
let xs = [1, 2, 3]
xs[0] // => 1
xs[4] // => crash
xs[-1] // => crash
@radexp • radex.io
subscript (index: Int) -> Element
-a lot, ..., -1, 0, 1, 2, 3, 4, a lot
@radexp • radex.io
subscript (index: Int) -> Element
-a lot, ..., -1, 0, 1, 2, 3, 4, a lot
@radexp • radex.io
No compile time check
😕
@radexp • radex.io
Prefer
total functions
to partial functions
@radexp • radex.io
Optionals
@radexp • radex.io
Foo* vs Foo vs Foo?
@radexp • radex.io
Enums
@radexp • radex.io
func move(direction: String)
move("up")
move("down")
move("wat") // undefined
@radexp • radex.io
enum Direction {
case Up, Down, Left, Right
}
func move(direction: Direction)
@radexp • radex.io
enum SuggestionViewModel {
case Header(String)
case Suggestion(Suggestion)
}
@radexp • radex.io
Dependent Types
@radexp • radex.io
struct User {
var loggedIn: Bool
...
}
/// `user` must be logged in!
func doSomethingImportant(user: User)
@radexp • radex.io
/// `user` must be logged in!
func doSomethingImportant(user: User)
😕User(loggedIn: false)
@radexp • radex.io
User<loggedIn=true>
@radexp • radex.io
Validated
github.com/Ben-G/Validated
@radexp • radex.io
struct LoggedInValidator: Validator {
static func validate(value: User) -> Bool {
return value.loggedIn
}
}
@radexp • radex.io
struct LoggedInValidator: Validator {
static func validate(value: User) -> Bool {
return value.loggedIn
}
}
@radexp • radex.io
Validated<User, LoggedInValidator>
User<loggedIn=true>
@radexp • radex.io
typealias LoggedInUser =
Validated<User, LoggedInValidator>
@radexp • radex.io
let rawUser = User(loggedIn: false)
let loggedInUser = LoggedInUser(rawUser)
@radexp • radex.io
func doSomethingImportant(user: LoggedInUser)
🙂
@radexp • radex.io
Keep your functions total
@radexp • radex.io
github.com/Ben-G/Validated
bit.do/partial-functions

More Related Content

What's hot

What To Leave Implicit
What To Leave ImplicitWhat To Leave Implicit
What To Leave ImplicitMartin Odersky
 
A brief introduction to scalaz-stream
A brief introduction to scalaz-streamA brief introduction to scalaz-stream
A brief introduction to scalaz-streamFrank Thomas
 
Twinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query ToolTwinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query ToolLeigh Dodds
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)andyseaborne
 
Generics Past, Present and Future (Latest)
Generics Past, Present and Future (Latest)Generics Past, Present and Future (Latest)
Generics Past, Present and Future (Latest)RichardWarburton
 
Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画mametter
 
Generics Past, Present and Future
Generics Past, Present and FutureGenerics Past, Present and Future
Generics Past, Present and FutureRichardWarburton
 
Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...
Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...
Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...Allison Jai O'Dell
 
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in TheoryWeek-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in TheoryBertram Ludäscher
 
APMG juni 2014 - Regular Expression
APMG juni 2014 - Regular ExpressionAPMG juni 2014 - Regular Expression
APMG juni 2014 - Regular ExpressionByte
 
Understanding the components of standard template library
Understanding the components of standard template libraryUnderstanding the components of standard template library
Understanding the components of standard template libraryRahul Sharma
 
WebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaWebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaKatrien Verbert
 
Performance and predictability (1)
Performance and predictability (1)Performance and predictability (1)
Performance and predictability (1)RichardWarburton
 

What's hot (18)

What To Leave Implicit
What To Leave ImplicitWhat To Leave Implicit
What To Leave Implicit
 
A brief introduction to scalaz-stream
A brief introduction to scalaz-streamA brief introduction to scalaz-stream
A brief introduction to scalaz-stream
 
SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
 
Twinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query ToolTwinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query Tool
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)
 
Generics Past, Present and Future (Latest)
Generics Past, Present and Future (Latest)Generics Past, Present and Future (Latest)
Generics Past, Present and Future (Latest)
 
Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画Ruby 3の型解析に向けた計画
Ruby 3の型解析に向けた計画
 
Generics Past, Present and Future
Generics Past, Present and FutureGenerics Past, Present and Future
Generics Past, Present and Future
 
Collections forceawakens
Collections forceawakensCollections forceawakens
Collections forceawakens
 
Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...
Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...
Notes from the Library Juice Academy courses on “SPARQL Fundamentals”: Univer...
 
Lazy Java
Lazy JavaLazy Java
Lazy Java
 
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in TheoryWeek-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
 
APMG juni 2014 - Regular Expression
APMG juni 2014 - Regular ExpressionAPMG juni 2014 - Regular Expression
APMG juni 2014 - Regular Expression
 
Understanding the components of standard template library
Understanding the components of standard template libraryUnderstanding the components of standard template library
Understanding the components of standard template library
 
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
 
WebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaWebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPedia
 
Performance and predictability (1)
Performance and predictability (1)Performance and predictability (1)
Performance and predictability (1)
 
Xpath1
Xpath1Xpath1
Xpath1
 

Viewers also liked

LINDIWE PRECIOUS KHULUSE
LINDIWE PRECIOUS KHULUSELINDIWE PRECIOUS KHULUSE
LINDIWE PRECIOUS KHULUSELindiwe Khuluse
 
Factsheet Novamont DE
Factsheet Novamont DEFactsheet Novamont DE
Factsheet Novamont DENovamont Spa
 
Factsheet Mater biotech it
Factsheet Mater biotech itFactsheet Mater biotech it
Factsheet Mater biotech itNovamont Spa
 
10 unedited pictures.
10 unedited pictures.10 unedited pictures.
10 unedited pictures.liamrig95
 
Site Instruction Provision
Site Instruction ProvisionSite Instruction Provision
Site Instruction ProvisionRichard Retita
 
Examples of BBI initiative funded projects promoting bioeconomy in the medite...
Examples of BBI initiative funded projects promoting bioeconomy in the medite...Examples of BBI initiative funded projects promoting bioeconomy in the medite...
Examples of BBI initiative funded projects promoting bioeconomy in the medite...Novamont Spa
 
Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...
Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...
Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...Novamont Spa
 
“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...
“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...
“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...Novamont Spa
 
Culturas Andinas del Ecuador por Ana María Simbaña
Culturas Andinas del Ecuador  por Ana María SimbañaCulturas Andinas del Ecuador  por Ana María Simbaña
Culturas Andinas del Ecuador por Ana María Simbañaanamariasimbana
 

Viewers also liked (18)

LINDIWE PRECIOUS KHULUSE
LINDIWE PRECIOUS KHULUSELINDIWE PRECIOUS KHULUSE
LINDIWE PRECIOUS KHULUSE
 
Il credente in forma
Il credente in formaIl credente in forma
Il credente in forma
 
Factsheet Novamont DE
Factsheet Novamont DEFactsheet Novamont DE
Factsheet Novamont DE
 
IZABELA KON - CV
IZABELA KON - CVIZABELA KON - CV
IZABELA KON - CV
 
Certificate
CertificateCertificate
Certificate
 
Factsheet Mater biotech it
Factsheet Mater biotech itFactsheet Mater biotech it
Factsheet Mater biotech it
 
10 unedited pictures.
10 unedited pictures.10 unedited pictures.
10 unedited pictures.
 
scan0001 (2)
scan0001 (2)scan0001 (2)
scan0001 (2)
 
Modul viii
Modul viiiModul viii
Modul viii
 
Site Instruction Provision
Site Instruction ProvisionSite Instruction Provision
Site Instruction Provision
 
Len Andersen Engineer - Water Swirled into Gas Turbine 914-237-7689 patent 8...
Len Andersen Engineer - Water Swirled into  Gas Turbine 914-237-7689 patent 8...Len Andersen Engineer - Water Swirled into  Gas Turbine 914-237-7689 patent 8...
Len Andersen Engineer - Water Swirled into Gas Turbine 914-237-7689 patent 8...
 
RESUME
RESUMERESUME
RESUME
 
Examples of BBI initiative funded projects promoting bioeconomy in the medite...
Examples of BBI initiative funded projects promoting bioeconomy in the medite...Examples of BBI initiative funded projects promoting bioeconomy in the medite...
Examples of BBI initiative funded projects promoting bioeconomy in the medite...
 
2010_kaitzB_002
2010_kaitzB_0022010_kaitzB_002
2010_kaitzB_002
 
Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...
Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...
Biorefineries integrated in local areas to reindustrialise and decarbonise Eu...
 
“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...
“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...
“Abitudini di spesa degli italiani presso le catene di distribuzione e attegg...
 
Culturas Andinas del Ecuador por Ana María Simbaña
Culturas Andinas del Ecuador  por Ana María SimbañaCulturas Andinas del Ecuador  por Ana María Simbaña
Culturas Andinas del Ecuador por Ana María Simbaña
 
Ciclo menstrual
Ciclo menstrualCiclo menstrual
Ciclo menstrual
 

Similar to Dependent types (and other ideas for guaranteeing correctness with types)

楽々Scalaプログラミング
楽々Scalaプログラミング楽々Scalaプログラミング
楽々ScalaプログラミングTomoharu ASAMI
 
Ruby and rails - Advanced Training (Cybage)
Ruby and rails - Advanced Training (Cybage)Ruby and rails - Advanced Training (Cybage)
Ruby and rails - Advanced Training (Cybage)Gautam Rege
 
UNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYUNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYSignis Vavere
 
Regular expressions
Regular expressionsRegular expressions
Regular expressionsEran Zimbler
 
R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011Mandi Walls
 
Regular expressions and php
Regular expressions and phpRegular expressions and php
Regular expressions and phpDavid Stockton
 
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit
 
Java8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfaces
Java8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfacesJava8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfaces
Java8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfacesDirk Detering
 
4 JVM Web Frameworks
4 JVM Web Frameworks4 JVM Web Frameworks
4 JVM Web FrameworksJoe Kutner
 
Scala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghScala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghStuart Roebuck
 
ComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical SciencesComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical Sciencesalexstorer
 
Effective Scala (JavaDay Riga 2013)
Effective Scala (JavaDay Riga 2013)Effective Scala (JavaDay Riga 2013)
Effective Scala (JavaDay Riga 2013)mircodotta
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveXTroy Miles
 
Lagergren jvmls-2013-final
Lagergren jvmls-2013-finalLagergren jvmls-2013-final
Lagergren jvmls-2013-finalMarcus Lagergren
 

Similar to Dependent types (and other ideas for guaranteeing correctness with types) (20)

楽々Scalaプログラミング
楽々Scalaプログラミング楽々Scalaプログラミング
楽々Scalaプログラミング
 
Regular expression for everyone
Regular expression for everyoneRegular expression for everyone
Regular expression for everyone
 
Ruby and rails - Advanced Training (Cybage)
Ruby and rails - Advanced Training (Cybage)Ruby and rails - Advanced Training (Cybage)
Ruby and rails - Advanced Training (Cybage)
 
Osd ctw spark
Osd ctw sparkOsd ctw spark
Osd ctw spark
 
Polyglot JVM
Polyglot JVMPolyglot JVM
Polyglot JVM
 
UNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYUNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAY
 
UNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYUNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAY
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011
 
Regular expressions and php
Regular expressions and phpRegular expressions and php
Regular expressions and php
 
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted Malaska
 
Java8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfaces
Java8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfacesJava8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfaces
Java8 Neue Sprachfeatures - Lambda/Streams/default Methods/FunctionalInterfaces
 
4 JVM Web Frameworks
4 JVM Web Frameworks4 JVM Web Frameworks
4 JVM Web Frameworks
 
Scala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghScala @ TechMeetup Edinburgh
Scala @ TechMeetup Edinburgh
 
ComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical SciencesComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical Sciences
 
Python redis talk
Python redis talkPython redis talk
Python redis talk
 
Basics R.ppt
Basics R.pptBasics R.ppt
Basics R.ppt
 
Effective Scala (JavaDay Riga 2013)
Effective Scala (JavaDay Riga 2013)Effective Scala (JavaDay Riga 2013)
Effective Scala (JavaDay Riga 2013)
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveX
 
Lagergren jvmls-2013-final
Lagergren jvmls-2013-finalLagergren jvmls-2013-final
Lagergren jvmls-2013-final
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Dependent types (and other ideas for guaranteeing correctness with types)