2017-02-21 4 views
0

私はHaskellの新人です。Reflex.DomとCSS(Cascading Style Sheets)というライブラリを使ってシンプルなウェブサイトを構築しようとしています。Map Text Textオブジェクトとして表現されていますが、Haskellは、同一のオブジェクト:PythonやJavaScriptで確かマップテキストテキストオブジェクトの作成方法は?

  • String
  • Text
  • [Char]

、これらは、同一またはほぼ同じ機能および機能は、あるオブジェクトと他のオブジェクトとの間で交換可能に使用することができる。ハスケルではそうではない。ここで

square-01.hs:6:47: 
    Couldn't match type ‘Text’ with ‘[Char]’ 
    Expected type: String 
     Actual type: Text 
    In the second argument of ‘(=:)’, namely ‘pack ("color:red")’ 
    In the second argument of ‘elAttr’, namely 
     ‘("style" =: pack ("color:red"))’ 

プレリュードから少しですが、私は実際に取得しない約

"style" =: pack("color:red; font-family: Helvetica;") 

私は別のスタイル要素を追加した場合、私はエラーメッセージが表示されますが、どのように

"style" =: pack("color:red") 

それ。

Prelude Reflex.Dom Data.Text Data.Map> "a" =: pack("b") 
fromList [("a","b")] 

Prelude Reflex.Dom Data.Text Data.Map> :t "a" =: pack("b") 
"a" =: pack("b") :: Map [Char] Text 

Prelude Reflex.Dom Data.Text Data.Map> "a" =: "b" 
fromList [("a","b")] 

Prelude Reflex.Dom Data.Text Data.Map> :t "a" =: "b" 
"a" =: "b" :: Map [Char] [Char] 

Prelude Reflex.Dom Data.Text Data.Map> :t (=:) 
(=:) :: k -> a -> Map k a 
+1

'{ - #LANGUAGE OverloadedStrings# - }'をファイルの先頭に追加し、これらのエラーが消えるのを見てください。 – Alec

+1

より一般的に、 '[Char]'と 'String'は同じですが、' Text'は異なります。 – Alec

+0

@Alecそれはすでにそこにある –

答えて

0

https://github.com/hansroland/reflex-dom-inbitsを参照してください。あなたの質問への答えのために

はとdom04.hs SRCディレクトリにをdom03.hs 例を参照してください。

ファイルtutorial.mdには初心者向けのreflex-domの紹介とその例が説明されています。チュートリアルはまだの作業中です

関連する問題