Skip to content

Instantly share code, notes, and snippets.

View theScottyJam's full-sized avatar

Scotty Jamison theScottyJam

View GitHub Profile
@tabatkins
tabatkins / proposal.md
Last active August 22, 2023 13:31
Pattern-matching across constructs

"Matchers Everywhere" Proposal

tldr:

  • Matchers are mostly identical to what's in the repo today, except:
    • I added "predicate matchers" (if(<boolean-expr>)) and removed the if(...) part from the match() syntax.
    • Added ident when <matcher> binding-matcher form, to match its usage in destructuring.
    • Made regex matchers use /foo/ when <matcher> for consistency (and removed the named bindings for simplicity).
    • Added a simpler custom-matcher syntax (foo(<matchers>))
@tabatkins
tabatkins / pipeline.md
Last active October 17, 2022 22:40
Comparing the three pipeline proposals

We've been deadlocked for a while on the pipeline operator proposal, for a few reasons. Partially it's just low implementor interest, as this is fundamentally just syntactic sugar, but also because there are three competing proposals and the proponents of each haven't been convinced by the others yet.

In this essay I hope to briefly outline the problem space, summarize the three proposals, and talk about what's gained/lost by each of them. (Spoiler: they're all nearly identical; we're arguing over very small potatoes.)

@bendc
bendc / easing.css
Created September 23, 2016 04:12
Easing CSS variables
:root {
--ease-in-quad: cubic-bezier(.55, .085, .68, .53);
--ease-in-cubic: cubic-bezier(.550, .055, .675, .19);
--ease-in-quart: cubic-bezier(.895, .03, .685, .22);
--ease-in-quint: cubic-bezier(.755, .05, .855, .06);
--ease-in-expo: cubic-bezier(.95, .05, .795, .035);
--ease-in-circ: cubic-bezier(.6, .04, .98, .335);
--ease-out-quad: cubic-bezier(.25, .46, .45, .94);
--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);