-- | This module provides utilities for manipulating exercises.
module Study.Framework.Lojban.ExerciseUtils
( simplifyTerminatorsInCanonicalAnswer
) where

import Core
import Language.Lojban.Refinement (simplifyTerminatorsInSentence)

-- * Terminator ellisis
-- | Decorates an exercise so that 'simplifyTerminatorsInSentence' is applied to its canonical answer.
simplifyTerminatorsInCanonicalAnswer :: Exercise -> Exercise
simplifyTerminatorsInCanonicalAnswer :: Exercise -> Exercise
simplifyTerminatorsInCanonicalAnswer (TypingExercise Text
title [ExerciseSentence]
sentences Text -> Bool
validate Text
canonicalAnswer) = Text -> [ExerciseSentence] -> (Text -> Bool) -> Text -> Exercise
TypingExercise Text
title [ExerciseSentence]
sentences Text -> Bool
validate (Text -> Text
simplifyTerminatorsInSentence Text
canonicalAnswer)
simplifyTerminatorsInCanonicalAnswer Exercise
x = Exercise
x