Skip to content

Instantly share code, notes, and snippets.


Jeremy Heiler jeremyheiler

View GitHub Profile
View gist:e7f62faf9bf5d61268b42b6833264a42
Last login: Thu Dec 21 10:07:10 on ttys004
~:$ brew cask install factor
==> Caveats
To use factor, you may need to add the /usr/local/Caskroom/factor/0.97/factor/ directory
to your PATH environment variable, eg (for bash shell):
export PATH=/usr/local/Caskroom/factor/0.97/factor/:"$PATH"
==> Satisfying dependencies
==> Downloading

Keybase proof

I hereby claim:

  • I am jeremyheiler on github.
  • I am jeremyheiler ( on keybase.
  • I have a public key ASAs3bSDe1LhsxrGbV44a-4Wtsrdzhn9OxR1bgkIDPpk4Ao

To claim this, I am signing this object:

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface HttpFilter extends Filter {
View termecho1.pony
class MyNotify
let env: Env
new create(env': Env) =>
env = env'
fun ref apply(data: Array[U8] iso) =>
env.out.print(consume data)
fun ref dispose() =>

Echo Arg

This is a followup to the ["Hello World"][hello-world] walkthrough.


actor Main
  new create(env: Env) =>

Hello World

This post walks through the Pony "hello world" program.


First, the program in all its glory.

actor Main
View echoarg.pony
// This is a pony program that will print the first arg provided to the program.
// Every pony program requires an actor called "Main"
actor Main
// This is a constructor for the Main actor named "create".
// It is a convention (supported by syntactic sugar) to call constructors "create".
// In general, a constructor can have any name that begins with a lower case character.
// However, the Main actor requires its constructor to be called "create".
View parsing.clj
(ns parsing)
(defn parse
[p input]
(p (seq input)))
(defn result
View 2015.txt
Book | Author
The Martian | Andy Weir
1984 | George Orwell
Starship Troopers | Robert A. Heinlein
The Gods Themselves | Isaac Asimov
Dune | Frank Herbert
View gist:86dffef5b0fbe6a7eed3
user=> (defprotocol P (plength [this]) (pget [this index]))
user=> (deftype Foo [v] P (plength [this] (count v)) (pget [this index] (nth v index)))
user=> (defn obj-seq [obj index] (lazy-seq (if-not (= index (plength obj)) (cons (pget obj index) (obj-seq obj (inc index))) nil)))
user=> (obj-seq (->Foo [1 2 3]))
ArityException Wrong number of args (1) passed to: user/obj-seq clojure.lang.AFn.throwArity (
user=> (obj-seq (->Foo [1 2 3]) 0)
(1 2 3)