Skip to content

Instantly share code, notes, and snippets.

View azjezz's full-sized avatar
🎯
Focusing

Saif Eddin Gmati azjezz

🎯
Focusing
View GitHub Profile
@azjezz
azjezz / install-mago.sh
Last active December 20, 2024 20:12
Mago Bash Installer
#!/usr/bin/env bash
set -euo pipefail
REPO="carthage-software/mago"
BIN_NAME="mago"
TMP_DIR=$(mktemp -d)
NEW_ISSUE="https://github.com/carthage-software/mago/issues/new"
INSTALL_DIR=""
@azjezz
azjezz / fennec-out.txt
Created November 4, 2024 16:48
fennec type checking benchmark
fennec check
error: argument 2 of function 'Qux\foo' expected `int`, but `non-empty-list { 12 }` was found
┌─ main.php:9:14
9 │ foo("hello", [12], 1.0);
│ ^^^^ argument 2 has type `non-empty-list { 12 }`
┌─ foo.php:7:27
7 │ function foo(string $bar, int $baz, bool $f): void
@azjezz
azjezz / 0.php
Last active December 12, 2022 15:35
<?php
declare(strict_types=1);
namespace App;
enum ArticleStatus {
case Published;
case Draft;
case Archived;
<?php
declare(strict_types=1);
namespace App;
struct User {
string $identifier;
}
@azjezz
azjezz / main.php
Last active December 30, 2021 15:27
<?php
declare(strict_types=1);
use Psl\Async;
use Psl\IO;
require 'vendor/autoload.php';
function fetch(string $id): string {

uncached

This benchmark runs with cache disabled for all of Symfony, Fastroute, and HackRouting.

The (matcher/dispatcher/resolver) is being created in each iteration from scratch.

Ranking:

  1. FastRoute
  2. Symfony
  3. HackRouting
<?php
/**
* @context={}
*/
function foo(): void {}
/**
* @context={io}

Keybase proof

I hereby claim:

  • I am azjezz on github.
  • I am azjezz (https://keybase.io/azjezz) on keybase.
  • I have a public key ASBG6C6v-7GwW-PBxKqaBF601YuVYZV1TN41DucA7xNz1Qo

To claim this, I am signing this object:

@azjezz
azjezz / Logger.hack
Created May 22, 2020 20:13
Nuxed basic console logger implementation
namespace Nuxed\Console\Log;
use namespace HH\Lib\Str;
use namespace Nuxed\Console;
use namespace Nuxed\Console\Output;
use namespace Nuxed\Contract\Log;
final class Logger implements Log\ILogger {
public function __construct(private Output\IOutput $output) {}
@azjezz
azjezz / better-app.php
Last active December 11, 2019 22:46
Improve the performance of your PHP 7.4 application
<?php
declare(strict_types=1);
namespace BetterApplication;
use FFI;
use Closure;
abstract class AbstractZendWriter