Samuel Lê Eskatrem

View derivatives.lisp
1 2 3 4 5 6 7 8 9 10
(defparameter *maths-functions* (list))
 
(defmacro defun-maths (func-name args core)
"appends the code of func-name into maths-functions."
`(progn
(push (list :name (quote ,func-name) :variable (quote ,args) :core (quote ,core)) *maths-functions*)
(defun ,func-name ,args ,core)))
 
(defun get-source (func-name)
(car (remove-if-not (lambda (f) (eql (getf f :name) func-name)) *maths-functions*
View derivator-first-class.lisp
1 2 3 4 5 6 7
(defparameter *maths-functions* (list))
 
(defmacro defun-maths (func-name args core)
"appends the code of func-name into maths-functions."
`(progn
(push (list (quote ,func-name) (quote ,@args) (quote ,core)) *maths-functions*)
(defun ,func-name ,args ,core)))
View save-source.lisp
1 2 3 4 5 6 7
(defparameter *maths-functions* (list))
 
(defmacro defun-maths (func-name args core)
"appends the code of func-name into maths-functions."
`(progn
(push (list (quote ,func-name) (quote ,@args) (quote ,core)) *maths-functions*)
(defun ,func-name ,args ,core)))
View eq-assoc++.lisp
1 2 3 4 5 6 7 8 9 10
(defun eq-assoc (assoc-a assoc-b)
(and (equal (length assoc-a) (length assoc-b))
(reduce (lambda (accum pair)
(and accum
(equal pair (assoc (car pair) assoc-b))))
assoc-a
:initial-value t)))
 
(defun group (list)
(let ((even t))
View newton-raphson.clj
1 2 3 4 5 6 7 8 9 10
(ns newton-raphson.core)
 
;;utility function for list manipulation
(defn keep-list [expr]
(if (and (coll? expr) (not (= 1 (count expr)))) (list expr) expr))
 
 
(defn to-list [expr]
(cond (list? expr) expr
(coll? expr) (seq expr)
View gist:1163944
1 2 3 4
(fn [x n]
(loop [res (), k 0]
(cond (>= k n) (if (list? x) res (reverse res))
:else (recur (conj res (filter #(= k (mod % n)) x)) (inc k)))))
View gist:1148056
1 2 3 4 5 6 7 8 9 10
(defn is-palindrome [x]
(= x (Integer/parseInt (apply str (reverse (str x)))))
)
 
(defn problem4 []
;Find the largest palindrome made from the product of two 3-digit numbers.
(def max-palindrome 0)
(doseq [i (range 999)]
(doseq [j (range i)]
(do
View get-prime-factors
1 2 3 4 5 6 7 8 9 10
 
(defn get-prime-factors [n-arg]
;(def n n-arg)
(def prime-factors (list))
(loop [p 2 n n-arg :while (> n 1)]
(println (str "p=" p " n=" n))
;(while (> n 1)
(println n)
(println (class n))
(if (= 0 (mod n p))
Something went wrong with that request. Please try again.