文件名称:adt:Python的代数数据类型(实验性,未积极维护)
文件大小:28KB
文件格式:ZIP
更新时间:2024-06-04 09:02:50
python3 algebraic-data-types sum-types tagged-unions Python
adt adt是一个提供Python的库,它具有简洁直观的语法,并支持通过进行 。 注意:此项目是实验性的,作者未积极维护。 贡献和分叉绝对值得欢迎。 目录: 什么是代数数据类型? 代数数据类型(也称为ADT)是表示单个类型的多个变体的一种方法,每个变体可以具有一些与之关联的数据。 这个想法与标记的联合和和类型非常相似,在Python中将其表示为Enums 。 ADT可用于多种数据结构,包括二进制树: @ adt class Tree : EMPTY : Case LEAF : Case [ int ] NODE : Case [ "Tree" , "Tree" ] 抽象语法树(例如您可能作为解析器,编译器或解释器的一部分实现): @ adt class Expression : LITERAL : Case [ float ]
【文件预览】:
adt-master
----.circleci()
--------config.yml(3KB)
----.gitignore(1KB)
----README.md(13KB)
----tests()
--------test_overrides.py(2KB)
--------test_list.py(2KB)
--------test_empty.py(219B)
--------test_readme.py(3KB)
--------test_either.py(3KB)
--------__init__.py(0B)
--------test_invalid.py(480B)
--------test_mypy_plugin.py(2KB)
--------source_files()
--------helpers.py(551B)
--------test_maybe.py(2KB)
----mypy.ini(35B)
----.vscode()
--------settings.json(608B)
----LICENSE(1KB)
----script()
--------README.md(1KB)
--------bootstrap(249B)
--------test(467B)
--------typecheck(372B)
--------LICENSE(1KB)
--------reformat(167B)
--------test_install(312B)
--------deploy(446B)
----CONTRIBUTING.md(1KB)
----adt()
--------decorator.py(5KB)
--------case.py(2KB)
--------__init__.py(141B)
--------mypy_plugin.py(13KB)
--------py.typed(1B)
----requirements.txt(85B)
----setup.py(1KB)