Skip to content

clericJ/overlaoding-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Библиотека динамической перегрузки функций и методов основанной на типах аргументов для языка python

Библиотека `overloading` определяет средства позволяющие писать перегруженные функции и методы в вашем коде. Весь функционал реализован в единственном модуле `overloading.py`.

Так-же стоит добавить что библиотека была вдохновлена PEP 3124, в ней нет и половины возможностей и расширяемости первоисточника, но я писал её скорее для фана (однако в дальнейшем я использовал её в нескольких своих проектах). В моём представлении она должна выполнять свою основную задачу, добавлять в язык перегрузку функций, основанную на типах аргументов, максимально близкую к реализации оной из C++. Т.е. от идеи включения в библиотеку реализации интерфейсов и прочего функционала, я отказался, сосредоточившись на перегрузке. Так как писал я библиотеку на чистом python'е и поиск функций происходит в runtime, то старался максимально сократить время поиска среди кандидатов, подходящей функции (Phillip J. Eby, автор PEP`а и библиотеки PEAK для оптимизации использовал Bytecode Assembler, а это сильная магия:))

About

Python overlaoding library

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
license.txt
Unknown
license-ru.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published