Sha256: 979fffd54a057cb302ee4d25d72e2cbb3ba8fca67a9876e2167a315f8391e6b3

Contents?: true

Size: 436 Bytes

Versions: 213

Compression:

Stored size: 436 Bytes

Contents

module Hamming
  ( distance
  ) where

import Prelude
import Data.Maybe (Maybe(Just, Nothing))
import Data.Tuple (Tuple(..))
import Data.String (uncons)

distance :: String -> String -> Maybe Int
distance dna1 dna2 = case Tuple (uncons dna1) (uncons dna2) of
  Tuple (Just {head: h1, tail: t1}) (Just {head: h2, tail: t2}) -> (if h1 /= h2 then ((+) 1) else id) <$> distance t1 t2
  Tuple Nothing Nothing -> Just 0
  Tuple _ _ -> Nothing

Version data entries

213 entries across 213 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.179 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.178 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.177 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.176 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.175 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.174 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.173 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.172 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.171 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.170 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.169 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.167 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.166 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.165 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.164 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.163 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.162 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.161 tracks/purescript/exercises/hamming/examples/src/Hamming.purs
trackler-2.2.1.160 tracks/purescript/exercises/hamming/examples/src/Hamming.purs