Skip to main content
Scour
Browse
Getting Started
Login
Sign Up
You are offline. Trying to reconnect...
Copied to clipboard
Unable to share or copy to clipboard
Chris Penner
chrispenner.ca
Beating C with 80 lines of Haskell: wc
chrispenner.ca
·
344w
Optics + Regex: Greater than the sum of their parts
chrispenner.ca
·
348w
Slick 1.0 Release - Now with a quick and easy template!
chrispenner.ca
·
348w
Haskell IDE Support (hie-core lsp Sept. 2019)
chrispenner.ca
·
350w
Higher Kinded Option Parsing
chrispenner.ca
·
368w
Mocking Effects using Constraints and Phantom Data Kinds
chrispenner.ca
·
399w
Update Monads: Variation on State Monads
chrispenner.ca
·
402w
Typesafe Versioned APIs
chrispenner.ca
·
407w
Monoidal Sorting
chrispenner.ca
·
408w
A Practical Introduction to Finger Trees
chrispenner.ca
·
409w
·
Lobsters
,
Hacker News
Postman API Explorer: You've got mail!
chrispenner.ca
·
415w
Query a Google Sheets Spreadsheet from BigQuery
chrispenner.ca
·
416w
ASTs with Fix and Free
chrispenner.ca
·
430w
·
Lobsters
,
Hacker News
MonadIO Considered Harmful
chrispenner.ca
·
453w
Type Tac Toe: Advanced Type Safety
chrispenner.ca
·
456w
Conway's Game of Life using Representable and Comonads
chrispenner.ca
·
458w
Radix Sort, Trie Trees, and Maps from Representable Functors
chrispenner.ca
·
460w
Free and Forgetful Functors
chrispenner.ca
·
461w
Adjunctions and Battleship
chrispenner.ca
·
461w
Zippers using Representable and Cofree
chrispenner.ca
·
463w
« Page 1
·
Page 3 »
Log in to enable infinite scrolling
Keyboard Shortcuts
Navigation
Next / previous item
j
/
k
Open post
o
or
Enter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Save / unsave
s
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
g
h
Interests
g
i
Feeds
g
f
Likes
g
l
History
g
y
Changelog
g
c
Settings
g
s
Browse
g
b
Search
/
Pagination
Next page
n
Previous page
p
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc
Press
?
anytime to show this help