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.

you are viewing a single comment's thread
view the rest of the comments
[–] 5 points 1 year ago (1 child)

"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.

  • source
  • hideshow 2 child comments
  • [–] [S] 4 points 1 year ago* (2 children)