Skip to content

Instantly share code, notes, and snippets.

View radgeRayden's full-sized avatar
🤔

Westerbly Snaydley radgeRayden

🤔
View GitHub Profile
using import Map
using import Array
using import struct
inline table-lookup (t k)
let kT = (typeof k)
let a m =
Struct.__getattr t 'a
Struct.__getattr t 'm
#!/bin/fish
# vim ft=fish
set -l MONTH (date +"%m")
set -l YEAR (date +"%Y")
set -l SSDIR "$HOME/Pictures/Screenshots/$YEAR-$MONTH"
mkdir -p $SSDIR
if test "$argv[1]" = "display"
if maim /tmp/screenshot.png
xclip -selection clipboard -t image/png -i /tmp/screenshot.png
@radgeRayden
radgeRayden / c2.txt
Last active November 30, 2020 17:06
semantically-bind-types
semantically-bind-types c2.v vec2
inline "conv-to" (self)
vec2 self.x self.y
inline "conv-from" (other)
c2.v (unpack other)
@radgeRayden
radgeRayden / main.lisp
Last active October 5, 2020 00:32
reverse polish notation lisp (from scopes)
(('(1 2 3) 'reverse) print)
("hello world" print)
(((4 5 +) 2 >) print)
(module-name print)
((5 87 +) print)
((true false and) print)
@radgeRayden
radgeRayden / gl.sc
Created October 1, 2020 01:32
Scopes GLFW/OpenGL example
# import C functions and sanitize the scope
vvv bind glad
do
let glad =
include
options
.. "-I" module-dir "/glad/include"
"glad/src/glad.c"
do
using glad.extern
sugar let (bindings body...)
let bindings =
fold (result = '(embed)) for binding in (bindings as list)
sugar-match (binding as list)
case (name expr)
cons
qq [let] [name] = [expr]
result
default
error "invalid let syntax"
@radgeRayden
radgeRayden / sc_cloc.sh
Last active October 1, 2020 16:59
Count lines of Scopes code in a directory
find . -name "*.sc" -print0 | xargs -0 -n 1 -I{} cat {} | pcregrep -Mv "^(?<pad> *)#.*\n( (?=\k<pad>).+\n)*" | pcregrep "^[ ]*.+?\$" | wc -l
#!/bin/fish
set -l MONTH (date +"%B")
set -l YEAR (date +"%Y")
set -l SSDIR "$HOME/Pictures/Screenshots/$YEAR-$MONTH"
mkdir -p $SSDIR
if test "$argv[1]" = "display"
if maim /tmp/screenshot.png
xclip -selection clipboard -t image/png -i /tmp/screenshot.png
set -l SSPATH $SSDIR/(date +%s)-(identify -format '%wx%h' /tmp/screenshot.png).png
inline gamma->linear (...)
va-map
inline (c)
if (c <= 0.04045)
c / 12.92
else
((c + 0.055) / 1.055) ** 2.4
...
inline tile@ (level width height p)
spice escape-pattern (str)
import UTF-8
using import itertools
str as:= string
let new-pattern =
->> str UTF-8.decoder
retain
inline (c)
switch c