Skip to content

Commit f283913

Browse files
committed
docs: add acknowledgements documentation for TypePHP project
- Created English acknowledgements document recognizing core developers and contributors - Added comprehensive list of Git contributors with their specific areas of contribution - Included community and ecosystem contributors who helped with testing and outreach - Documented foundational projects like GCC, Clang/LLVM, MSVC, ISO C++ committee, PHP - Listed supporting libraries such as PHPX, Composer, CLImate, TopSort, Symfony components - Added Chinese translation of the acknowledgements document - Recognized contributors for PHP semantic compatibility, type system, optimization work
1 parent 1df976e commit f283913

2 files changed

Lines changed: 268 additions & 0 deletions

File tree

docs/en/ACKNOWLEDGEMENTS.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# Acknowledgements
2+
3+
TypePHP is built on decades of work by language designers, compiler engineers,
4+
runtime developers, standards contributors, maintainers, and open-source
5+
communities. The project would not be possible without the foundations they
6+
created and continue to improve.
7+
8+
## Project developers and contributors
9+
10+
### Core development
11+
12+
- **[Tianfeng Han (matyhtf)](https://github.com/matyhtf)** — primary developer
13+
and maintainer, responsible for the overall compiler architecture, PHP-to-C++
14+
lowering, type system, runtime integration, build system, and project
15+
direction.
16+
17+
### Contributors recorded in the Git history
18+
19+
The following people are identified from the author metadata in the repository.
20+
Aliases belonging to the same person have been combined. The order follows the
21+
amount of recorded repository activity only for consistency; it is not a
22+
ranking of the value of anyone's contribution.
23+
24+
| Contributor | Areas of contribution |
25+
| --- | --- |
26+
| **[Yurun](https://github.com/Yurunsoft)** | PHP semantic compatibility, type and reference correctness, traits, generators, class behavior, Windows support, and compiler diagnostics |
27+
| **[NathanFreeman](https://github.com/NathanFreeman)** | Strict types, Zend VM call safety, request initialization, dynamic call validation, and control-flow correctness |
28+
| **[hafung](https://github.com/hafung)** | Optimizer correctness, strict built-in calls, and safe evaluation of compound array-offset operations |
29+
| **[Lucas Raineri Giandon (Giandonn)](https://github.com/Giandonn)** | Optimizer safety and PHP-compatible behavior for argument unpacking, `count()`, `intval()`, and `class_exists()` |
30+
| **[Alessio Giacobbe](https://github.com/AlessioGiacobbe)** | Parser, name resolution, control flow, trait composition, and preservation of expression side effects |
31+
| **[yangweijie](https://github.com/yangweijie)** | Compilation caching and performance work, build-related improvements, documentation, and real-project examples |
32+
| **[Lorenzo Dessimoni (FunkyOz)](https://github.com/FunkyOz)** | English documentation for intentionally incompatible PHP features |
33+
| **[Pratik Bhujel](https://github.com/prateekbhujel)** | Portable float literal generation, including `INF` and `NAN` handling |
34+
| **[原点 (yuan-dian)](https://github.com/yuan-dian)** | `gen_stub` union-type name generation and Zend type metadata correctness |
35+
36+
Git author metadata cannot capture every form of contribution. Reviewers,
37+
issue reporters, testers, documentation writers, and community members will be
38+
added as the acknowledgement record is expanded.
39+
40+
### Community and ecosystem contributors
41+
42+
Contributions to TypePHP are not limited to commits. Testing real projects,
43+
reporting and reproducing bugs, creating derivative open-source projects,
44+
writing technical content, and introducing TypePHP to a wider audience all
45+
help the project grow. We also thank:
46+
47+
- **夏枫**
48+
- **[Tinywan](https://github.com/Tinywan)** ([开源技术小栈](https://www.tinywan.com/))
49+
- **A000001**
50+
- **青青子衿**
51+
- **大星**
52+
- **[原点](https://github.com/yuan-dian)**
53+
- **Elijah**
54+
- **小尹**
55+
- **[杨维杰](https://github.com/yangweijie)**
56+
- **Albert Chen**
57+
- **[Nuno Maduro (`nunomaduro`)](https://x.com/enunomaduro)** — for sharing
58+
TypePHP with the wider PHP community on Twitter/X.
59+
60+
Some people in this section also appear in the Git contributor list. They are
61+
mentioned again here to recognize their testing, community, ecosystem, or
62+
outreach contributions separately from authored commits.
63+
64+
## Foundational projects and standards
65+
66+
We would especially like to thank:
67+
68+
1. **[GCC — the GNU Compiler Collection](https://gcc.gnu.org/)**
69+
70+
GCC compiles and optimizes the C++ generated by TypePHP on GNU/Linux and
71+
other supported targets. Its mature optimizer, linker integration, platform
72+
support, and diagnostics are fundamental to TypePHP's AOT toolchain.
73+
74+
2. **[Clang/LLVM](https://llvm.org/)**
75+
76+
LLVM and Clang provide a modern C++ compiler infrastructure, high-quality
77+
diagnostics, optimization technology, and tooling used across TypePHP's
78+
supported platforms, including macOS and WebAssembly-related toolchains.
79+
80+
3. **[Microsoft Visual C++ (MSVC)](https://visualstudio.microsoft.com/vs/features/cplusplus/)**
81+
82+
MSVC provides the native C++ compiler, linker, runtime libraries, and Windows
83+
SDK integration that make the TypePHP toolchain and generated applications
84+
available on Windows.
85+
86+
4. **[ISO C++ Standards Committee (WG21)](https://www.open-std.org/jtc1/sc22/wg21/)**
87+
88+
TypePHP generates portable modern C++. We thank the members and contributors
89+
of WG21 for specifying, reviewing, and evolving the C++ language and standard
90+
library on which the generated code and PHPX abstractions rely.
91+
92+
5. **[PHP](https://www.php.net/) and the [PHP core development team](https://www.php.net/credits.php)**
93+
94+
PHP defines the language semantics that TypePHP implements. The PHP core
95+
developers maintain the Zend Engine, runtime APIs, standard library,
96+
compatibility behavior, source code, and test suite that serve as the
97+
authoritative reference for TypePHP.
98+
99+
6. **[PHP-Parser](https://github.com/nikic/PHP-Parser), created by [Nikita Popov](https://github.com/nikic)**
100+
101+
PHP-Parser provides the reliable PHP parser and abstract syntax tree on which
102+
TypePHP's analysis, validation, lowering, and C++ code generation pipeline is
103+
built. We thank Nikita Popov and every PHP-Parser contributor and maintainer.
104+
105+
## Supporting libraries and development tools
106+
107+
TypePHP also benefits from many focused open-source projects used by the
108+
compiler, command-line tools, build workflow, and quality-assurance process:
109+
110+
- **[PHPX](https://github.com/swoole/phpx)** provides the C++ abstractions over
111+
the Zend API used by generated programs and TypePHP's runtime integration.
112+
- **[Composer](https://getcomposer.org/)** provides dependency management,
113+
autoloading, package distribution, and the `vendor/bin` compiler entry point.
114+
- **[CLImate](https://github.com/thephpleague/climate)** provides structured,
115+
readable command-line output and compiler diagnostics.
116+
- **[TopSort](https://github.com/marcj/topsort.php)** provides topological
117+
sorting used to resolve declaration and dependency order.
118+
- **[Symfony YAML](https://symfony.com/components/Yaml)** parses TypePHP project
119+
configuration and WASI build configuration files.
120+
- **[Symfony VarDumper](https://symfony.com/components/VarDumper)** supports
121+
readable inspection of compiler data structures during development and
122+
diagnostics.
123+
- **[AnsiKit](https://github.com/ajaxray/AnsiKit)** provides terminal styling
124+
and progress display helpers for compiler output.
125+
- **[PHPUnit](https://phpunit.de/)** provides the unit and compiler
126+
code-generation test framework.
127+
- **[PHPStan](https://phpstan.org/)** provides static analysis for the compiler's
128+
PHP implementation.
129+
- **[PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)** helps maintain
130+
a consistent PHP coding style across the project.
131+
132+
The PHP DOM and PCNTL extensions used by parts of the toolchain are included in
133+
our broader thanks to the PHP core and extension maintainers above.
134+
135+
We are grateful to all contributors to these projects, including those whose
136+
work is not individually named here. Their commitment to open standards,
137+
portable toolchains, language compatibility, and open-source software makes
138+
TypePHP possible.
139+
140+
The names and trademarks listed above belong to their respective owners. This
141+
acknowledgement expresses gratitude and does not imply endorsement of TypePHP by
142+
any listed project, organization, or contributor.

docs/zh-cn/ACKNOWLEDGEMENTS.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# 致谢
2+
3+
TypePHP 建立在语言设计者、编译器工程师、运行时开发者、标准委员会成员、维护者
4+
以及开源社区数十年的工作成果之上。没有他们建立并持续完善的基础设施,就不会有
5+
TypePHP。
6+
7+
## 项目开发者与贡献者
8+
9+
### 核心开发
10+
11+
- **[韩天峰(matyhtf)](https://github.com/matyhtf)** —— 主要开发者和维护者,负责
12+
编译器整体架构、PHP 到 C++ 的降级转换、类型系统、运行时集成、构建系统及项目
13+
方向。
14+
15+
### Git 历史中记录的贡献者
16+
17+
以下名单根据仓库中的 Git 作者信息整理,同一人的不同历史署名已经合并。名单仅按
18+
仓库所记录的贡献活跃度排列,以便保持一致;这并不代表对贡献价值的排名。
19+
20+
| 贡献者 | 主要贡献领域 |
21+
| --- | --- |
22+
| **[Yurun](https://github.com/Yurunsoft)** | PHP 语义兼容、类型与引用正确性、Trait、Generator、类行为、Windows 支持及编译诊断 |
23+
| **[NathanFreeman](https://github.com/NathanFreeman)** | 严格类型、Zend VM 调用安全、请求初始化、动态调用校验及控制流正确性 |
24+
| **[hafung](https://github.com/hafung)** | 优化器正确性、内置函数严格参数语义及复合数组下标操作的安全求值 |
25+
| **[Lucas Raineri Giandon(Giandonn)](https://github.com/Giandonn)** | 参数展开、`count()``intval()``class_exists()` 等路径的优化安全与 PHP 兼容行为 |
26+
| **[Alessio Giacobbe](https://github.com/AlessioGiacobbe)** | Parser、名称解析、控制流、Trait 组合及表达式副作用保留 |
27+
| **[yangweijie](https://github.com/yangweijie)** | 编译缓存与性能优化、构建改进、文档及真实项目示例 |
28+
| **[Lorenzo Dessimoni(FunkyOz)](https://github.com/FunkyOz)** | PHP 有意不兼容特性的英文文档 |
29+
| **[Pratik Bhujel](https://github.com/prateekbhujel)** | 可移植浮点数字面量生成,包括 `INF``NAN` 处理 |
30+
| **[原点(yuan-dian)](https://github.com/yuan-dian)** | `gen_stub` 联合类型名称生成及 Zend 类型元数据正确性 |
31+
32+
Git 作者信息无法涵盖所有贡献形式。随着致谢记录继续完善,我们还会补充代码审查者、
33+
Issue 报告者、测试者、文档作者及社区参与者。
34+
35+
### 社区与生态贡献者
36+
37+
对 TypePHP 的贡献并不局限于代码提交。使用真实项目参与测试、报告和复现 Bug、开发
38+
衍生开源项目、撰写技术内容,以及向更多开发者介绍 TypePHP,都在推动项目不断成长。
39+
我们同样感谢:
40+
41+
- **夏枫**
42+
- **[Tinywan](https://github.com/Tinywan)**[开源技术小栈](https://www.tinywan.com/)
43+
- **A000001**
44+
- **青青子衿**
45+
- **大星**
46+
- **[原点](https://github.com/yuan-dian)**
47+
- **Elijah**
48+
- **小尹**
49+
- **[杨维杰](https://github.com/yangweijie)**
50+
- **Albert Chen**
51+
- **[Nuno Maduro(`nunomaduro`](https://x.com/enunomaduro)** —— 感谢其通过
52+
Twitter/X 向更广泛的 PHP 社区介绍 TypePHP。
53+
54+
本节中的部分贡献者也出现在 Git 贡献者名单中;这里再次列名,是为了单独感谢他们在
55+
测试、社区、生态建设或项目传播方面的贡献。
56+
57+
## 基础项目与标准
58+
59+
我们特别感谢:
60+
61+
1. **[GCC(GNU Compiler Collection)](https://gcc.gnu.org/)**
62+
63+
GCC 在 GNU/Linux 及其他受支持的目标平台上编译和优化 TypePHP 生成的 C++
64+
代码。其成熟的优化器、链接器集成、平台支持和诊断能力,是 TypePHP AOT
65+
工具链的重要基础。
66+
67+
2. **[Clang/LLVM](https://llvm.org/)**
68+
69+
LLVM 和 Clang 提供了现代 C++ 编译基础设施、高质量诊断、优化技术及配套工具,
70+
支撑 TypePHP 的多个目标平台,包括 macOS 和 WebAssembly 相关工具链。
71+
72+
3. **[Microsoft Visual C++(MSVC)](https://visualstudio.microsoft.com/vs/features/cplusplus/)**
73+
74+
MSVC 提供原生 C++ 编译器、链接器、运行时库及 Windows SDK 集成,使 TypePHP
75+
工具链及其生成的应用程序能够运行于 Windows 平台。
76+
77+
4. **[ISO C++ 标准委员会(WG21)](https://www.open-std.org/jtc1/sc22/wg21/)**
78+
79+
TypePHP 生成可移植的现代 C++ 代码。感谢 WG21 的成员和所有参与者持续制定、
80+
审议并推动 C++ 语言及标准库的发展;TypePHP 生成的代码和 PHPX 抽象均建立在
81+
这些标准之上。
82+
83+
5. **[PHP 语言](https://www.php.net/)[PHP 内核开发组](https://www.php.net/credits.php)**
84+
85+
PHP 定义了 TypePHP 所实现的语言语义。PHP 内核开发者维护 Zend Engine、运行时
86+
API、标准库、兼容行为、源代码和测试套件,它们是 TypePHP 实现 PHP 兼容性的
87+
权威参考。
88+
89+
6. **[PHP-Parser](https://github.com/nikic/PHP-Parser) 及其创建者 [Nikita Popov](https://github.com/nikic)**
90+
91+
PHP-Parser 为 TypePHP 提供可靠的 PHP 解析器和抽象语法树,是语义分析、校验、
92+
降级转换及 C++ 代码生成流程的基础。感谢 Nikita Popov,以及 PHP-Parser 的每一位
93+
贡献者和维护者。
94+
95+
## 辅助库与开发工具
96+
97+
TypePHP 的编译器、命令行工具、构建流程和质量保障体系还使用了许多职责明确的
98+
开源项目:
99+
100+
- **[PHPX](https://github.com/swoole/phpx)** 提供 Zend API 的 C++ 抽象,是生成程序
101+
和 TypePHP 运行时集成的基础。
102+
- **[Composer](https://getcomposer.org/)** 提供依赖管理、自动加载、软件包分发以及
103+
`vendor/bin` 编译器入口。
104+
- **[CLImate](https://github.com/thephpleague/climate)** 提供结构清晰、易于阅读的
105+
命令行输出和编译诊断。
106+
- **[TopSort](https://github.com/marcj/topsort.php)** 提供拓扑排序,用于解析声明及
107+
依赖关系的顺序。
108+
- **[Symfony YAML](https://symfony.com/components/Yaml)** 负责解析 TypePHP 项目配置和
109+
WASI 构建配置文件。
110+
- **[Symfony VarDumper](https://symfony.com/components/VarDumper)** 在开发和诊断过程中
111+
帮助清晰地检查编译器内部数据结构。
112+
- **[AnsiKit](https://github.com/ajaxray/AnsiKit)** 为编译器输出提供终端样式和进度显示
113+
组件。
114+
- **[PHPUnit](https://phpunit.de/)** 提供单元测试及编译器代码生成测试框架。
115+
- **[PHPStan](https://phpstan.org/)** 对编译器的 PHP 实现执行静态分析。
116+
- **[PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)** 帮助项目保持一致的
117+
PHP 代码风格。
118+
119+
工具链中使用的 PHP DOM 和 PCNTL 扩展,已包含在前文对 PHP 内核及扩展维护者的
120+
整体致谢中。
121+
122+
我们同样感谢上述项目中所有未能逐一列名的贡献者。正是他们对开放标准、可移植
123+
工具链、语言兼容性和开源软件的长期投入,使 TypePHP 成为可能。
124+
125+
上述名称和商标归各自权利人所有。本致谢仅用于表达感谢,不表示任何项目、组织或
126+
贡献者对 TypePHP 的认可、担保或背书。

0 commit comments

Comments
 (0)