π Hi, I'm Jonathan Knowles
I'm a software engineer and functional programming enthusiast based in Taiwan.
I'm passionate about building software that is reliable and correct.
π¦ Haskell Packages
I'm the maintainer of several Haskell packages:
monoidmap
The monoidmap package provides the MonoidMap type, which represents a total function from keys to monoidal values with finite support and a default of mempty.
There are several complementary packages:
| Package | Description |
|--|--|
| π¦ monoidmap | Provides the core MonoidMap data type and functions. |
| π¦ monoidmap-examples | Provides worked examples of how to use MonoidMap. |
| π¦ monoidmap-aeson | Provides support for JSON encoding with aeson. |
| π¦ monoidmap-hashable | Provides support for in-memory hashing with hashable. |
| π¦ monoidmap-quickcheck | Provides support for property testing with QuickCheck. |
| π¦ monoidmap-internal | Provides low-level internal functions. π |
Property Testing
| Package | Description |
|--|--|
| π¦ quickcheck-groups | QuickCheck support for the groups library. |
| π¦ quickcheck-monoid-subclasses | QuickCheck support for the monoid-subclasses library. |
| π¦ quickcheck-quid | Quasi-unique identifiers for QuickCheck. |
Miscellaneous
| Package | Description |
|--|--|
| π¦ bech32 | Support for the Bech32 encoding standard. |
| π¦ haskell-calculator | Functional reactive calculator with expression visualization. |
| π¦ haskell-example | Haskell CI template, ready to fork and go. |
| π¦ roc-id | Implementation of the ROC (Taiwan) UID Number (δΈθ―ζ°εη΅±δΈθθ) format. |
π« Connect
If you're interested in collaboration, feel free to reach out to me.
- πΌ LinkedIn: https://www.linkedin.com/in/knowlesjonathan/