Class LetExpression

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<LetExpression>

    public class LetExpression
    extends java.lang.Object
    implements java.io.Serializable, java.lang.Comparable<LetExpression>
    Local variable bindings. Serializes as (let [x 1 y 2] body) in Clojure (always sequential), (let ((x 1) (y 2)) body) or (let* ...) in other dialects
    See Also:
    Serialized Form
    • Field Detail

      • TYPE_

        public static final Name TYPE_
        Name of the hydra.lisp.syntax.LetExpression type.
      • KIND

        public static final Name KIND
        Name of the hydra.lisp.syntax.LetExpression.kind field.
      • BINDINGS

        public static final Name BINDINGS
        Name of the hydra.lisp.syntax.LetExpression.bindings field.
      • BODY

        public static final Name BODY
        Name of the hydra.lisp.syntax.LetExpression.body field.
      • kind

        public final LetKind kind
        The kind of let (parallel or sequential)
      • bindings

        public final java.util.List<LetBinding> bindings
        The variable bindings
      • body

        public final java.util.List<Expression> body
        The body expressions
    • Constructor Detail

      • LetExpression

        public LetExpression​(LetKind kind,
                             java.util.List<LetBinding> bindings,
                             java.util.List<Expression> body)
        Constructs an immutable LetExpression.
        Parameters:
        kind - The kind of let (parallel or sequential)
        bindings - The variable bindings
        body - The body expressions
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • compareTo

        public int compareTo​(LetExpression other)
        Specified by:
        compareTo in interface java.lang.Comparable<LetExpression>