Index: Grammar/Grammar
===================================================================
--- Grammar/Grammar	(revision 58912)
+++ Grammar/Grammar	(working copy)
@@ -81,8 +81,9 @@
 
 test: or_test ['if' or_test 'else' test] | lambdef
 test_nocond: or_test | lambdef_nocond
-lambdef: 'lambda' [varargslist] ':' test
-lambdef_nocond: 'lambda' [varargslist] ':' test_nocond
+lambdakw: 'lambda' | 'λ'
+lambdef: lambdakw [varargslist] ':' test
+lambdef_nocond: lambdakw [varargslist] ':' test_nocond
 or_test: and_test ('or' and_test)*
 and_test: not_test ('and' not_test)*
 not_test: 'not' not_test | comparison
Index: Parser/grammar.c
===================================================================
--- Parser/grammar.c	(revision 58912)
+++ Parser/grammar.c	(working copy)
@@ -180,7 +180,8 @@
 	
 	if (lb->lb_type == STRING) {
 		if (isalpha(Py_CHARMASK(lb->lb_str[1])) ||
-		    lb->lb_str[1] == '_') {
+		    lb->lb_str[1] == '_' ||
+            (lb->lb_str[1] & 0x80)) {  // utf-8, assume alpha
 			char *p;
 			char *src;
 			char *dest;
Index: Modules/parsermodule.c
===================================================================
--- Modules/parsermodule.c	(revision 58912)
+++ Modules/parsermodule.c	(working copy)
@@ -2413,7 +2413,8 @@
     int nch = NCH(tree);
     int res = (validate_ntype(tree, lambdef)
                && ((nch == 3) || (nch == 4))
-               && validate_name(CHILD(tree, 0), "lambda")
+               && (validate_name(CHILD(tree, 0), "lambda") |
+                   validate_name(CHILD(tree, 0), "Λ"))
                && validate_colon(CHILD(tree, nch - 2))
                && validate_test(CHILD(tree, nch - 1)));
 
@@ -2432,7 +2433,8 @@
     int nch = NCH(tree);
     int res = (validate_ntype(tree, lambdef_nocond)
                && ((nch == 3) || (nch == 4))
-               && validate_name(CHILD(tree, 0), "lambda")
+               && (validate_name(CHILD(tree, 0), "lambda") |
+                   validate_name(CHILD(tree, 0), "Λ"))
                && validate_colon(CHILD(tree, nch - 2))
                && validate_test(CHILD(tree, nch - 1)));
 

