- Introducing the Haskell Phrasebook Go By Example처럼 예제로 소개
- Monday Morning Haskell
- Haskell Weekly
- school of haskell
- fpcomplete.com
- Try Haskell
- 한국 하스켈 모임
- 서광열의 하스켈 블로그
- haskellers.com
- Haskell Koans for the Vancouver's Haskell UnMeetup
- 발렌타인 세미나 안내 - 순수 함수형 언어 하스켈에 대하여
- 2015 나는 프로그래머다 컨퍼런스 (8,9) 박중운 - React.js & 최철웅 - Haskell 라이브코딩
- 케빈 TV 23회 - 언어 이야기 - 하스켈 (Haskell) 맛보기
- cs-syd.eu/tags/haskell
- PLEAC-Haskell
- pipes
- Teaching Haskell to a 10 year old: Day 1
- Why I love Haskell: An Example
- Functional Programming concepts, examples and patterns illustrated through Haskell syntax
- Blackjack: Following the Patterns
- Becoming Productive in Haskell
- The Haskell School of Music -- From Signals to Symphonies
- Haskell at Front Row
- The Mystical Properties of Programming, or Why I Chose Haskell
- 모나드 괴담
- Introduction to Functional Programming
- Functional Programming Course Written by Tony Morris & Mark Hibberd for Data61
- opentutorials.org/profile/22041
- Haskell programmers are liars
- Learning Real Haskell Incrementally
- Gausian distributions form a monoid
- 하스켈 Ordering 모노이드
- Blazing fast Fibonacci numbers using Monoids
- Monoidal Catamorphisms | Bartosz Milewski's Programming Cafe
- 하스켈 세미그룹 모노이드 제약
- Haskell Communities and Activities Report
- If Haskell were strict, what would the laziness be like?
- haskell as a javascript MVC framework
- Making The Case For Haskell
- Thinking Functionally with Haskell
- First-Class “Statements”
- My First Two Weeks of Haskell at Wagon
- Haskell for OCaml programmers
- Building a Quant Finance Monte Carlo Engine in Haskell - Part 1
- Thinking with Laziness
- Moving Haskell processes between nodes (Transient effects IV)
- How Laziness Works
- Haskell programming tips
- Parallelism vs. Concurrency
- Tying the Knot
- Fighting spam with Haskell
- Reviving the Gofer Standard Prelude
- Developing web applications with Haskell
- Perf for low-level profiling
- Translating Haskell to C++ metaprogramming
- A gentle introduction to statistical relational learning: maths, code, and examples
- From Lenses to Yoneda Embedding
- Haskell - Generating lenses for third party libraries
- Haskell Lenses From Scratch - YouTube
- Thoughts on Conduits
- Fast Nearest Neighbor Queries in Haskell
- Summer 2015 Haskell Class
- Haskell Source Navigation
- Automated reasoning in F#, Scala, Haskell, C++, and Julia
- State of the Haskell ecosystem - August 2015
- State of the Haskell ecosystem - August 2015
- Building a probabilistic programming interpreter
- Programming with distributed functional futures
- Practical Recursion Schemes
- Emulating higher order modules in Haskell
- 2D Contouring
- Natural Transformations
- Three Space Leaks
- Side Effects vs. Promises
- The Genuine Sieve of Eratosthenes
- Thoughts on Haskell
- Markov Chains à la Carte
- Haskell Web Development: A Freely Available Book
- Persistent data structures
- Implementing a minimal version of haskell-servant
- A lot of websockets in Haskell
- Haskell in ES6: Part 1
- How I deploy Haskell Code
- Interactive contraint solving in Haskell
- A Tor Implementation in Haskell
- Anatomy of a Haskell-based Application
- The design of the Strict Haskell pragma
- Seemingly impossible functional programs
- Data-Pipelines in Haskell
- Raytracing black holes with Haskell
- Efficient binary serialization
- Write You a Haskell - Building a modern functional compiler from first principles
- C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13
- IX. Pattern Matching with Fragmentation Sets
-
Short pattern matching examples using fragmentation sets
How to run (I tried to make it very easy): Pick the Scheme interpreter of your choice, e.g. GNU Guile, and do: guile larcom-e2.scm guile larcom-f.scm For the Haskell thing, do (assuming you have GHC): ghci :load sf2.hs From here on, you can do experiments about similiarity, like: similarity [1,2,3,4] [6,2,3,1] -- giving 40, or: similarity [0,1,1] [1,1,1,1,0] -- giving 4, or: similarity [2,2,2,2,2] [2,2,2,3,2,1] -- giving 17, etc., until you leave with: :q A higher value means greater similarity. - Essentially, these functions are made to be used in your own AI programming experiments. In future videos, I am building on these ideas.
-
- 스칼라를 이용한 개발 이후
- 리스트 비교하기 — 하스켈
- Modern Software Development with Haskell by Runar Bjarnason
- 하스켈 나라 탐험기 (1)
- 하스켈 나라 탐험기 (2)
- Spacemacs에서 한국어 사용하기
- Running a startup on Haskell
- Haskell Tutorial
- Haskell Basics - FunFunFunction #35
- Haskell - Baby's first functions - FunFunFunction #36
- Haskell lists - FunFunFunction #39
- Simon Peyton Jones - Haskell is useless
- Haskell is Not For Production and Other Tales
- Fun never stops. Introduction to Haskell Programming language by Paul Szulc
- Haskell Live - Episode 1: The Chess Board
- Haskell Live - Episode 2: Time To Refactor
- Redoing Make - Haskell from Scratch #1
- learn you a haskell
- Programming - Why Haskell is Great - 10 minutes
- Easy Native GUIs in Haskell, Today!
- Fun with GHCJSi
- Functional Programming & Haskell - Computerphile
- Haskell Sucks!
- Right and left folds, primitive recursion patterns in Python and Haskell
- Learn You a Haskell for Great Good 14장 foldM
- 하스켈 max의 항등원 foldr
- Left and Right Folds- Comparison of a mathematical definition and a …
- 개미 수열 Haskell 풀이
- Learning me a Haskell for my own good
- 5 Years of Haskell in Production
- Haskell 초급 예제 — todo
- Haskell #1 (Introduction)
- "Building Secure Systems in Haskell" by Deian Stefan
- Fixpoints in Haskell
- What Haskell taught us when we were not looking - Eric Torreborre
- Domain Modelling with Haskell: Data Structures
- agbird.egloos.com/category/하스켈 스프링노트
- core-lang-haskell
- LINE 하스켈 부트 캠프
- An opinionated guide to Haskell in 2018
- reasonablypolymorphic.com/blog/archives
- Functional Programming for the Long Haul
- 24 Days of GHC Extensions
- A Guide to GHC's Extensions
- EXTENSIONS
- impurepics - Haskell Extensions
- Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell
- Programming Nirvana, Plan B
- Covariance and Contravariance
- 공변성과 반공변성은 무엇인가?
- Coroutine.hs
- Data.Proxy
- Elm Town 47 - A Cool, Easy Way To Start Learning Haskell
- Adding Interactivity with Elm!
- "A history of Haskell: being lazy with class"를 읽고
- Worst practices should be hard
- knapsack.hs
- Why hasn't functional programming taken over object-oriented programming?
- How does Haskell avoid stack overflow when non tail recursion is required?
- What are the advantages and disadvantages of using Haskell to implement a domain specific language?
- Can the Haskell compiler automatically convert a recursive function that is not tail-recursive into a tail-recursive function using the continuation-passing style technique or some other technique?
- Defunctionalize the Continuation
- boxbase.org: Continuations for normalising sum types
- What does the flip function do in Haskell?
- How fast is Haskell?
- What are the most famous software written in Haskell and why aren't there more? I know of xmonad and that Standard Chartered used it in production. Are there others?
- zip.hs
- Functional Programming And Formal Software Verification For Non Industry Applications - Or - Why you should learn Haskell and Coq
- github.com/leechanwoo/APSS/tree/master/haskell
- Typing the technical interview
- Flunking the Coding Interview: Choose the wrong algorithm and still pass your coding interview
- Advent of Haskell - Thoughts and lessons learned after using Haskell consistently for 25 days in a row
- Do-notation considered harmful
- ContinuationMore.ipynb
- Memoization in Haskell
- Lazy Dynamic Programming
- The Evolution of a Haskell Programmer 유머라는데 하스켈 프로그래머들만 알아듣는 듯
- Sonic 2 in Haskell: Playing with sprites
- MatchString.hs
- Regex?
- Fighting spam with Haskell
- Micro C, Part 0
- Micro C, Part 1
- Micro C, Part 2: Semantic Analysis
- Micro C, Part 3: Generating LLVM
- Micro C, Part 4: Integrating the LLVM FFI
- Polymorphic Perplexion
- Streaming the Redis replication stream
- Towards Faster Iteration in Industrial Haskell
- Performance comparison of parallel ray tracing in functional programming languages
- Continuous Integration in Haskell
- Is Haskell a Bad Choice?
- PERMISSIVE, THEN RESTRICTIVE: LEARNING HOW TO DESIGN HASKELL PROGRAMS
- Syntactic ambiguity resolution in the GHC parser
- Consider Haskell
- DERIVING ISOMORPHICALLY
- Learn to moonwalk with waterflow problem
- Speeding up the Sixty compiler
- Haskell on AWS Lambda - A Detailed Tutorial
- Environment variables parsing for free (applicatives)
- Intervals and their relations
- jmtd → log → template haskell
- Frozen Lake in Haskell
- More Random Access Lists
- A TASTE OF BAZEL: BUILD A LIBRARY, A SERVICE AND HSPEC TESTS
- REANIMATE: SWEARING AT BAD DOCUMENTATION
- The State of Haskell IDEs
- Hereditary substitutions
- Book "Functional Design and Architecture"
- GHC Unproposals
- Implementing Clean Architecture with Haskell and Polysemy
- Competitive programming in Haskell: summer series
- DerivingVia sums-of-products
- Frozen Lake with Q-Learning!
- Functional Fika — Nix and Haskell:
- Monoidal Puzzle Solving
- Well-Typed - The Haskell Consultants: Profiling Template Haskell splices
- Well-Typed - The Haskell Consultants: Using Template Haskell to generate static data
- Staging with Class: A Specification for Typed Template Haskell • Ningning Xie • YOW! 2022 - YouTube
- Running HLint as a GHC source plugin - DEV
- Simple Haskell is Best Haskell
- Building a Haskell Microservice
- Competitive programming in Haskell: building unordered trees
- Maxfield Chen - Dynamically Flunking the Coding Interview
- Oleg's gists - Evolving non-determinism
- Generalizing Our Environments
- Setting up a Haskell development environment with Nix
- Deploying your application with NixOS
- YourFirstGame with Haskell, Godot, and godot-haskell
- Simply typed lambda calculus
- 하스켈 람다 대수 lambda calculus
- Subgame perfection made difficult
- Update Everything
- Making Music with Haskell From Scratch
- Adventures in Refactoring
- Building a reactive calculator in Haskell (1/5)
- Building a reactive calculator in Haskell (2/5)
- Building a reactive calculator in Haskell (3/5)
- Building a reactive calculator in Haskell (4/5) – Keera Studios
- Building a reactive calculator in Haskell (5/5) – Keera Studios
- Generating documentation from API types
- Quick Memory Trick
- Reanimate: a tutorial on making programmatic animations
- The abstract nature of the Cardano consensus layer
- CircleCI and Haskell
- Cleaning up threads in Haskell
- CodeWorld as a Haskell Playground: Call for Package Requests
- Competitive programming in Haskell: permutations
- Function Domain
- RecordDotSyntax in Haskell
- Refactored Game Play!
- A short exploration of GHC’s instance resolution hiding mistakes from the type checker
- Simulated annealing
- Colin Woodbury
- Haskell at Symbiont: Flexible Tests Selection
- Neil Mitchell's Haskell Blog: Hoogle Searching Overview
- Lorentz: Introducing Complex Objects to Michelson
- Q-Learning with Tensors — Monday Morning Haskell
- Using client-side Haskell web frameworks in CodeWorld
- Simple Linear Regression in One Pass - DanielBrice.net
- Solving Algorithm Challenges in Haskell: Anagrams - DEV
- Training our Agent with Haskell! — Monday Morning Haskell
- Comparing the same web scraper in Haskell, Python, Go - DEV
- Document generation & Rendered Source Code - DEV
- Query-based compiler architectures | Olle Fredriksson's blog
- Tweag - Splittable pseudo-random number generators in Haskell: random v1.1 and v1.2
- Competitive programming in Haskell: data representation and optimization, with cake | blog :: Brent -> String
- 하스켈의 관습들
- Lexer.hs at main · KiJeong-Lim/scripts
- Scale By The Bay 2020: Ryan Orendorff & Daniel Hensley, Programming machine learning algorithms... - YouTube
- Scale By The Bay 2020: Yves Parès, Reproducible Data Pipelines Using Controlled Effects - YouTube
- Counting Bits with Haskell (The Bad and the Good Way™️) - YouTube
- Parse, don’t validate
- Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Sc…
- N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Has…
- N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Has…
- N-Queens Combinatorial Problem - Polyglot FP for fun and profit - Haskell and Scala - Part 3
- A New Kind of Programming: Tactic Metaprogramming in Haskell - YouTube
- So Long Surrogates: How we moved to UTF-8 in Haskell
- 11 Companies That Use Haskell in Production
- 프로 하스켈러 1일차 | GHCup. 헛헛, 평소에 참 운이 좋은 편이라 감사하게 생각하고 있습니다. 또… | by 김대현 | HappyProgrammer | May, 2022 | Medium
- 프로 하스켈러 2일차 | 이상적 프로그래밍 언어. 하스켈로 백엔드 개발자 일을 하러 이직한 이튿날, 친절한 온보딩 교육을… | by 김대현 | HappyProgrammer | May, 2022 | Medium
- 프로 하스켈러 3일차 | Functor, and…. 매일 아침, 업무를 시작하는 화상회의에서, 각자의 기분을 체크인하고… | by 김대현 | HappyProgrammer | May, 2022 | Medium
- 프로 하스켈러 4일차 | Monad Transformers. “대현님 같은 분을 채용하려면 어떤 조건이 필요해요?” | by 김대현 | HappyProgrammer | May, 2022 | Medium
- 프로 하스켈러 6주차 — Scotty Web Framework | by 김대현 | HappyProgrammer | Jun, 2022 | Medium
- 프로그래밍언어의 원리 최광훈 - Google Slides
- 하스켈 GHC.Generics 탐험기
- 하스켈에서 어니언 아키텍처 구현하기
- 하스켈 ByteString
- JavaScript backend merged into GHC | IOG Engineering
- Parse, don’t validate
- 검증하지 말고 파싱하라 · 잇창명 개발 블로그
- Alexis King의 Parse, don’t validate의 번역 글
- 평소 타입 주도 설계를 설명하는데 고생하다가 "검증하지 말고 파싱하라"는 것을 깨닫고 이를 설명
- 함수를 작성할 때 입력의 어떤 조건을 검증하는 경우
- 잘못하면 호출자에게 검증의 책임을 떠넘기게 되어 코드가 복잡해질 수 있음
- 이를 인자 타입을 강화시켜서 훨씬 간결하게 구현하는 방법 설명
- 이를 탕해 타입 시스템을 충분히 활용해서 검증으로 인한 샷건 파싱 문제를 피할 수 있다
- 예제 코드가 전부 Haskell이라서 Haskell을 알지 못하고 이해가 어려운데
- 다행히 급하게 배우는 Haskell ("검증하지 말고 파싱하라" 보충)에 글을 읽는 데 도움이 되는 간단한 문법 설명이 있으므로 먼저 읽어보면 좋다
- 검증하지 말고 파싱하라 · 잇창명 개발 블로그
- Programming totally with head and tail
- A Type-Safe Approach to Categorized Data
- Error Messages in Haskell, and how to Improve them
- Haskell - Data.Array.Log256 (SAFE, idiomatic and ⊥)
- bracketing and async exceptions in haskell
- 하스켈 함수의 선언과 사용
- 하스켈 함수의 타입
- 하스켈 infix 연산자
- 하스켈 polymorphism
- 하스켈 타입 변수
- 하스켈 타입 만들기
- 하스켈 if
- 하스켈 Continuation Passing Style, CPS
- 하스켈 달러 표시 우선순위
- Functor, Natural Transformatiom
- fun.hs - c++ cout endl 흉내내기
- 하스켈 Prelude 안 쓰기
- do The doomsday machine
- exception
- filter 하스켈 filter 만들어보기
- foldMap foldable 하스켈 Foldable
- Functor
- IO The power of IO in Haskell | 47 Degrees
- Maybe
- String Eat Haskell String Types for Breakfast
- where 하스켈 where와 guard
- gumroad.com/discover?query=haskell
- Haskell Snippets - 하스켈 조각 코드 모음집
- Effective Haskell: Solving Real-World Problems with Strongly Typed Functional Programming by Rebecca Skinner
- Game programming in Haskell by Elise Huard Leanpub PDF/iPad/Kindle
- Happy Learn Haskell Tutorial
- Haskell from the Very Beginning
- Haskell Programming
- Introduction to Haskell | Antoni Diller
- learnyouahaskell.com
- Magical Haskell by Anton Antich Leanpub PDF/iPad/Kindle
- Real World Haskell by Bryan O'Sullivan, Don Stewart, and John Goerzen
- To Kata Haskellen Evangelion
- WikibooksHaskell
- "Building Haskell Programs with Fused Effects" by Patrick Thomson - YouTube
- 한국 하스켈 학교 제1 회 세미나
- Full-Stack Haskell: From Prototype to Production • Ryan Trinkle • YOW! 2018 - YouTube
- Haskell conference
- LambdaConf 2015 - How to Learn Haskell in Less Than 5 Years Chris Allen
- LambdaConf 2015 - Modeling Data in Haskell for Beginners Chris Allen
- LambdaConf 2015 - Developing Web Applications with Haskell Alejandro Serrano Mena
- ZuriHac 2020
- Haskell with UTF-8
- Tools for working on GHC
- Choosing an HTML library in Haskell
- Implementing HTTP/3 in Haskell - あどけない話
- Reverse Dependencies
- 21 Awesome Open-Source Haskell Projects
- Awake Security
- azure-demo - Haskell + Azure DevOps Demo
- blaze-latex-logging-example: Simple code example to demonstrate logging with LaTeX output
- Cabal
- Caramel is a set of bidirectional, Haskell-inspired syntax-sugars that are expanded to, and contracted from, λ-Calculus terms
- Cloud Haskell: Erlang-style concurrent and distributed programming in Haskell
- compleat - Generate command-line completions using a simple DSL. http://limpet.net/mbrubeck/2009/10/30/compleat.html
- A DSL for deep neural networks, supporting Caffe and Torch http://ajtulloch.github.io/dnngraph
- coreutils: Unix core utilities implemented in Haskell
- dcfl is a parallelized constraint solving library for Haskell
- fakedata - Haskell Library for producing quality fake data
- Frag - a 3D first person shooting game written in Haskell
- Frege - a Haskell for the JVM
- Froskell - Haskell with unlockable features for teaching programming
- ghc-ios-scripts - Scripts for building GHC and Haskell programs for iOS
- Gitpod Haskell - Gitpod Support for haskell
- h4sh - Fork of Don Stewarts h4sh haskell shell scripts http://www.cse.unsw.edu.au/~dons/h4sh.html
- Hakyll - a Haskell library for generating static sites, mostly aimed at small-to-medium sites and personal blogs
- Haskell for Mac is an easy-to-use integrated programming environment for the functional programming language Haskell
- haskell-language-server - Integration point for ghcide and haskell-ide-engine. One IDE to rule them all
- HaskellR - Programming R in Haskell
- HaNS - The haskell network stack
- Hasura - A Batteries-included App Development Platform
- Haxl - A Haskell library that simplifies access to remote data, such as databases or web-based services
- HiDb: A Haskell In-Memory Relational Database
- HLint 3.0 uses the GHC parser
- Idris-Java - Idris Java Backend - This is an updated version of the Java backend for Idris
- IHP: Integrated Haskell Platform, a batteries-included web framework built on purely functional programming technologies
- inline-java - Calling to the JVM from Haskell: Some benchmarks
- it-has - A Generic implementation of data-has
- knit ties the knot on data structures that reference each other by unique keys
- Kulitta: A Haskell-based library for algorithmic and automated composition. This library was the subject of my dissertation at Yale university and is the subject of my ongoing work
- Leksah - the Haskell IDE of choice
- monad-logger-aeson: JSON logging using monad-logger interface
- Mu-Haskell - a set of packages that help you build both servers and clients for (micro)services gRPC
- nix
- nixpkgs IDE 2020: Getting ghcide into nixpkgs
- OptParse
- overloaded: Overloaded pragmas as a plugin
- Pandoc Custom Markdown in Pandoc
- Parsec
- password - provides packages for easily working with passwords in Haskell
- polysemy: Higher-order, low-boilerplate, zero-cost free monads
- Reanimate
- rei - Process lists easily with
- Servant - Webservice API combinators
- servant-forma This package provides a servant combinator to validate your Forma based forms before they reach your handlers
- Shake 0.19 - changes to process execution
- singlethongs: Like singletons, but much smaller
- SIXEL Library for Haskell
- souffle-haskell - Haskell bindings for the Souffle datalog language
- Spock - SIMPLE. EXPRESSIVE. FAST. Kickstart your next Haskell web application within seconds using Spock
- stack - a new, complete, cross-platform development tool aimed at both new and experienced Haskell developers
- turtle embeds shell scripting directly within Haskell
- Twilio IVR - A fluent Twilio IVR library for Haskell
- wai
- Yesod Web Framework
- Yi - Text editor written in Haskell
- "Build Your Own Probability Monads" paper, blog posts and source code
- Free and Freer Monads: Putting Monads Back into Closet
- Haskell Monads in 8 Minutes
- In Haskell, what does the phrase "monadic bind" mean?
- Indexed Monads: Examples and Discussion
- A guide to monads in Haskell
- Hierarchical Free Monads: The Most Developed Approach In Haskell
- Hierarchical Free Monads: Mostly Pointless
- Understand IO Monad and implement it yourself in Haskell
- Reader Monad and Function Composition - yuiazu
- 함수 join
- Learn You a Haskell for Great Good, Chapter 14, Making Monads, 모나드 만들기
- Rewriting to Haskell–Testing
- Servant Testing Helpers!
- Property testing in depth: genvalidity's fixed-size type generators
- Porting the Pusher integration tests to Haskell
- TESTABLE IO IN HASKELL
- HASKELL: UNEXPECTEDLY MAKING IT HARDER TO UNIT TEST
- Unit testing IO in Haskell
- 하스켈에서 테스트 mocking 하기
- Hedgehog - a modern property-based testing system
- QuickCheck - a combinator library originally written in Haskell
- Announcing the refinement types library
- Map of numeric types in Haskell
- Dependently typed programming and theorem proving in Haskell
- Zippers And Type Magic
- Haskell's Type Classes: We Can Do Better
- Type Families and Pokemon
- thinking-with-types - source material for Thinking with Types http://thinkingwithtypes.com
- Typed type-level programming in Haskell, part I: functional dependencies
- Typed type-level programming in Haskell, part II: type families
- Typed type-level programming in Haskell, part III: I can haz typs plz?
- MultiParam Typeclasses functional dependencies
- Parallel typeclass for Haskell
- Types vs. datatypes vs. typeclasses in Haskell
- Basic Type Level Programming in Haskell
- Haskell’s Type Families
- Learning TypeFamilies Together! - YouTube
- Typeable — A long journey to type-safe dynamic type representation (Part 1)
- Typeable — A long journey to type-safe dynamic type representation (Part 2)
- Typeable — A long journey to type-safe dynamic type representation (Part 3)
- Trade-Offs in Type Safety
- Type inference - Splinter Suidman
- 하스켈 타입 클래스
- INTRODUCTION TO FUNCTIONAL PROGRAMMING USING HASKELL 한글
- CIS 194: Introduction to Haskell (Spring 2013)
- enshahar.com 한글
- Haskell for impatient Scala developer: Getting into speed
- 진보하는 함수형 언어, Haskell (김재우)
- Why Haskell Matters
- THINGS SOFTWARE ENGINEERS TRIP UP ON WHEN LEARNING HASKELL
- 10 Reasons to Use Haskell
- Learning Haskell: Getting Started
- Learning Haskell: Getting Setup
- Getting Started with Haskell on Fedora - Fedora Magazine
- 5 Best Haskell Programming Courses for Beginners in 2022 | Java67
- FizzBuzz - You Suck at Coding 0 - YouTube
- learn4haskell :: Kowainik