Skip to content

Instantly share code, notes, and snippets.

View avsm's full-sized avatar
💭
never gonna git u up, never gona git u down, never gonna turn around and reset u

Anil Madhavapeddy avsm

💭
never gonna git u up, never gona git u down, never gonna turn around and reset u
View GitHub Profile
@avsm
avsm / gist:1245418
Created September 27, 2011 15:41
devices + first class modules
open Printf
(* Generic device module type *)
module type DEVICE = sig
type t
val make: unit -> t
val read: t -> string
val write: t -> string -> unit
end
@avsm
avsm / myocamlbuild.ml
Created July 3, 2012 14:33
myocamlbuild.ml for compiler-libs tag on ocaml4
open Ocamlbuild_plugin
let _ = dispatch begin function
| Before_rules ->
flag ["ocaml"; "compile"; "compiler-libs"] & S[A"-I"; A"+compiler-libs"];
flag ["ocaml"; "link"; "compiler-libs"] & S[A"-I"; A"+compiler-libs"];
| _ -> ()
end
gdb ocamlbuild
GNU gdb 6.3.50-20050815 (Apple version gdb-1820) (Sat Jun 16 02:40:11 UTC 2012)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries .. done
(gdb) run -clean
#internal OPAM solver
preamble:
property: installed-root: bool = [false], reinstall: bool = [false], buildessential: bool = [false], essential: bool = [false], sourceversion: int = [1], sourcenumber: string = [""], source: string = [""], number: string, recommends: vpkgformula = [true!]
package: bitcoin
version: 112
depends: lwt , ocamlnet , yojson
conflicts: bitcoin
number: 1.1
source: bitcoin
@avsm
avsm / run_core_toplevel.ml
Created July 8, 2013 14:17
Script to run a toplevel script and output pretty html
(* Syntax hightlight code and eval ocaml toplevel phrases.
* Based on http://github.com/ocaml/ocaml.org
* Modified by Anil Madhavapeddy for Real World OCaml and to use Core *)
open Printf
open Scanf
(* Run these phrases silently before any code *)
let initial_phrases = [
"#use \"topfind\"";
"#camlp4o";
@avsm
avsm / ocamlot-deploy.sh
Last active December 22, 2015 00:59
ocamlot worker setup script
#!/bin/sh -ex
OCAML_BRANCH=4.01
MAKE=make
inst=`pwd`/inst
if [ ! -d inst ]; then
rm -rf opam
git clone git://github.com/OCamlPro/opam
cd opam
@avsm
avsm / opam debug.sh
Created September 2, 2013 13:56
debugging with @samoht
clink:packages avsm$ opam update --debug
00:00.000 060536 60536 locking /Users/avsm/.opam/lock
00:00.001 060536 FILENAME cleandir /Users/avsm/.opam/log
00:00.001 060536 SYSTEM rmdir /Users/avsm/.opam/log
00:00.004 060536 SYSTEM mkdir /Users/avsm/.opam/log
00:00.005 060536 FILE(aliases) read /Users/avsm/.opam/aliases
00:00.005 060536 STATE LOAD-STATE(global-lock)
00:00.005 060536 FILE(config) read /Users/avsm/.opam/config
00:00.010 060536 FILE(aliases) read /Users/avsm/.opam/aliases
00:00.013 060536 FILE(repo-config) read /Users/avsm/.opam/repo/opamdoc/config
@avsm
avsm / .travis-ci.sh
Created September 29, 2013 23:17
Sample Travis setup for OCaml projects
# Edit this for your own project dependencies
OPAM_DEPENDS="ocamlfind ounit re"
case "$OCAML_VERSION,$OPAM_VERSION" in
3.12.1,1.0.0) ppa=avsm/ocaml312+opam10 ;;
3.12.1,1.1.0) ppa=avsm/ocaml312+opam11 ;;
4.00.1,1.0.0) ppa=avsm/ocaml40+opam10 ;;
4.00.1,1.1.0) ppa=avsm/ocaml40+opam11 ;;
4.01.0,1.0.0) ppa=avsm/ocaml41+opam10 ;;
4.01.0,1.1.0) ppa=avsm/ocaml41+opam11 ;;
@avsm
avsm / add-extdeps
Created September 30, 2013 11:34
Quick script to add extdeps to an opam 1.1 repo
opam-admin depexts add riakc --os ubuntu --dep protobuf-compiler
opam-admin depexts add riakc --os debian --dep protobuf-compiler
opam-admin depexts add frei0r --os ubuntu --dep frei0r-plugins-dev
opam-admin depexts add frei0r --os debian --dep frei0r-plugins-dev
opam-admin depexts add voaacenc --os ubuntu --dep camlidl
opam-admin depexts add voaacenc --os debian --dep camlidl
opam-admin depexts add svm --os ubuntu --dep libsvm-dev
opam-admin depexts add svm --os debian --dep libsvm-dev
opam-admin depexts add buddy --os ubuntu --dep libbdd-dev
opam-admin depexts add buddy --os debian --dep libbdd-dev
@avsm
avsm / solver-error-29107-1.cudf
Created January 17, 2014 12:15
Solver error for opam/ocaml#1104
#internal OPAM solver
preamble:
property: installed-root: bool = [false], reinstall: bool = [false], buildessential: bool = [false], essential: bool = [false], sourceversion: int = [1], sourcenumber: string = [""], source: string = [""], number: string, recommends: vpkgformula = [true!]
package: pa%5founit
version: 342
depends: type%5fconv = 342 , ocamlfind
conflicts: pa%5founit
number: 109.09.00
source: pa_ounit