Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save awalterschulze/ce715c85161ee9d149553a9cf2411860 to your computer and use it in GitHub Desktop.
Save awalterschulze/ce715c85161ee9d149553a9cf2411860 to your computer and use it in GitHub Desktop.
medium-derivative-of-a-regex-derive-answer-2.hs
derive "b*(b|c)" 'b'
= (derive "b*" 'b') `concat` "b|c"
`or`
(derive "b|c" 'b')
= (derive "b" 'b') `concat` "b*" `concat` "b|c"
`or`
(derive "b" 'b') `or` (derive "c" 'b')
= "ε" `concat` "b*" `concat` "b|c"
`or`
"ε" `or` "∅"
= "(εb*(b|c))|(ε|∅)"
= "b*(b|c)|ε"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment