<div dir="ltr"><div></div><div></div><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0px 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)">I am using scotty and Text.Blaze.Html5 Text.Digestive Text.Digestive.Blaze.Html5<br> What I want to achieve is a list of options as shown below.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0px 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><br></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)">I have a Option sum type and will like to restrict the user to those options.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">data Options = Option1 | Option2 | Option3 | Option4 deriving Show</code></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)">Below is the Register record typeY</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">data Register = Register</code></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">{ regName::Text</code></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">, regOption::Options</code></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">} deriving (Show,Eq)</code></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)">My problem is with Text.Digestive.choice.<br>I don't know how to use it with Text.Digestive.Blaze.Html5 and will appreciate your help on the correct way to achieve this.<br>I have tried to use the code below but battle to get it right.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">registerForm :: Monad m => Form Text m Register</code><br><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">registerForm = Register</code><br>   <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto"><$> "name"     .: text Nothing</code>   <br>   <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto"><*> "options" .: choice options Nothing</code><br>   <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">where</code><br>     <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">options= [(Option1,"Option1"),(Option2,"Option2"),  (Option3,</code><br>       <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">"Option3"),Option4,"Option4"]</code><br><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">registerView:: View H.Html -> H.Html</code><br><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">registerView view = do</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">label     "name" view "Name: "</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">inputText "name" view</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">H.br</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">label       "options" view "Options: "</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">inputSelect "options" view</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">H.br</code></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)">I get the following error when I compile my code:</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0.25em;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">/root/work/src/Adapter/HTTP/Web/Auth.hs:107:29: error:</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">• Couldn't match type ‘Text’ with ‘Char’</code><br>        <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">arising from the literal ‘"Option1"’</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">• In the first argument of ‘pack’, namely ‘"Option1"’</code><br>      <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">In the expression: pack "Option1"</code><br>      <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">In the expression: (Option1, pack "Option1")</code><br>    <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">|</code><br><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM" style="margin:0px 2px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-stretch:inherit;font-size:13px;line-height:20px;font-family:"Noto Mono",Menlo,Monaco,Consolas,monospace;vertical-align:baseline;max-width:100%;overflow:auto">107 |     options=  [(Option1,pack "Option1"),(Option2,pack "Option2"),(Option3,pack "Option3"),(Option4,pack "Option4")]</code><br>   </p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM" style="margin:0px;padding:0.8em 0px 0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)">Your help will be highly appreciated.</p><div class="gmail-_2-UiOdhyj4wHBv7Rc2FeDr gmail-c1cmiB1jfdq4sxidlPDAx" style="margin:24px 0px 0px;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:14px;line-height:inherit;font-family:"Noto Sans",Arial,sans-serif;vertical-align:baseline;color:rgb(26,26,27)"><div class="gmail-_3Oa0THmZ3f5iZXAQ0hBJ0k gmail-_2LjgQiHLCZ9LDbCQx5KaOi" style="margin:0px auto;padding:0px;border:0px;font:inherit;vertical-align:baseline;display:flex"><br class="gmail-Apple-interchange-newline"></div></div></div>