
Show HN: Exploding Fish – A URI Library for Clojure - wtetzner
https://github.com/wtetzner/exploding-fish
======
userbinator
The most interesting thing about this is the name; but then again, URI
manipulation is not particularly interesting. How did the amusing choice of
name come about?

~~~
Stratoscope
Maybe not the source of the name, but the first thing that came to mind was
the exploding whale of Florence, Oregon:

[https://www.youtube.com/watch?v=1_t44siFyb4](https://www.youtube.com/watch?v=1_t44siFyb4)

[https://en.wikipedia.org/wiki/Exploding_whale](https://en.wikipedia.org/wiki/Exploding_whale)

------
escherize
People say Clojure is super functional, but here's an OOP based library. In my
experience learning to program with immutability was the trickiest challange
to overcome when learning Clojure. I had worked with C++ in college, then
js/python in industry for a couple years before I took an interest in Clojure,
so I didn't use many const features in C++. Possibly like most programmers, I
was used to mutation-by-default.

~~~
nikki93
Functional and OOP the way you seem to be thinking about them aren't
necessarily at odds. If you don't immutably update objects and instead do
'return-the-updated-object' then it could fit in with functional. They seem to
do this often in Haskell libraries for example. The weird thing is the notion
of identity across OOP and Functional--you can have shared handles to an
underlying object modified by separate code in traditional OOP.

Mixing paradigms is interesting. My favorite is to not do class-based object
oriented, but prototype-based instead, with multiple parents like in Self. I
wonder how that would combine with immutable objects.

