Skip to content

Instantly share code, notes, and snippets.

(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))
(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
(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)))))
@Eskatrem
Eskatrem / newton-raphson.clj
Created September 22, 2013 23:45
Implementation of Newton Raphson algorithm in clojure
(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)
(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))
@Eskatrem
Eskatrem / save-source.lisp
Created October 28, 2013 15:15
macro to make the code of a function available while defining that function
(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)))
@Eskatrem
Eskatrem / derivator-first-class.lisp
Created October 28, 2013 19:43
Attempt to write the derivative as a first class operator
(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)))
@Eskatrem
Eskatrem / derivatives.lisp
Created November 3, 2013 15:21
Proof of concept of a program that makes the derivative operator a first class citizen.
(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*
(defun get-back-char ()
(buffer-substring-no-properties (- (point) 6) (point)))
(defun del-backward ()
(interactive)
(let ((text-back (get-back-char)))
(do
(message "test")
(if (string= text-back "lambda")
(delete-backward-char 6)
;;clojure-code
(:require [compojure.core :refer :all]
[trads.layout :as layout]
[trads.util :as util]
[monger.core :as mg]
[selmer.filters :as selm])
(selm/add-filter! :get-name #((first %) (second %)))