{"articles":[{"slug":"making-a-gtk-application-in-haskell-part-1","title":"Making a GTK application in Haskell, part 1","subtitle":null,"summary":"Feriel Choutri de Tarlé starts a Floreal Technologies tutorial series building a todo-list desktop app in Haskell with GTK 4 and the Adwaita library, setting up the project, a model-view-update architecture, and a runtime that redraws the window when the model changes.","content_type":"tutorial","language":"en","canonical_url":"https://floreal.tech/blog/2026/making-a-gtk-app-in-haskell-part-1/","author":{"name":"Feriel Choutri de Tarlé","url":"https://floreal.tech/authors/feriel-choutri-de-tarle/","person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Floréal Technologies","url":"https://floreal.tech/","listing_slug":null,"listing":null},"topics":[{"name":"Haskell","slug":"haskell","url":"https://listedarticles.com/topics/haskell"},{"name":"Programming","slug":"programming","url":"https://listedarticles.com/topics/programming"},{"name":"Tutorials","slug":"tutorials","url":"https://listedarticles.com/topics/tutorials"},{"name":"Linux","slug":"linux","url":"https://listedarticles.com/topics/linux"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1668,"reading_minutes":7,"published_at":"2026-10-05T00:00:00.000Z","added_at":"2026-10-05T17:17:03.680Z","updated_at":"2026-10-05T17:17:03.680Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/making-a-gtk-application-in-haskell-part-1","markdown_url":"https://listedarticles.com/articles/making-a-gtk-application-in-haskell-part-1.md","example":false,"citation":"Feriel Choutri de Tarlé, Floréal Technologies. \"Making a GTK application in Haskell, part 1.\" 5 Oct 2026. https://floreal.tech/blog/2026/making-a-gtk-app-in-haskell-part-1/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://floreal.tech/blog/2026/making-a-gtk-app-in-haskell-part-1/"},"snippet":null,"score":null},{"slug":"full-haskell-like-type-class-resolution-in-java","title":"Full Haskell-like Type Class resolution in Java","subtitle":null,"summary":"Gabriel Garcia re-implements Haskell-style type classes in pure Java: using reflection and generics to parse static types, unify them, and automatically resolve instance witnesses, then extends the approach to higher-kinded types, context instances and overlapping instances, with worked examples like Show, Monoid, Traversable and Monad.","content_type":"tutorial","language":"en","canonical_url":"https://garciat.com/posts/java-type-classes/","author":{"name":"Gabriel Garcia","url":"https://garciat.com/","person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"garciat.com","url":"https://garciat.com/","listing_slug":null,"listing":null},"topics":[{"name":"Programming Languages","slug":"programming-languages","url":"https://listedarticles.com/topics/programming-languages"},{"name":"Java","slug":"java","url":"https://listedarticles.com/topics/java"},{"name":"Haskell","slug":"haskell","url":"https://listedarticles.com/topics/haskell"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":7285,"reading_minutes":32,"published_at":"2025-12-06T00:00:00.000Z","added_at":"2026-10-27T11:12:36.530Z","updated_at":"2026-10-27T11:12:36.530Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/full-haskell-like-type-class-resolution-in-java","markdown_url":"https://listedarticles.com/articles/full-haskell-like-type-class-resolution-in-java.md","example":false,"citation":"Gabriel Garcia, garciat.com. \"Full Haskell-like Type Class resolution in Java.\" 6 Dec 2025. https://garciat.com/posts/java-type-classes/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://garciat.com/posts/java-type-classes/"},"snippet":null,"score":null},{"slug":"typescript-and-haskell-unions-and-singletons","title":"TypeScript and Haskell: Unions & Singletons","subtitle":null,"summary":"Gabriel Garcia explores how TypeScript's combination of union types and literal (singleton) types gives APIs precision, then tries to reproduce the same pattern in Haskell with type families, unboxed sums and singleton naturals, showing where the encodings get awkward and why they fail to behave like a set of types.","content_type":"tutorial","language":"en","canonical_url":"https://garciat.com/posts/haskell-union-types/","author":{"name":"Gabriel Garcia","url":"https://garciat.com/","person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"garciat.com","url":"https://garciat.com/","listing_slug":null,"listing":null},"topics":[{"name":"Programming Languages","slug":"programming-languages","url":"https://listedarticles.com/topics/programming-languages"},{"name":"Haskell","slug":"haskell","url":"https://listedarticles.com/topics/haskell"},{"name":"TypeScript","slug":"typescript","url":"https://listedarticles.com/topics/typescript"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":428,"reading_minutes":2,"published_at":"2024-12-14T00:00:00.000Z","added_at":"2026-10-27T14:23:31.095Z","updated_at":"2026-10-27T14:23:31.095Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/typescript-and-haskell-unions-and-singletons","markdown_url":"https://listedarticles.com/articles/typescript-and-haskell-unions-and-singletons.md","example":false,"citation":"Gabriel Garcia, garciat.com. \"TypeScript and Haskell: Unions & Singletons.\" 14 Dec 2024. https://garciat.com/posts/haskell-union-types/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://garciat.com/posts/haskell-union-types/"},"snippet":null,"score":null}],"total":3,"count":3,"next_offset":null,"has_more":false,"query":{"q":null,"content_type":"tutorial","topic":"haskell","publisher":null,"about":null,"author":null,"language":null,"sort":"newest","limit":20,"offset":0}}