module FIFO : sig
exception Empty
type 'a t
val empty: 'a t
(* | |
* ocamllex bible.mll && ocamlopt -o bible bible.ml | |
* ./bible < bible.txt | |
*) | |
{ | |
module L = Lexing | |
let get = L.lexeme | |
let sprintf = Printf.sprintf |
{ | |
(* short names for important modules *) | |
module L = Lexing | |
module B = Buffer | |
type token = | |
| STR of string | |
| VAR of string | |
#! /usr/bin/env ruby | |
# | |
# Report code size by OCaml module in a native binary | |
# | |
require 'set' | |
require 'getoptlong' | |
class OCamlModule | |
include Comparable |
module type Monad = sig | |
type 'a t | |
val return: 'a -> 'a t | |
val bind: 'a t -> ('a -> 'b t) -> 'b t | |
end |
\documentclass[a4paper,12pt]{article} | |
\usepackage{fullpage} | |
\usepackage[latin1]{inputenc} | |
\usepackage{graphicx} | |
\usepackage{xspace} | |
% PDF stuff | |
\ifx\pdfoutput\undefined | |
\else | |
\pdfpagewidth=210mm |
(* | |
* ocamlbuild -pkg unix assoc_timing.native | |
* | |
* When visiting all keys in an association list, when does it | |
* make sense to build a map first? According to this, | |
* building the map is amortised for list longer than 20 to 30 | |
* elements. | |
*) | |
module Int = struct |
==> func0.ml <== | |
module Debug = struct | |
let debug msg = Printf.eprintf "debug: %s\n" msg | |
let error msg = Printf.eprintf "error: %s\n" msg | |
end | |
let main () = | |
let argv = Array.to_list Sys.argv in |
(* Creating a directory with a given ownership and permissions looks | |
simple until you take closer look. Many things can fail: you might | |
not have the permissions to create or modify it, the desired groups | |
and owners might not exist. | |
This library tries to be systematic about it and de-composes the | |
complex operation (implemented in [mk]) into many small operations | |
that are stringed together in a monad: [>>=] sequences operations | |
and [//=] (read as: "or-else") recovers from a previous error. |
#! /bin/sh | |
set -ex | |
VERSION="0.1.17" | |
GH="https://github.com/lindig" | |
VM="$GH/xen-test-vm/releases/download/$VERSION/test-vm.xen.gz" | |
KERNEL="xen-test-vm-${VERSION//./-}.xen.gz" | |
GUEST="/boot/guest" | |
IMG="$GUEST/$KERNEL" |