This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; https://www.reddit.com/r/dailyprogrammer/comments/3ggli3/20150810_challenge_227_easy_square_spirals/ | |
; [2015-08-10] Challenge #227 [Easy] Square Spirals | |
; Rainer Joswig, [email protected], 2015 | |
; portable Common Lisp code | |
; 'math' version based on Java version by 9speedy | |
;;; ================================================================ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; http://ruslanspivak.com/lsbasi-part3/ | |
; Lisp / CLOS version Rainer Joswig, [email protected], 2015 | |
;;; ================================================================ | |
;;; Token | |
(defclass token () | |
((type :accessor token-type :initarg :type) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defmacro pipe (expression &rest expressions) | |
(if (null expressions) | |
expression | |
(destructuring-bind ((fn arg &rest args) &rest more-expressions) | |
expressions | |
`(pipe | |
(let ((,arg ,expression)) | |
(,fn ,arg ,@args)) | |
,@more-expressions)))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defmethod get-prime ((a integer)) | |
(let ((vector (make-array 100))) | |
(setf (aref vector 0) 2) | |
(loop for i from 1 upto a do | |
(loop for j from (1+ (aref vector (1- i))) do | |
(when (= i (loop for k below i | |
until (zerop (mod j (aref vector k))) | |
finally (return k))) | |
(setf (aref vector i) j) | |
(return)))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defun retrieve-source-code (&optional (package *package*)) | |
(do-symbols (s package) | |
(multiple-value-bind (symbol where) | |
(find-symbol (symbol-name s) | |
package) | |
(declare (ignore symbol)) | |
(when (member where '(:internal :external)) | |
(let ((ds (find-definition-sources s))) | |
(when (and ds (listp ds)) | |
(loop for (nil sn) in ds |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defun cp (l1 l2) | |
(mapcan (lambda (e2) | |
(mapcar (lambda (e1) (list e1 e2)) l1)) | |
l2)) | |
(defun cp (l1 l2) | |
(iter:iter outer (iter:for i iter:in l1) | |
(iter:iter (iter:for j iter:in l2) | |
(iter:in outer (iter:collect (list i j)))))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; https://github.com/d4gg4d/it-factors/blob/master/day-of-the-week.lisp | |
(defvar *month-to-code* | |
'(nil 1 4 4 0 2 5 0 3 6 1 4 6)) | |
(defun fetch-month-code (month) | |
(nth month *month-to-code*)) | |
(defvar *code-to-day* | |
'("Saturday" "Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; optimizations copyright Rainer Joswig, 2014, [email protected] | |
;;; Original: https://github.com/logicchains/LPATHBench/blob/master/writeup.md | |
;;; Structure declarations | |
;; In Common Lisp the slot declarations might save space for some types. But | |
;; that might not make it faster, since access gets more complicated.. | |
;; It also might take more time, when type checks are done at runtime. | |
;; Some implementations check slot updates for correct types under some | |
;; SAFETY optimization values. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; https://github.com/logicchains/LPATHBench/blob/master/writeup.md | |
(defun parse-line (line &aux (pos 0) n) | |
(declare (ignorable n)) | |
(loop repeat 3 | |
collect (multiple-value-setq (n pos) | |
(parse-integer line :start pos :junk-allowed t)))) | |
(defparameter *file* "agraph") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; https://github.com/logicchains/LPATHBench/blob/master/writeup.md | |
(eval-when (:load-toplevel :compile-toplevel :execute) | |
(defstruct route | |
(dest 0 :type fixnum) | |
(cost 0 :type fixnum))) | |
(defun parse-line (line &aux (pos 0) n) | |
(declare (ignorable n)) | |
(loop repeat 3 |