At 11:45 PM 6/15/2006 +0100, Nicko van Someren wrote: >On 15 Jun 2006, at 11:37, Nick Coghlan wrote: > > ... > > The lack of a switch statement doesn't really bother me personally, > > since I > > tend to just write my state machine type code so that it works off a > > dictionary that I define elsewhere, > >Not trying to push more LISP into python or anything, but of course >we could converge your method and the switch statement elegantly if >only we could put whole suites into lamdbas rather than just single >expressions :-)
As has already been pointed out, this 1) adds function call overhead, 2) doesn't allow changes to variables in the containing function, and 3) even if we had a rebinding operator for free variables, we would have the overhead of creating closures. The lambda syntax does nothing to fix any of these problems, and you can already use a mapping of closures if you are so inclined. However, you'll probably find that the cost of creating the dictionary of closures exceeds the cost of a naive sequential search using if/elif. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com