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
;(ql:quickload :cl-ppcre) | |
;(ql:quickload :cl-interpol) | |
;(named-readtables:in-readtable :interpol-syntax) | |
(defun full-match (pattern string) | |
"Something like Python's re.fullmatch. | |
Example (with cl-interpol): | |
(full-match #?/\s/ #?' ') -> T | |
(full-match #?/\s/ #?'') -> nil" | |
(equal string (cl-ppcre:scan-to-strings pattern string))) |
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
;; Public domain example of using cl-autowrap and cffi to follow using the core api documented at | |
;; https://fmod.com/resources/documentation-api?version=2.0&page=white-papers-getting-started.html | |
;; to load and play a sound file with fmod. | |
;; This file assumes it's in the downloaded fmodstudioapi20009linux/ folder, | |
;; which contains the C includes and pre-built dynamic libraries. | |
;; Try it out, evaluating step by step! | |
(ql:quickload :cl-autowrap) | |
(defpackage :fmod-test |
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
; union-find.lisp | |
;; A generic solution for connected components. "I have some number of graphs. Is this element connected to | |
;; this other element? Or are the graphs/sets each element belongs to disjoint?" | |
;; | |
;; A 'backwards' tree with pointers from a node to its parent, which lets you union two separate trees together by | |
;; just taking the shorter one's root and pointing it at the taller one's (or vice versa, but this way preserves log | |
;; behavior). | |
;; The path compression optimization (not done here) seems to just be an extra pass in find(), after you have the result, | |
;; to re-parent each item along the path to the found root parent so that any future finds() of any of those items |
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
;; A generic solution for connected components. "I have some number of graphs. Is this element connected to | |
;; this other element? Or are the graphs/sets each element belongs to disjoint?" | |
;; | |
;; a 'backwards' tree with pointers from a node to its parent, which lets you union two separate trees together by | |
;; just taking the shorter one's root and pointing it at the taller one's (or vice versa, but this way preserves log | |
;; behavior). The path compression optimization seems to just be an extra pass in find(), after you have the result, | |
;; to re-parent each item along the path to the found root parent so that any future finds() of any of those items | |
;; will only have one lookup to reach the component root. | |
(defclass union-find () |
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
#| | |
This file is in the public domain. | |
I grabbed the data from ucd.all.flat.zip at ftp://ftp.unicode.org/Public/11.0.0/ucdxml/ | |
and use this script to create a UnicodeLetters.txt file | |
containing a series of unicode chars suitable for using in JavaScript regular expressions | |
where you want \p{L}. | |
Note that IE does not support the 'u' flag, you'll need to restrict yourself to the subset of | |
letters in the BMP (below 0x10000) and use this script to print out a simple "\uABCD" instead of "\\u{ABCDE}". | |
Also note that reading in the file seems to stress SBCL's default settings, run with | |
--dynamic-space-size 10000 |
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
; put this in my .sbclrc file. | |
; useful idea I had, rebind defun to keep track | |
; of functions that have been referenced but not yet | |
; defined. Loosely inspired by Utopian. | |
(setf (macro-function 'cl-defun) (macro-function 'defun)) | |
(defparameter *undefined-functions* nil) | |
(handler-bind | |
((warning | |
(lambda (w) | |
(declare (ignorable w)) |
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 reverse-string-c (string string-length) | |
(prog ((pos 0) (half (truncate (/ string-length 2)))) | |
START (if (= pos half) | |
(return string)) | |
(let ((swap-pos (- string-length pos 1))) | |
(rotatef (schar string pos) (schar string swap-pos))) | |
(incf pos) | |
(go START))) | |
(defun reverse-string (string) |
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
# Copyright 1999-2016 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
# $Header: $ | |
EAPI=5 | |
inherit eutils autotools | |
DESCRIPTION="Common Lisp environment setup utility" | |
HOMEPAGE="https://github.com/roswell/roswell" |
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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; calc.cljs | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(ns sevseg.calc) | |
(defn calc | |
"Expects a 4-item vector of booleans | |
representing a big-endian binary number. | |
Returns a 7-item map with keys prefix + num | |
corresponding to which segments of the display |
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
import json | |
import glob | |
files = glob.glob('*.js') | |
data = {} | |
for f in files: | |
file = open(f) | |
_ = file.readline() | |
data[f] = json.loads(file.read()) |