Podsnap
blog.podsnap.com · Personal blog · on HN since 2013
Podsnap is a programmer's blog on functional programming, covering Clojure, Scala, Haskell, transducers, lenses, and bitemporal data in Datomic.
What HN saysCommenters cite it as a detailed post on transducers across Clojure, Scala, and Haskell, and for bitemporal data and typed lenses; one disagrees with its type-system claims.
16HN people shared it
4linked it in comments
21stories submitted
214story points
8 months agolast shared
2013people per year2026
Most-shared posts
- 1Managing inhomogeneously bitemporal data with Datomic and Clojure (2014)4 people · 3 points · first shared 2014 · discussion on HN
- 2Type-safe Transducers in Clojure, Scala, and Haskell3 people · 74 points · first shared 2014 · 11 comments on HN
- 3Vanholes – Van Laarhoven Lenses in Clojure2 people · 20 points · first shared 2014 · discussion on HN
- 4Tinholes – performant, strongly typed lenses in Clojure1 people · 60 points · first shared 2014 · 21 comments on HN
- 5A minimalist translation of Clojure's core.async to Scala1 people · 13 points · first shared 2015 · 1 comments on HN
- 6Purely functional transducers – where does state belong?1 people · 11 points · first shared 2014 · discussion on HN
- 7Distributed purely functional programming, part 21 people · 6 points · first shared 2014 · discussion on HN
- 8Fortran, Clojure, Haskell and Julia are not at war1 people · 5 points · first shared 2014 · discussion on HN
- 9Stateless but state-aware types for transducers, using what seems to be magic1 people · 5 points · first shared 2014 · discussion on HN
- 10Yak herding for misers – wrangling hundreds of AWS Instances with Clojure1 people · 4 points · first shared 2014 · discussion on HN
- 11Spying on myself1 people · 2 points · first shared 2016 · discussion on HN
- 12Notes on Arrogance1 people · 2 points · first shared 2013 · discussion on HN
- 13Lost in Transduction: heresy and ingratitude edition1 people · 2 points · first shared 2014 · discussion on HN
- 14Apply Within – Bringing applicative desugaring to Scala for-notation1 people · 2 points · first shared 2026 · discussion on HN
- 15Functional Functional Reactive Programming1 people · 1 points · first shared 2014 · discussion on HN
What HN people wrote when they linked it
ultimape · 2014-11-21
Here's another video by Rick Hickey about transducers: https://www.youtube.com/watch?v=6mTbuzafcII
- it was referenced in this great post detailing the transducer notion with Clojure, Scala, and Haskell: http://blog.podsnap.com/ducers2.html
gphilippart · 2017-07-10
This issue was discussed in the Datomic google group back in 2012. I think a satisfying solution was found in the end. https://groups.google.com/forum/#!topic/datomic/zDoFsxKgARQ. Also, there's this blog post: http://blog.podsnap.com/bitemp.html
podsnap · 2014-10-08
Ok, I managed to get a van Laarhoven representation in typed Clojure, though it wasn't exactly a smooth experience.
http://blog.podsnap.com/vanhole.html
wyager · 2015-02-12
I emphatically reject the many of the conclusions of this article.
>Let me say it simply. Type systems cannot be a one-stop solution for specification and verification.
Wrong! Any correctness property can be encoded into a sufficiently powerful type system. Which brings me to...
>Curry-Howard is an interesting mathematical equivalence, but it does not advance any argument about how to write software effectively.
This is absurd, of course. The isomorphism between type systems and proof systems allows us to build lots of impressive systems like Agda and Coq.
>No sane person can argue that we want to bifurcate a programming language into distinct base-level and type-level fragments.
That's actually quite a reasonable desire.
>Personally, I want to write all my specifications in more-or-less the same language I use to write ordinary code.
To the author, this seems to mean "therefore, we shouldn't have types!". In reality, a sufficiently flexible programming language allows you to write type-level code in the same language as value-level code. See Agda.
>Rich Hickey's transducers talk gave a nice example of how patterns of polymorphism which humans find comprehensible can easily become extremely hard to capture precisely in a logic.
Lots of people have typed transducers just fine... http://blog.podsnap.com/ducers2.html http://conscientiousprogrammer.com/blog/2014/08/07/understanding-clour…