Exemplo n.º 1
0
def _parse_boolean(token_supply):
    """Parse a boolean literal."""
    boolean_token = token_supply.next()
    assert isinstance(boolean_token, tokens.BooleanLiteral)
    text = boolean_token.text.lower()
    if text == '#t':
        return datatypes.lisp_bool(True)
    elif text == '#f':
        return datatypes.lisp_bool(False)
    else:
        raise ValueError('Unexpected boolean literal `%s`.' % text)
Exemplo n.º 2
0
def _parse_boolean(token_supply):
    """Parse a boolean literal."""
    boolean_token = token_supply.next()
    assert isinstance(boolean_token, tokens.BooleanLiteral)
    text = boolean_token.text.lower()
    if text == '#t':
        return datatypes.lisp_bool(True)
    elif text == '#f':
        return datatypes.lisp_bool(False)
    else:
        raise ValueError('Unexpected boolean literal `%s`.' % text)
Exemplo n.º 3
0
def _le(left, right):
    return datatypes.lisp_bool(left <= right)
Exemplo n.º 4
0
def _is_vector(candidate):
    return datatypes.lisp_bool(isinstance(candidate, datatypes.Vector))
Exemplo n.º 5
0
def _ge(left, right):
    return datatypes.lisp_bool(left >= right)
Exemplo n.º 6
0
def _lt(left, right):
    return datatypes.lisp_bool(left < right)
Exemplo n.º 7
0
def _gt(left, right):
    return datatypes.lisp_bool(left > right)
Exemplo n.º 8
0
def _is_truthy(value):
    """Return False iff value is #f."""
    # Scheme defines nearly everything to be truthy.  Only #f is falsey!
    # TODO(jasonpr): Consider violating the Scheme spec, and doing
    # something more Pythonic.
    return value != datatypes.lisp_bool(False)
Exemplo n.º 9
0
def _is_truthy(value):
    """Return False iff value is #f."""
    # Scheme defines nearly everything to be truthy.  Only #f is falsey!
    # TODO(jasonpr): Consider violating the Scheme spec, and doing
    # something more Pythonic.
    return value != datatypes.lisp_bool(False)