Hacker Talks
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Noughtmare@programming.dev to Haskell@programming.devEnglish · 1 year ago

Search Index in 150 Lines of Haskell

entropicthoughts.com

external-link
message-square
4
link
fedilink
  • cross-posted to:
  • [email protected]
8
external-link

Search Index in 150 Lines of Haskell

entropicthoughts.com

Noughtmare@programming.dev to Haskell@programming.devEnglish · 1 year ago
message-square
4
link
fedilink
  • cross-posted to:
  • [email protected]

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.

alert-triangle
You must log in or # to comment.
  • gedhrel@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    “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.devOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Not only is it convenient, it also enables parallelism:

      “How to Think about Parallel Programming: Not!” - Guy L. Steele Jr. (Strange Loop 2010)

      • gedhrel@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

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

      • gedhrel@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

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

Haskell@programming.dev

haskell@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: [email protected]
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1 user / day
  • 15 users / week
  • 21 users / month
  • 73 users / 6 months
  • 1 local subscriber
  • 631 subscribers
  • 133 Posts
  • 26 Comments
  • Modlog
  • mods:
  • haskman@programming.dev
  • UI: unknown version
  • BE: 0.19.17
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org