Search Index in 150 Lines of Haskell

https://entropicthoughts.com/search-index-150-lines-haskell

I stumbled over Bart de Goede’s article on building a full-text search engine in 150 lines of Python, and was reminded of my quest to show how useful Haskell is for solving real-world problems. Python is an eminently practical language, so nobody is surprised this can be done in Python. But Haskell? The Python code spends a lot of time updating mutable dictionaries. Surely we cannot easily port this code over to Haskell.

Let’s find out.

8 points · 4 comments · view on lemmy.world

4 Comments

gedhrel@lemmy.world · 6 pts · 1y (3 replies)

"Since we are talking about aggregating documents into an index, the word semigroup might pop into our heads."

This is why Haskell tutorials have a bad rep. Why not use a common English term like "monoid" instead?

Snark aside, the <> approach to solving the problem piecewise and aggregating the results into a larger instance of the same type is a really convenient approach.

Noughtmare@programming.dev · 4 pts · 1y (2 replies)
gedhrel@lemmy.world · 3 pts · 1y

Yes! Steele's Fortress-era talks are amazing. Really thought-provoking.

gedhrel@lemmy.world · 1 pts · 1y

Yes! Steele's Fortress-era talks are amazing. Really thought-provoking.