|
| 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. |
0 commit comments