I hereby claim:
- I am mavant on github.
- I am mavant (https://keybase.io/mavant) on keybase.
- I have a public key whose fingerprint is 6C6F D940 8D96 832D 6CDD 740B DD9B DC4A A11E 21D0
To claim this, I am signing this object:
| (define (generic-agent put drink survive) (lambda (arg) | |
| (cond ((null? arg) put) ;; output a glass to put poison into | |
| ((boolean? arg) (survive arg)) ;; output whether you survive given poison | |
| ((procedure? arg) (drink arg)) ;; output a glass to drink given the other player's source | |
| (else (error "Input type must be one of: Null, boolean, or procedure"))))) | |
| (define (contains? list element) (if (member element list) #t #f)) | |
| (define (battle-of-wits p1 p2) |
| (define (prisoners-dilemma player1 player2) ;;Payoffs correspond to years in prison (lower is better) | |
| (let ((p1 (player1 player2 prisoners-dilemma)) ;;Each player is given the other player's source code and the game's source code | |
| (p2 (player2 player1 prisoners-dilemma))) | |
| (cond | |
| ((and (equal? p1 'C) (equal? p2 'C)) (cons 1 1)) | |
| ((and (equal? p1 'C) (equal? p2 'D)) (cons 3 0)) | |
| ((and (equal? p1 'D) (equal? p2 'C)) (cons 0 3)) | |
| ((and (equal? p1 'D) (equal? p2 'D)) (cons 2 2))))) | |
| (define (nicebot . z) 'C) ;;nicebot ignores the opponent and game; it always cooperates |
| import csv | |
| import re | |
| from subprocess import call | |
| outputfilename = 'BroCode.pdf' | |
| articlecsv = 'Articles.csv' | |
| formatfilename = 'page.tex' | |
| output = open('latextemp.tex','w') | |
| formatfile = open('page.tex', 'r') |
I hereby claim:
To claim this, I am signing this object:
| defn line->ints [line] | |
| map | |
| fn [l] | |
| Integer/parseInt l | |
| split line #"\s+" | |
| defn solutions->outputs [solutions] | |
| map | |
| fn [n s] | |
| str "Case #" |
| (use '[clojure.string :as s]) | |
| (defn remove-whitespace "Given a string representing some Clojure code as input, remove superfluous whitespace." [c] (s/replace c #"\s+" " ")) | |
| (defn parens->indents "Given a list of lines in which each begins an expression, prepends a newline and the appropriate number of tabs to each line." [c] (map (fn [a b] (str "\n" (apply str (repeat a "\t")) b)) (indent-levels (match-parens c)) (split-on-all-parens c))) | |
| (defn remove-empty-lines "Given a list of strings, filters out any string which contains no word characters." [l] (filter (fn [c] (< 0 (count (re-seq #"\w" c)))) l)) | |
| (defn indent-levels "Given a list of lines of code, determine the appropriate number of tabs for each line." [l] (reduce (fn [a b] (conj a (+ (peek a) (if (= b ")") -1 1)))) [-1] l)) | |
| (use '[clojure.string :as s]) | |
| (defn remove-whitespace "Given a string representing some Clojure code as input, remove superfluous whitespace." [c] (s/replace c #"\s+" " ")) | |
| (defn indent-levels "Given a list of lines of code, determine the appropriate number of tabs for each line." [l] (reduce (fn [a b] (conj a (+ (peek a) (if (= b ")") -1 1)))) [-1] l)) | |
| (defn remove-empty-lines "Given a list of strings, filters out any string which contains no word characters." [l] (filter (fn [c] (< 0 (count (re-seq #"\w" c)))) l)) | |
| (defn match-parens "Given a string of code, return a list of all the parentheses in the code, in the order in which they appear." [c] (re-seq #"[\)\(]" c)) |
| use '[clojure.string :as s] | |
| defn remove-whitespace "Given a string representing some Clojure code as input, remove superfluous whitespace." [c] | |
| s/replace c #"\s+" " " | |
| defn indent-levels "Given a list of lines of code, determine the appropriate number of tabs for each line." [l] | |
| reduce | |
| fn [a b] | |
| conj a | |
| peek a | |
| if |
| use '[clojure.string :as s] | |
| defn remove-whitespace "Given a string representing some Clojure code as input, remove superfluous whitespace." [c] | |
| s/replace c #"\s+" " " | |
| defn indent-levels "Given a list of lines of code, determine the appropriate number of tabs for each line." [l] | |
| reduce | |
| fn [a b] | |
| conj a | |
| peek a | |
| if | |
| = b ")" |
| (defmacro list-pythonize "Convert a list of expressions in Clojure to semantic-whitespace form." ([l] (macroexpand-1 `(list-pythonize ~l 0))) ([l n] (map (fn [x] (if (list? x) (concat (list "\n") (repeat n "\t") (macroexpand-1 `(list-pythonize ~x ~(+ n 1))) ) x)) l))) | |
| (print (macroexpand-1 '(list-pythonize (defn tabs->parens [c] (map add-parens (rest (split-on-newlines c)) (list-deltas (code->numtabs c))))))) | |
| ;=> | |
| ;(defn tabs->parens [c] ( | |
| ; map add-parens ( | |
| ; rest ( | |
| ; split-on-newlines c)) ( | |
| ; list-deltas ( |