# ZuriHac 2025 Trip Report

**URL:** <https://discourse.haskell.org/t/zurihac-2025-trip-report/12333>\
**Category:** Links\
**Created:** [June 17, 2025, 7:22am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333 "2025-06-17T07:22:54Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![tristanC](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tristanc/32/827_2.png) [@tristanC](https://discourse.haskell.org/u/tristanC)\
**Post date:** [June 17, 2025, 7:22am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/1 "2025-06-17T07:22:54Z")

</div>

In this post I share my experience of attending ZuriHac.

> **[ZuriHac 2025 Trip Report](https://midirus.com/blog/zurihac2025)**
>
> The Haskell community gathered at the OST campus for ZuriHac, a three-day hackathon. Like in 2023, I was able to attend the event in person, and this post is my trip report.

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [June 17, 2025, 7:41am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/2 "2025-06-17T07:41:27Z")

</div>

Great post! I was also delighted to meet you in person 😃

---

<div class="post-metadata">

**Author:** ![tristanC](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tristanc/32/827_2.png) [@tristanC](https://discourse.haskell.org/u/tristanC)\
**Post date:** [June 17, 2025, 7:45am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/3 "2025-06-17T07:45:37Z")

</div>

Thanks! It was nice to put a face to the names:) I wish we had more time to talk though, next time I hope!

---

<div class="post-metadata">

**Author:** ![farhad\_mehta](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/farhad_mehta/32/2951_2.png) [@farhad\_mehta](https://discourse.haskell.org/u/farhad_mehta)\
**Post date:** [June 20, 2025, 6:41am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/4 "2025-06-20T06:41:23Z")

</div>

Thanks for sharing your great report!

---

<div class="post-metadata">

**Author:** ![ocramz](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/ocramz/32/3713_2.png) [@ocramz](https://discourse.haskell.org/u/ocramz)\
**Post date:** [June 20, 2025, 7:06am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/5 "2025-06-20T07:06:05Z")

</div>

Very inspiring! Too bad I couldn’t attend this year (have 2 kids now ..). Would love to learn more about the Prolog bindings! Do you have a link?

---

<div class="post-metadata">

**Author:** ![tristanC](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tristanc/32/827_2.png) [@tristanC](https://discourse.haskell.org/u/tristanC)\
**Post date:** [June 20, 2025, 7:22am UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/6 "2025-06-20T07:22:26Z")

</div>

Thank you for the kind words, your feedback means a lot to me as that was challenging to write!

I think the Prolog bindings is still in progress, but the author promised it will be published on hackage once it is working.

---

<div class="post-metadata">

**Author:** ![rmgaray](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/rmgaray/32/5139_2.png) [@rmgaray](https://discourse.haskell.org/u/rmgaray)\
**Post date:** [June 20, 2025, 2:55pm UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/7 "2025-06-20T14:55:09Z")

</div>

I greatly enjoyed reading your report, I bookmarked so many things! 🙂

---

<div class="post-metadata">

**Author:** ![gdifolco](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/gdifolco/32/2416_2.png) [@gdifolco](https://discourse.haskell.org/u/gdifolco)\
**Post date:** [June 21, 2025, 11:39pm UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/8 "2025-06-21T23:39:56Z")

</div>

Thanks for the report, I’m glad we finally met in-person.

---

<div class="post-metadata">

**Author:** ![lortabac](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/lortabac/32/4597_2.png) [@lortabac](https://discourse.haskell.org/u/lortabac)\
**Post date:** [June 23, 2025, 3:16pm UTC](https://discourse.haskell.org/t/zurihac-2025-trip-report/12333/9 "2025-06-23T15:16:49Z")

</div>

I’m the one who is implementing the SWI Prolog bindings.

Let me start by warning you that I’m an expert producer of abandonware. Unfortunately I have very little time to work on hobby projects (I also have kids…). That being said, this particular library is quite limited in scope so I should be able to release it and maintain it.

> I learned that in order to expose Haskell data to SWI, the binding needed to assign variable names to the data, and I was surprised to hear that [unification-fd](https://hackage.haskell.org/package/unification-fd) could be used to solve this challenge.

Maybe I need to clarify that the only thing I needed from `unification-fd` is the `UTerm` data type. As you can guess, the actual unification is performed by Prolog.

However I was not really satisfied by that representation since it requires `Fix` and recursion schemes, which are hard to work with. So in the end I opted for a slightly different way to encode Prolog terms in Haskell. The work is mostly done but I need to clean up the code before making it public.
