[Python-ideas] where statement in Pyret
Tarek Ziadé
tarek at ziade.org
Sun Nov 10 10:55:16 CET 2013
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20131110/1759b7f1/attachment.html>
More information about the Python-ideas
mailing list