Hey guys,
 
I am learning to use HOL. I find an interesting thing about the use of symbol | 
in HOL4.
 I defined an function named fir, as follows:
 - val fir_def = Define`
    (fir []  n = [] ) |
    (fir p 0 = [])`;
 But failed , it responsed that:
 Don't expect to find a | in this position after a <beginning of input>
at line 5, character 22 and in compiler-generated text.
 Exception raised at Absyn.Absyn:
in compiler-generated text:
Don't expect to find a | in this position after a <beginning of input>
at line 5, character 22 and in compiler-generated text.
 ! Uncaught exception:
! HOL_ERR
  
 Then, I tried again , as follows:
 - fun fir ([] , n) = []
   | fir (p ,0 )= [] ;
 It succeeded.
  
 Now, I have two questions:
 1??Why  can't  the symbol | be used in "Define"?
 2??What are the differences between "Define" and "fun"?
  
 Thanks! --Wish.
------------------------------------------------------------------------------
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to