Author: Juergen Boemmels <boemm...@web.de> Branch: Changeset: r32:2f84a6d52477 Date: 2011-12-29 22:05 +0100 http://bitbucket.org/pypy/lang-scheme/changeset/2f84a6d52477/
Log: Implement not function diff --git a/scheme/procedure.py b/scheme/procedure.py --- a/scheme/procedure.py +++ b/scheme/procedure.py @@ -3,7 +3,7 @@ W_Number, W_Real, W_Integer, W_List, W_Character, W_Vector, \ Body, W_Procedure, W_String, W_Promise, plst2lst, w_undefined, \ SchemeSyntaxError, SchemeQuit, WrongArgType, WrongArgsNumber, \ - w_nil + w_nil, w_true, w_false ## # operations @@ -534,6 +534,19 @@ def predicate(self, w_obj): return w_obj is w_nil +class Not(W_Procedure): + _symbol_name = "not" + + def procedure(self, ctx, lst): + if len(lst) != 1: + raise WrongArgsNumber + + w_bool = lst[0] + if w_bool.to_boolean(): + return w_false + else: + return w_true + ## # Input/Output procedures _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit