Functional PHP
asdf
Functional PHP | asdf | |
---|---|---|
6 | 385 | |
1,984 | 24,139 | |
0.3% | 0.7% | |
0.0 | 9.2 | |
over 1 year ago | 7 days ago | |
PHP | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Functional PHP
-
I asked GPT-4 what top 5 improvements it would make to the PHP language to make it more competitive
A lot of this can be handled in userland. For examples libraries such as https://github.com/lstrojny/functional-php/blob/main/docs/functional-php.md handle a lot of this.
-
How do I become a better dev?
I’m also trying to use all of these at least once or twice to have these tools under my belt should I want them https://github.com/lstrojny/functional-php
- How to Lose Functional Programming at Work
-
PHP 8.2 Released
https://github.com/lstrojny/functional-php
The no-brainers to me are the missing array_some()/array_any() array_every()/array_all() and an array_search() that takes a predicate an iterable. I do these now in userland but an optimized native version would be nice.
-
PHP Map - PHP arrays and collections made easy
Functional PHP, which provides a lot of similar functionality, also uses pluck and has for many years https://github.com/lstrojny/functional-php
-
Simple Composition with Array.Reduce
While looking at functional-php, I saw a pretty neat way of doing composition with an array_reduce method, and wanted to recreate it in JavaScript. There are plenty of libraries that implement this (and do so more effectively), but it's pretty fun knowing that you can get this functionality with a couple lines of plain JavaScript.
asdf
-
Create robust CLI apps with Bashly
I like to use "runtime version managers", like mise (I use and recommend) or asdf to install interpreters and compilers in different versions. I suggest you to do the same to install a proper Ruby version.
- Rv, a new kind of Ruby management tool
-
How I Built E2E Tests for Chrome Extensions Using Playwright and CDP
asdf or compatible .tool-versions file
-
Preparing the Elixir Development Environment
In this article, we will use a version manager called asdf‑vm, or simply asdf.
- Mempersiapkan Lingkungan Pengembangan Elixir
- Show HN: Asdf Overlay – High performance in-game overlay library for Windows
- Show HN: A Common Lisp implementation in development, supports ASDF
-
Practical Guide to Switching to Linux
This, but here are some things I've learned to do:
* Use a .local directory under my home directory instead of ~/bin. That's a great prefix when installing from source or tarball at the user level, keeps the top-level of the home directory from getting cluttered with /share /lib /include /etc /lib etc. etc.
* Reach for the package manager first when installing new software, unless there is a good reason not to. It makes keeping things up-to-date easy, and since I use Arch, which uses a rolling release, you pretty much get the latest stuff.
* If I can't get what I want from the package manager, I'll look at what is available using asdf-vm (https://asdf-vm.com/), and failing that, build from source or install from tarball.
* I don't use snap or the like.
I gave up on Windows over 20 years ago, and I can't say enough how liberating it has been. One of the nicest things is that there is a distro for almost every need (see https://distrowatch.com/). I use Arch; but your use case may point to a beginner-friendly distro, such as Mint, Ubuntu, etc., or a repeatable install type of distro, such as NixOS or Guix, or many others.
-
Setting Up a Powerful Windows Development Environment 💪
# Download asdf git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.15.0 # Add the following to ~/.zshrc . "$HOME/.asdf/asdf.sh" # Optional: Completions are configured by either a ZSH Framework asdf plugin # or by adding the following to your .zshrc: fpath=(${ASDF_DIR}/completions $fpath) autoload -Uz compinit && compinit
- Asdf v0.16.0 – Rewrite asdf in Golang
What are some alternatives?
RulerZ - Powerful implementation of the Specification pattern in PHP
SDKMan - The SDKMAN! Command Line Interface
Design Patterns PHP - sample code for several design patterns in PHP 8
nix - Nix, the purely functional package manager
Iter - Iteration primitives using generators
mise - dev tools, env vars, task runner