Skip to content

Instantly share code, notes, and snippets.

View m1dnight's full-sized avatar

Christophe De Troyer m1dnight

View GitHub Profile

Keybase proof

I hereby claim:

  • I am m1dnight on github.
  • I am cdetroye (https://keybase.io/cdetroye) on keybase.
  • I have a public key ASA2VLzwVFkzPDY15qXgiytbsSqs3Xfa989HNwMePbOsuwo

To claim this, I am signing this object:

@m1dnight
m1dnight / anf.ex
Last active March 14, 2021 20:57
defmodule Anf do
@moduledoc
"""
Author: Christophe De Troyer
"""
require Logger
##############################################################################
# API #
##############################################################################
@m1dnight
m1dnight / elixir.tex
Last active January 2, 2024 02:53
Elixir Listings Latex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listings,xcolor}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage[scaled=0.9]{DejaVuSansMono}
\definecolor{commentgreen}{RGB}{2,112,10}
\definecolor{eminence}{RGB}{108,48,130}
\definecolor{weborange}{RGB}{255,165,0}
\definecolor{frenchplum}{RGB}{129,20,83}
@m1dnight
m1dnight / gen_server_tpl.ex
Last active March 2, 2018 09:53 — forked from ntrepid8/gen_server_tpl.ex
Elixir GenServer Template
defmodule Server do
@moduledoc """
A GenServer template for a "singleton" process.
"""
use GenServer
require Logger
def start_link(opts \\ []) do
Logger.debug "Started with opts: #{inspect opts}"
GenServer.start_link(__MODULE__, opts, [name: __MODULE__])
(function() {
'use strict';
var globals = typeof global === 'undefined' ? self : global;
if (typeof globals.require === 'function') return;
var modules = {};
var cache = {};
var aliases = {};
var has = {}.hasOwnProperty;
@m1dnight
m1dnight / keybase.md
Created October 5, 2017 07:35
keybase.md

Keybase proof

I hereby claim:

  • I am m1dnight on github.
  • I am cdetroye (https://keybase.io/cdetroye) on keybase.
  • I have a public key ASCtmf-HaRWcx6ZP3JDcypdFDFn9tCYtdew0riLZLZoe0wo

To claim this, I am signing this object:

@m1dnight
m1dnight / Lexer.x
Created June 30, 2016 02:32
Monadic Parser and Lexer using Alex and Happy
{
module Lexer where
}
%wrapper "monadUserState"
$digit = 0-9 -- digits
$alpha = [a-zA-Z] -- alphabetic characters
-- Each token has a function on the RHS that is a function (String ->
@m1dnight
m1dnight / Main.hs
Created June 29, 2016 18:27
Session Typed Lambda Calculus (Vasconcelos 2006)
module Main where
import Control.Arrow
import Debug.Trace
import Control.Monad.State
import Data.List hiding (union)
import Data.Maybe
import Syntax
import Text.Printf
-- ____ _ _____ _
@m1dnight
m1dnight / Main.hs
Created June 26, 2016 05:24
Simply Typed Lambda Calculus
module Main where
import Data.Maybe
-- ____ _ _ _____ _
-- / ___|(_)_ __ ___ _ __ | |_ _ |_ _| _ _ __ ___ __| |
-- \___ \| | '_ ` _ \| '_ \| | | | | | || | | | '_ \ / _ \/ _` |
-- ___) | | | | | | | |_) | | |_| | | || |_| | |_) | __/ (_| |
-- |____/|_|_| |_| |_| .__/|_|\__, | |_| \__, | .__/ \___|\__,_|
-- _ |_| _ |___/_ |___/|_| _ _
-- | | __ _ _ __ ___ | |__ __| | __ _ / ___|__ _| | ___ _ _| |_ _ ___
module UnificationLearning
// Unification algorithm
//
// Portions Copyright (C) 2012 by Tomas Petricek
// Copyright (C) 2012 by Eric Taucher
// License: Creative Commons BY-SA Version 3.0
//
// This code is derived from a StackOverflow answer by Tomas Petricek
// See: http://stackoverflow.com/a/9525471/1243762
//