{{ message }}

Instantly share code, notes, and snippets.

# Lindsey Kuperlkuper

Last active Mar 18, 2020
Keynote speakers at every ICFP
View icfp-speakers.md

# ICFP 1996

"Computing is Interaction", Robin Milner (Cambridge)

"The case for wireless overlay networks", Randy Katz (UC Berkeley)

# ICFP 1997

Joe Armstrong (Ericsson)

Created Jan 16, 2020
View outline.md

# Making Progress Under Uncertainty in SMT Solving, Research, and Life

## Abstract

SAT and Satisfiability Modulo Theories (SMT) solvers have many important applications in PL, including verification, testing, type checking and inference, and program analysis – but they are often a mysterious black box to their users, even when those users are PL researchers with lots of solver experience! This talk will be partly a tutorial introduction to the inner workings of SAT and SMT solvers, and partly an extended analogy to navigating life as a researcher: making decisions when you have only incomplete information to go on, learning from decisions that turned out to be bad, and determining when to give up and when to try again. I’ll also highlight a variety of papers in this year’s POPL program that make use of SAT and SMT solving, and discuss why I think it’s worthwhile to learn about solver internals.

## Outline

• Introduction
• Self-intro
Last active Oct 27, 2019
View 17.scm
 ;; This code is AWFUL and I'm sorry. ;; idea from http://stackoverflow.com/a/23718676/415518 ;; This works after I added the `concat`! (define permutations (lambda (ls) (cond [(null? ls) '(())] [(equal? (length ls) 1) `((,(car ls)))] [(equal? (length ls) 2)
Last active Oct 27, 2019
View arithmetic-puzzle-solver.rkt
 #lang racket ;; A solver for the following puzzle: ;; Given 5 integers a, b, c, d, and e, ;; find an expression that combines a, b, c, and d with arithmetic operations (+, -, *, and /) to get e. (require srfi/1) (define ops '(+ - * /))
Last active Jul 11, 2019
View transcripts.md

Prompted by a discussion at the Recurse Center, here are all the courses I took in undergrad and grad school!

``````Page: 1 of 1						GRINNELL COLLEGE
December 01 2006

Lindsey A Kuper				0180202		XXXX-XX-XXXX
``````
Created Apr 5, 2019
View Main.hs
 module Main where import Data.IORef data Counter = Counter { x :: IORef Int } makeCounter :: Int -> IO Counter makeCounter i = do iref <- newIORef i return (Counter iref)
Created Jul 19, 2016
Tiny script for sending bulk emails via Gmail.
View bulk_email.rb
 # Dependencies: `gem install ruby-gmail` require 'gmail' require 'csv' email_subject = "subject line" email_body = File.open("email.txt", "rb").read username = "username"
Created Dec 29, 2017
Revision history of one of my blog posts.
View blog.diff
 \$ git log -p --word-diff 2015-12-29-refactoring-as-a-way-to-understand-code.markdown | cat commit 698f4140d1f141b339731f8fe8c984137f93880e Author: Lindsey Kuper Date: Fri Jun 9 14:00:31 2017 -0700 Tweak a bunch of tags, mostly! diff --git a/source/_posts/2015-12-29-refactoring-as-a-way-to-understand-code.markdown b/source/_posts/2015-12-29-refactoring-as-a-way-to-understand-code.markdown index 8cafa552c1..e3ccd2b267 100644 --- a/source/_posts/2015-12-29-refactoring-as-a-way-to-understand-code.markdown
Created Nov 18, 2017
View gist:c826aa11a1be3fd0229ea1b561d1b879
 t = 0.0, t/dt = 0.0, mod(t/dt, 10) = 0.0 t = 0.0001, t/dt = 1.0, mod(t/dt, 10) = 1.0 t = 0.0002, t/dt = 2.0, mod(t/dt, 10) = 2.0 t = 0.0003, t/dt = 2.9999999999999996, mod(t/dt, 10) = 2.9999999999999996 t = 0.0004, t/dt = 4.0, mod(t/dt, 10) = 4.0 t = 0.0005, t/dt = 5.0, mod(t/dt, 10) = 5.0 t = 0.0006, t/dt = 5.999999999999999, mod(t/dt, 10) = 5.999999999999999 t = 0.0007, t/dt = 7.0, mod(t/dt, 10) = 7.0 t = 0.0008, t/dt = 8.0, mod(t/dt, 10) = 8.0 t = 0.0009, t/dt = 9.0, mod(t/dt, 10) = 9.0
Created Oct 13, 2016
My .aspell.en.pws file as of October 13, 2016
View gist:902730b0dd9e2ee4e499c1beda748fc1
 lvars LVar's LVars elseif EuroSys tuples Karpinski Blandy's multi Amr
You can’t perform that action at this time.