<div dir="ltr"><div><span style="font-family:monospace,monospace">Hello -<br><br>Thank you for the clarification about how I was using 'eq' wrong.<br><br></span></div><span style="font-family:monospace,monospace">Basically I had just been going through *all* the signatures / definitions in list.urs and list.ur, trying out an example of each one in a web page, for learning purposes. <br><br>But as you explained, in the case of 'eq', an expression like 'eq nums1 nums2' would not normally be used - the way to test for equality would be by simply writing 'nums1 = nums2'.<br></span><div><span style="font-family:monospace,monospace"><br>I have corrected this simple web page (file list_test.ur) accordingly:<br></span><div><span style="font-family:monospace,monospace"><br>  open List<br><br>  val nums1 = 1 :: 2 :: 3 :: []<br>  val nums2 = 101 :: 102 :: 103 :: []<br><br>  val fn1 x y = (2 * x) + y<br>  val minus100 x = x - 100<br><br>  (* val nums1eqnums2 = (nums1 = nums2) *)<br><br>  fun main () : transaction page =<br>  return <xml><body><br>      <li> val nums1 = 1 :: 2 :: 3 :: []</li><br>      <li> val nums2 = 101 :: 102 :: 103 :: []</li><br>      <li> val fn1 x y = (2 * x) + y</li><br>      <li> foldl fn1 1 nums1 = {[ foldl fn1 1 nums1 ]}</li><br>      <li> foldl fn1 1 nums2 = {[ foldl fn1 1 nums2 ]}</li><br>      <li> mp minus100 nums2 = {[ mp minus100 nums2 ]}</li><br>      <li> (nums1 = nums2) = {[ nums1 = nums2 ]}</li><br>      <li> (nums1 = (mp minus100 nums2)) = {[ nums1 = (mp minus100 nums2) ]}</li><br>  </body></xml><br><br></span></div><div><span style="font-family:monospace,monospace">(The line </span><span style="font-family:monospace,monospace">val nums1eqnums2 = (nums1 = nums2) is shown above, but commented out. In this particular scenario, it would not be necessary, since the expression 'nums1 = nums2' is being "spliced into" the HTML and is thus isolated from any preceding expressions.)<br><br></span></div><div><span style="font-family:monospace,monospace">The above code now compiles, and when I visit the following page in the browser:<br><br>  <a href="http://127.0.0.1:8080/List_test/main">http://127.0.0.1:8080/List_test/main</a><br><br></span></div><div><span style="font-family:monospace,monospace">it correctly displays:<br><br>  - val nums1 = 1 :: 2 :: 3 :: []<br>  - val nums2 = 101 :: 102 :: 103 :: []<br>  - val fn1 x y = (2 * x) + y<br>  - foldl fn1 1 nums1 = 13<br>  - foldl fn1 1 nums2 = 613<br>  - mp minus100 nums2 = 1 :: 2 :: 3 :: []<br>  - (nums1 = nums2) = False<br>  - (nums1 = (mp minus100 nums2)) = True</span></div><div><span style="font-family:monospace,monospace"><br>###<br></span></div></div></div>