Raw constructor for vl-erange-p structures.
Syntax:
(vl-erange type left right)
This is the lowest-level constructor for vl-erange-p structures. It simply conses together a structure with the specified fields.
Note: It's generally better to use macros like make-vl-erange or change-vl-erange instead. These macros lead to more readable and robust code, because you don't have to remember the order of the fields.
The vl-erange-p structures we create here are just constructed with ordinary cons. If you want to create honsed structures, see honsed-vl-erange instead.
This is an ordinary constructor function introduced by defaggregate.
Function:
(defun vl-erange (type left right) (declare (xargs :guard (and (vl-erangetype-p type) (vl-expr-p left) (vl-expr-p right)))) (cons :vl-erange (cons type (cons left right))))