Skip to content

Instantly share code, notes, and snippets.

View ecounysis's full-sized avatar

Eric Christensen ecounysis

View GitHub Profile
@ecounysis
ecounysis / sicp_2.5.scm
Created December 28, 2011 07:24
Exercise 2.5
(define (remove-factor x y)
(if (= 0 (modulo x y)) (remove-factor (/ x y) y) x))
(define (loga x y) (/ (log x) (log y)))
(define (consa a b) (* (expt 2 a) (expt 3 b)))
(define (cara p) (inexact->exact (loga (remove-factor p 3) 2)))
(define (cdra p) (inexact->exact (loga (remove-factor p 2) 3)))
@ecounysis
ecounysis / lnbm.html
Created October 30, 2011 05:23
Lamer News Bookmarklet
<!--
need to change code of lamer news so it accepts get data and fills the form with it
-->
<html>
<head><title>Lamer News Bookmarklet</title></head>
<body>
<h3>Drag link to bookmarks</h3>
<h2><a href="javascript:window.location='http://lamernews.com/submit?url='+encodeURIComponent(document.location)+'&title='+encodeURIComponent(document.title)">post to Lamer News</a></h2>
</body>
</html>
@ecounysis
ecounysis / SICP_2.23.lisp
Created September 9, 2011 06:56
SICP Exercise 2.23 (common lisp)
(defun freach (fn x)
(cond ((null x) t)
(t (funcall fn (car x)) (freach fn (cdr x)))))
@ecounysis
ecounysis / SICP_2.23.scm
Created September 9, 2011 06:32
SICP Exercise 2.23
(define (freach fn lst)
(cond ((null? lst) #t)
(else (fn (car lst)) (freach fn (cdr lst)))))
@ecounysis
ecounysis / gps.lisp
Created September 9, 2011 05:04
GPS from PAIP
(defun find-all (item sequence &rest keyword-args
&key (test #'eql) test-not &allow-other-keys)
"Find all thos elements of sequence that match item,
according to keywords. Doesn't alter sequence."
(if test-not
(apply #'remove item sequence
:test-not (complement test-not) keyword-args)
(apply #'remove item sequence
:test (complement test) keyword-args)))
@ecounysis
ecounysis / sicp_2.20.scm
Created September 7, 2011 23:40
Exercise 2.20
(define (same-parity x . w)
(define (inner-parity a b)
(cond
((null? b) b)
((or (and (even? a) (even? (car b)))
(and (odd? a) (odd? (car b))))
(cons (car b) (inner-parity a (cdr b))))
(else (inner-parity a (cdr b)))))
(inner-parity x w))
@ecounysis
ecounysis / paip_3.12.lisp
Created September 7, 2011 05:52
PAIP Exercise 3.12
(defun pp (sentence)
(let ((cstring (format nil "~{ ~s~}." sentence)))
(format nil
(concatenate 'string "~@(" cstring "~)"))))
@ecounysis
ecounysis / paip_3.9.lisp
Created September 7, 2011 04:24
PAIP Exercise 3.9
(defun len-reduce (x)
(let ((len 0))
(reduce (lambda (z w) (setf len (1+ len)))
(append x '(0)))))
@ecounysis
ecounysis / paip_3.1.lisp
Created September 7, 2011 00:59
PAIP Exercise 3.1
((lambda (x)
((lambda (y)
(+ x y))
(* x x)))
6)
@ecounysis
ecounysis / sicp.2.18.scm
Created September 6, 2011 22:37
Exercise 2.18
(define (new-reverse ls1)
(define (rev-acc ls2 acc)
(if (null? ls2)
acc
(rev-acc (cdr ls2) (cons (car ls2) acc))))
(rev-acc ls1 '()))