Python: теперь и с синтаксисом Haskel
У некоторых питонистов есть и такая презабавная забава,- ругаться на синтаксис Python и предлагать всевозможные улучшения. Пользователь GitHub Pyos ушёл дальше всех, реализовав на Python проект Dogelang( сокращённо dg). Из описания на сайте следует, что dg,- это самостоятельный язык программирования, компилирующийся в байткод, примерно как Scala собирается в JVM. Кроме того, код на dg вполне работоспособен под PyPy. Что, по большому счёту значит, что dg, не больше и не меньше,- альтернативный синтаксис Python 3 (или Python3 из параллельного мира, как кому больше нравится). Ко всему прочему, это позволяет использовать все существующие и совместимые с 3-й версией языка Python библиотеки. Выглядит это примерно так:
import '/sys/stdin' IOTools = subclass object where #: Compute the average line length of a file. #: #: avglen :: TextIOBase -> NoneType #: avglen = staticmethod $ fd -> lengths = list $ map len fd count = len lengths total = sum lengths print 'Average line length:' $ if count > 0 => total / count otherwise => 0 IOTools.avglen stdin
Конечно, синтаксис dg кому-то может показаться непривычным, а кому-то наоборот,- слишком привычным и удобным.
Комментарии
Отправить комментарий