phel-lang / phel-lang
Phel is a functional programming language that transpiles to PHP
Fund package maintenance!
chemaclass.com/sponsor
Installs: 2 251
Dependents: 14
Suggesters: 0
Security: 0
Stars: 436
Watchers: 10
Forks: 22
Open Issues: 7
Requires
- php: >=8.2
- gacela-project/gacela: ^1.9
- phpunit/php-timer: ^6.0
- symfony/console: ^7.0
Requires (Dev)
- ext-readline: *
- ergebnis/composer-normalize: ^2.45
- friendsofphp/php-cs-fixer: ^3.65
- phpbench/phpbench: ^1.3
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^10.5
- psalm/plugin-phpunit: ^0.19
- rector/rector: ^2.0
- symfony/var-dumper: ^7.2
- vimeo/psalm: ^5.26
- dev-main
- v0.17.0
- v0.16.1
- v0.16.0
- v0.15.3
- v0.15.2
- v0.15.1
- v0.15.0
- v0.14.1
- v0.14.0
- v0.13.0
- v0.12.0
- v0.11.0
- v0.10.1
- v0.10.0
- v0.9.0
- v0.8.0
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.0
- v0.1.0
- dev-chore/trace-dbg
- dev-codex/fix-recur-with-anonymous-functions
- dev-chore/dotrace-fn
- dev-chore/pad-left-right
- dev-chore/doc-with-deprecated-metadata
- dev-codex/create-script-for-phar-executable
- dev-chore/str-contains
- dev-fix/778-cannot-reload-ns
- dev-codex/fix-broken-macro-definitions-in-user-namespace
- dev-feat/support-php83
- dev-feat/improve-contains
This package is auto-updated.
Last update: 2025-06-01 16:09:51 UTC
README
Phel is a functional programming language that transpiles to PHP.
It is a dialect of Lisp inspired by Clojure and Janet, designed for building robust applications in the PHP ecosystem.
Example
# Define a namespace (ns my\example) # Define a variable with name "my-name" and value "world" (def my-name "world") # Define a function with name "print-name" and one argument "your-name" (defn print-name [your-name] (print "hello" your-name)) # Call the function (print-name my-name)
Documentation
- Website
- Features, documentation, exercises and blog
- Installation
- Quick start with scaffolding or manual installation
- Packagist
- The PHP Package Repository
- Internals
- Additional documentation about the compiler internals
Community
Feel free to ask questions and join discussions on the Phel Gitter channel.
Contribute
Please refer to CONTRIBUTING.md for information on how to contribute to Phel.