Skip to content

Instantly share code, notes, and snippets.

Dave Jachimiak davejachimiak

Block or report user

Report or block davejachimiak

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
View Memory.jack
// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/12/Memory.jack
/**
* Memory operations library.
*/
class Memory {
static int MEMORY, HEAP_BASE, NEXT_POINTER, SIZE, HEAP_LIMIT, OOM, freeList, i;
View marathon_app_POST.json
{
"$schema": "http://json-schema.org/schema#",
"additionalProperties": false,
"definitions": {
"pathType": {
"type": "string",
"pattern": "^(\\/?((\\.{2})|([a-z0-9][a-z0-9\\-.]*[a-z0-9]+)|([a-z0-9]*))($|\\/))+$",
"minLength": 1
}
},
@davejachimiak
davejachimiak / frp.md
Created Oct 11, 2015
A Collection of Papers on Functional Reactive Programming
View frp.md
  • Functional Reactive Animation. 1997. Conal Elliott and Paul Hudak.
  • Functional Reactive Programming From First Principles. 2000. Paul Hudak and Zhanyong Wan.
  • Genuinely Functional User Interfaces. 2001. Antony Courtney and Conal Elliott.
  • Event-Driven FRP. 2002. Zhanyong Wan, Walid Taha, and Paul Hudak.
  • Functional Reactive Programming, Continued. 2002. Henrik Nilsson, Antony Courtney, and John Peterson.
  • Push-Pull Reactive Programming. 2009. Conal Elliott
  • Asynchronous Functional Reactive Programming for GUIs. 2013. Stephen Chong and Evan Czaplicki.
@davejachimiak
davejachimiak / Makefile
Created Aug 8, 2015
A lispy arithmetic REPL
View Makefile
all:
/usr/local/Cellar/bison/3.0.4/bin/bison lispcalc.y && gcc -lm -o lispcalc lispcalc.tab.c
View sicp-1.18.hs
-- [Design an *iterative* process for multiplying to integers that] uses a
-- logarithmic number of steps.
double :: Integer -> Integer
double x = x + x
halve :: Integer -> Integer
halve x = x `div` 2
multiply :: Integer -> Integer -> Integer
@davejachimiak
davejachimiak / sicp1.17.hs
Created Oct 25, 2014
sicp 1.17 in haskell
View sicp1.17.hs
-- ...
-- ...
-- [Assume your language doesn't have a multiplication function or
-- table. Given `double` and `half` functions,] design a
-- multiplication procedure that uses a logarithmic number of steps.
double :: Integer -> Integer
double x = x + x
halve :: Integer -> Integer
View evented.js
var Evented;
Evented = {
on: function(event, callback) {
var _base;
(_base = this.callbacks)[event] || (_base[event] = []);
return this.callbacks[event].push(callback);
},
trigger: function(event) {
var args, callbacks;
View sicp-1.12.hs
-- SICP 1.12
--
-- The following pattern of numbers is called Pascal's triangle.
--
-- 1
-- 1 1
-- 1 2 1
-- 1 3 3 1
-- 1 4 6 4 1
-- ...
View sicp-1.1.hs
-- SICP 1.11
--
-- A function f is defined by the rule that f(n) = n if n < 3 and
-- f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3) if n >= 3. Write a
-- procedure computes f by means of a recursive process.
--
f :: Integer -> Integer
f n
| n < 3 = n
| otherwise = f (n - 1) + 2 * f (n - 2) + 3 * f (n - 3)
@davejachimiak
davejachimiak / count-change.hs
Created Oct 3, 2014
tree-recursive solution to the counting change problem, pg. 41 SICP
View count-change.hs
countChange :: Integer -> [Integer] -> Integer
countChange amount denominations
| null denominations || amount < 0 = 0
| amount == 0 = 1
| otherwise = countChange amount (tail denominations) + countChange (amount - head denominations) denominations
You can’t perform that action at this time.