aesterline + fp   10

Abstraction, intuition, and the “monad tutorial fallacy” – blog :: Brent -> [String]
It is difficult to simply abstractions into things everyone will understand. Part of the understanding process is to digging into the details until you come up with your own abstraction/understanding.
fp 
4 weeks ago by aesterline
"Propositions as Types" by Philip Wadler - YouTube
- Use things that are discovered and not invented.
- It takes a long time for good ideas to get out. You need to have a really long perspective.
- "You don't put science in your name if you are a real science."
strangeloop  lambdacalculus  fp  video 
5 weeks ago by aesterline
Data Modeling in FP vs OOP – John A De Goes
- Differences in modeling between functional programming
- Interesting to think about
scala  fp 
august 2018 by aesterline
Fun(c) 2018.7: John De Goes - FP to the Max - YouTube
Functional Programming
- Totality; For every input, they return an output
- Deterministic; For the same input, they return the same output.
- Pure. The only effect is computing the return value.

Type-Based Reasoning
- Allows us to reason about a function without drilling into the details.
- Types can be like a compression algorithm for a function.

Partial Functions
- Functions that only can only handle a subset of inputs.

Lots of interesting stuff in this presentation. I feel like I should write this code myself in order to better understand.
scala  livecoding  fp  video 
august 2018 by aesterline
Reasoning About Code - DEV Community 👩‍💻👨‍💻
- The locality of code and its effects are better with functional code.
- Immutable values help here.
- The relatively local code allows you to read and understand less to know what the code is going to do.
- Keep things more local is you can keep them in my head.
complexity  fp 
july 2018 by aesterline
Thinking Less with Scala - Video from Scalapeño 2018
- Proper type signatures allow the readers of a function to worry less about the implementation.
- Option, Try, Either, List; The container types convey information about the function without having to read the details.
- Parametric Functions
- Increasing the abstraction decreases the implementation space.
- Encode domain types in Value types
- case classes; I wonder how that would change GC
- Patterns
- Type classes
- Monoid
- Patterns are more natural to write and be generic in functional programming
- Design patterns typically come in libraries in functional languages
scala  fp  video 
july 2018 by aesterline
The Neophyte's Guide to Scala Part 12: Type Classes
Type classes allow ad-hoc and retroactive polymorphism. Code that relies on type classes is open to extension without the need to create adapter objects.
scala  implicit  fp 
june 2018 by aesterline
oop - How does Pattern Matching in Scala overcome duplication that switch case causes? - Stack Overflow
If you are dealing with objects use the subtype polymorphism - adding new types doesn't require recompilation, retesting or redeployment of the existing ones, whereas adding a new algorithm (a method on the interface, which is at the top of the hierarchy) does.

If you are dealing with data structures use patter matching - adding new algorithms doesn't require recompilation, retesting or redeployment of the existing ones, whereas adding a new type does.
scala  fp 
june 2018 by aesterline
Dependency Injection in Functional Programming · GitHub
- DI frameworks aren't needed when using FP.
- Simple function calls with parameters are often all that is necessary
- One potential area where DI frameworks might be better is in the lifecycle management
- There is a weird algebraic example at the bottom that I don't fully understand.
scala  DI  fp 
june 2018 by aesterline
A Theory of Functional Programming 0004 - LispCast
- Eric is creating a book about functional programming in industry.
- Lots of books about functional programming in an academic setting, but not much for an industrial environment
- Actions - bits of code that perform side effects.
video  fp 
may 2018 by aesterline

Copy this bookmark:



description:


tags: