如何将惰性文本转换为非惰性文本?

时间:2011-09-21 21:07:44

标签: haskell yesod

我是Haskell的新手,所以这可能是一个微不足道的问题。我看到一条错误消息,上面写着

Couldn't match expected type 'Data.Text.Lazy.Internal.Text'
with actual type 'Data.Text.Internal.Text'

我认为问题是实际类型是Data.Text.Text并且它需要延迟文本。如何将一个转换为另一个?

编辑:

这是一个提供此错误的简化代码。

{-# LANGUAGE OverloadedStrings #-}
import Data.Text.Lazy.Encoding import Network.Mail.Mime import Yesod
data FormData = FormData { dataField :: Textarea } deriving Show
part d = Part { partType = "text/plain; charset=utf-8" , partEncoding = None , partFilename = Nothing , partContent = encodeUtf8 $ unTextarea $ dataField d , partHeaders = [] }
main = return ()
基本上我有一个带有textarea输入元素的yesod表单,我想通过电子邮件发送textarea的内容。

1 个答案:

答案 0 :(得分:21)

来自Data.Text.Lazy

toStrict会按照您的要求执行(将懒惰转换为严格)。