equal
deleted
inserted
replaced
114 is defined in terms of @{text "Queue"} and interprets its arguments |
114 is defined in terms of @{text "Queue"} and interprets its arguments |
115 according to what the \emph{content} of an amortised queue is supposed |
115 according to what the \emph{content} of an amortised queue is supposed |
116 to be. |
116 to be. |
117 |
117 |
118 The prerequisite for datatype constructors is only syntactical: a |
118 The prerequisite for datatype constructors is only syntactical: a |
119 constructor must be of type @{text "\<tau> = \<dots> \<Rightarrow> \<kappa> \<alpha>\<^isub>1 \<dots> \<alpha>\<^isub>n"} where @{text |
119 constructor must be of type @{text "\<tau> = \<dots> \<Rightarrow> \<kappa> \<alpha>\<^sub>1 \<dots> \<alpha>\<^sub>n"} where @{text |
120 "{\<alpha>\<^isub>1, \<dots>, \<alpha>\<^isub>n}"} is exactly the set of \emph{all} type variables in |
120 "{\<alpha>\<^sub>1, \<dots>, \<alpha>\<^sub>n}"} is exactly the set of \emph{all} type variables in |
121 @{text "\<tau>"}; then @{text "\<kappa>"} is its corresponding datatype. The |
121 @{text "\<tau>"}; then @{text "\<kappa>"} is its corresponding datatype. The |
122 HOL datatype package by default registers any new datatype with its |
122 HOL datatype package by default registers any new datatype with its |
123 constructors, but this may be changed using @{command_def |
123 constructors, but this may be changed using @{command_def |
124 code_datatype}; the currently chosen constructors can be inspected |
124 code_datatype}; the currently chosen constructors can be inspected |
125 using the @{command print_codesetup} command. |
125 using the @{command print_codesetup} command. |