Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

What Can Python Learn from Haskell

EuroPython Conference via YouTube

Overview

Explore insights from Erlang and Haskell for building reliable, high-concurrency services in this 41-minute keynote from EuroPython 2014. Delve into functional programming techniques that can enhance performance, robustness, and conciseness in Python development. Examine the challenges of building high-concurrency services, drawing from experiences with Twisted and the transition to Erlang and Haskell. Discover how functional programming concepts can solve problems more effectively than standard Python practices. Investigate potential evolutionary paths for the Python language and its ecosystem to incorporate these beneficial aspects. Compare correctness checks, refactoring challenges, and tool effectiveness across Python, Erlang, and Haskell. Analyze the impact of mutability, explore Algebraic Data Types, and consider their implementation in Python. Evaluate the trade-offs between abstraction and performance, and examine concurrency handling in different languages. Gain valuable insights for improving Python development practices and expanding your programming paradigm knowledge.

Syllabus

next What can python learn from Haskell?
Haskell is not all good!
Ignorance is bliss
Python makes [...] hard
Correctness
Python nonsense
Let's see what Python thinks
pyflakes to the rescue?
What about Pylint?
Do better tools exist?
Erlang dialyzer nonsense
Haskell nonsense
No instance for... WTF?
Why is refactoring hard?
Solution: mypy?
Modest mypy proposal
So what?
Why is mutability wrong?
Can we even fix this?
Expensive Abstractions
Algebraic Data Types
ADT in Haskell
Wrapping can be free
Performance?
Concurrency?
Summary

Taught by

EuroPython Conference

Reviews

Start your review of What Can Python Learn from Haskell

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.