Skip to content
Back to skills

Squint Runtime

ASecurity

Squint ClojureScript runtime for minimal JS output compilation

  • 61 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 29, 2026
developmentjavascriptgojavabash

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned May 29, 2026

npx -y skills add plurigrid/asi --skill squint-runtime --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Squint Runtime?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Squint Runtime
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/plurigrid-squint-runtime/badge)](https://www.skillsdirectory.com/skills/plurigrid-squint-runtime)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: squint-runtime
description: Squint ClojureScript runtime for minimal JS output compilation
version: 1.0.0
---


# Squint Runtime Skill

**Status**: βœ… Production Ready
**Author**: Michiel Borkent (borkdude)
**Trit**: 0 (ERGODIC - neutral transport)
**Stars**: 1.2k+

---

## Overview

Squint is a **light-weight ClojureScript dialect** that compiles to JavaScript with minimal runtime overhead. It's the "minimal" alternative in borkdude's browser runtime spectrum.

## When to Use Squint vs Cherry

| Aspect | Squint | Cherry πŸ’ |
|--------|--------|-----------|
| **Runtime size** | Minimal (~10KB) | Full cljs.core (~100KB) |
| **Semantics** | JS-like | Full CLJS |
| **Data structures** | JS objects/arrays | Persistent immutable |
| **Keywords** | Strings | CLJS keywords |
| **Interop** | Seamless | Requires macros |
| **JSX** | ❌ | βœ… |
| **Use case** | Small scripts, interop | Full applications |

## Installation

```bash
npm install squint-cljs@latest
```

## Usage

```clojure
;; example.cljs
(ns example)

;; Functions compile to regular JS functions
(defn greet [name]
  (str "Hello, " name "!"))

;; JS interop is seamless
(js/console.log (greet "World"))

;; Object destructuring works naturally
(defn process [{:keys [a b c]}]
  (+ a b c))

(process #js {:a 1 :b 2 :c 3})  ; => 6
```

### Compile and Run

```bash
# Compile to JS
npx squint compile example.cljs

# Run directly
npx squint run example.cljs
```

## Key Differences from CLJS

1. **Data structures are JS native**:
   ```clojure
   {:a 1}  ; => {a: 1} in JS (plain object)
   [1 2 3] ; => [1, 2, 3] in JS (array)
   ```

2. **Keywords become strings**:
   ```clojure
   :foo ; => "foo" in JS
   ```

3. **No persistent data structures** (use JS mutation)

4. **Faster interop** (no conversion needed)

## Integration with Gay.jl Colors

```clojure
(ns squint.gay-colors)

;; SplitMix64 constants
(def GOLDEN 0x9E3779B97F4A7C15)
(def MASK64 0xFFFFFFFFFFFFFFFF)

(defn splitmix64 [state]
  (let [s (bit-and (+ state GOLDEN) MASK64)
        z (-> s
              (bit-xor (unsigned-bit-shift-right s 30))
              (* 0xBF58476D1CE4E5B9)
              (bit-and MASK64))
        z (-> z
              (bit-xor (unsigned-bit-shift-right z 27))
              (* 0x94D049BB133111EB)
              (bit-and MASK64))]
    (bit-xor z (unsigned-bit-shift-right z 31))))

(defn color-at [seed idx]
  (loop [state seed i idx]
    (if (zero? i)
      (let [v (splitmix64 state)
            l (+ 10 (* 85 (/ (bit-and v 0xFF) 255)))
            c (* 100 (/ (bit-and (unsigned-bit-shift-right v 8) 0xFF) 255))
            h (* 360 (/ (bit-and (unsigned-bit-shift-right v 16) 0xFFFF) 65535))]
        {:L l :C c :H h})
      (recur (splitmix64 state) (dec i)))))
```

## Commands

```bash
just squint-compile file.cljs  # Compile CLJS to JS
just squint-run file.cljs      # Run CLJS file
just squint-watch              # Watch mode compilation
```

---

**Skill Name**: squint-runtime
**Type**: ClojureScript Compiler
**Trit**: 0 (ERGODIC)
**Invariant**: βœ… Deterministic compilation



## Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

### Graph Theory
- **networkx** [β—‹] via bicomodule
  - Universal graph hub

### Bibliography References

- `general`: 734 citations in bib.duckdb

## Cat# Integration

This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:

```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: βŠ—
Kan Role: Adj
Color: #26D826
```

### GF(3) Naturality

The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≑ 0 (mod 3)
```

This ensures compositional coherence in the Cat# equipment structure.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…