Skip to content

Instantly share code, notes, and snippets.

Gatlin Johnson gatlin

Block or report user

Report or block gatlin

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
gatlin /
Created Dec 26, 2011
Functional definition of map in Perl
#!/usr/bin/env perl
use strict;
use warnings;
sub myMap (&@) {
my ($fn, @lst) = @_;
return () unless @lst;
return (sub { local $_=$_[0];$_[1]->() }->($lst[0],$fn),
&myMap( $fn, @lst[1..$#lst] ));
gatlin / sat.hs
Created Feb 6, 2012
SAT Solver in Haskell
View sat.hs
-- This is going to be on Hackage soon!
{-# LANGUAGE BangPatterns #-}
-- |
-- Module : AI.Surely
-- Copyright : 2012 Gatlin Johnson
-- License : LGPL 3.0
-- Maintainer :
-- Stability : experimental
gatlin /
Created Jun 27, 2012
Extremely basic example of lexical scope use in Perl
#!/usr/bin/env perl
use v5.16;
use strict;
use warnings;
sub c {
my $lexicalValue = 0;
return sub {
say $lexicalValue;
gatlin / hello.ll
Created Jul 6, 2012
LLVM output of a simple Haskell program
View hello.ll
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin10.0.0"
declare ccc i8* @memcpy(i8*, i8*, i64)
declare ccc i8* @memmove(i8*, i8*, i64)
declare ccc i8* @memset(i8*, i64, i64)
declare ccc i64 @newSpark(i8*, i8*)
%__stginit_Main_struct = type <{}>
@__stginit_Main = global %__stginit_Main_struct<{}>
%sfT_srt_struct = type <{i64}>
gatlin / hello.hs
Created Jul 6, 2012
Simple Haskell program
View hello.hs
module Main where
main = do
putStrLn $ "Hello, World!"
gatlin / hello.js
Created Jul 6, 2012
Emscripten output for a simple Haskell program
View hello.js
// Note: Some Emscripten settings will significantly limit the speed of the generated code.
// Note: Some Emscripten settings may limit the speed of the generated code.
// TODO: " u s e s t r i c t ";
try {
this['Module'] = Module;
} catch(e) {
this['Module'] = Module = {};
gatlin /
Created Jul 29, 2012
Simple regex for DMS angle notation
#!/usr/bin/env perl
use v5.16;
use strict;
use warnings;
while (my $str = <STDIN>) {
say "DMS" if $str =~
gatlin / orc-sample.lsp
Created Aug 11, 2012
Sample Orc DSL for Common Lisp
View orc-sample.lsp
; examples from
; site definition, similar to a function but handles network transparency and will publish multiple values if you call them
; multiple times
; they will necessarily hide much magic
(defsite name (arg)
(body ...))
; I may consider using plain-old functions for this but at the moment I might need to hide some magic
gatlin / main.go
Created Aug 13, 2012
Concepts from Orc applied in Go
View main.go
package main
import (
gatlin /
Created Oct 10, 2012
Uninstall Haskell from Mac OS X
# source:
sudo rm -rf /Library/Frameworks/GHC.framework
sudo rm -rf /Library/Frameworks/HaskellPlatform.framework
sudo rm -rf /Library/Haskell
rm -rf .cabal
rm -rf .ghc
rm -rf ~/Library/Haskell
You can’t perform that action at this time.