Skip to content

Instantly share code, notes, and snippets.

View matteosister's full-sized avatar
🤗

Matteo Giachino matteosister

🤗
View GitHub Profile
defmodule PipeFunctionComposition do
require Integer
def even(n), do: Integer.is_even(n)
def negate(n), do: not n
def multiply_by(n, factor), do: n * factor
@doc """
true if the passed number is not even
"""
defmodule InfixFC do
@doc """
define an infix operator <|> to compose functions
"""
defmacro left <|> right do
quote bind_quoted: [left: left, right: right] do
fn (v) -> left.(right.(v)) end
end
end
defmodule SimpleFC do
require Integer
def even(n), do: Integer.is_even(n)
def negate(n), do: not n
def compose(func1, func2) do
fn (n) ->
func2.(func1.(n))
end
even :: Int -> Bool
not :: Bool -> Bool
isnoteven :: Int -> Bool
isnoteven = not . even
even(10) -- True
not(True) -- False
isnoteven(9) -- True
server {
server_name www.hostname.com;
root /var/www/hostname/current/web;
listen 81 default_server;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
rewrite ^/app\.php/?(.*)$ /$1 permanent;
@matteosister
matteosister / OptionRepositoryTrait.php
Last active August 29, 2015 13:57
A trait to use the PhpOption in the EntityRepository
<?php
namespace Vendor\Repository;
use PhpOption\Option;
use Doctrine\DBAL\LockMode;
trait OptionRepositoryTrait
{
public function find($id, $lockMode = LockMode::NONE, $lockVersion = null)