[Python-ideas] where statement in Pyret
Markus Unterwaditzer
markus at unterwaditzer.net
Sun Nov 10 11:00:03 CET 2013
While it is a nice idea, i don't think this feature deserves its own syntax. Besides doctests, another way of achieving this in Python might be:
def sum(l):
# implementation of sum
def test_sum():
assert sum([]) == 0
assert sum([1, 2, 3]) == 6
which IMO is nice enough.
-- Markus
"Tarek Ziadé" <tarek at ziade.org> wrote:
>Hey
>
>I've read about Pyret on hackernews: http://www.pyret.org/
>
>and found the 'where' statement very compeling. Functions can end with
>a
>where that contains small unit
>tests.
>
>>From the documentation example:
>
>fun sum(l):
> cases(List) l:
> | empty => 0
> | link(first, rest) => first + sum(rest)
> end
>where:
> sum([]) is 0
> sum([1, 2, 3]) is 6
>end
>
>
>It's quite similar to the doctests ideas I guess - but not intended to
>be documentation like them.
>
>I ended up disliking docttests because of this doc+test duality by the
>way: it often ends up as a
>not so good documentation and not so good tests.
>
>Anyways, having a dedicated keyword to append after a function some
>tests as part of the language
>has benefits imho:
>
>- the scope is reduced to the function - so it helps making 'real'
>isolated unit tests.
>- we do have the unittest conventions, but here it make tests a first
>class citizen in the language.
>
>Cheers
>Tarek
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Python-ideas mailing list
>Python-ideas at python.org
>https://mail.python.org/mailman/listinfo/python-ideas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20131110/cf56e0ea/attachment-0001.html>
More information about the Python-ideas
mailing list