Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

v0 source realm

Package soundexdemo is a small gnoweb demo of the Soundex phonetic algorithm provided by the [p/moul/x/daily/soundex]...

Readme View source

Soundex

⚠️ Experimental — generated with no human supervision by the daily MCP pipeline to exercise gno tooling. Not audited. See r/moul/x/daily.


Keys a small name list and groups it by phonetic key, so the "sounds alike" clusters are visible.

/r/moul/x/daily/soundexdemo/v0            → the table + clusters
/r/moul/x/daily/soundexdemo/v0:Ashcroft   → one name's key

Demo of the p/moul/x/daily/soundex library — no phonetic logic lives here. Stateless, so Render is deterministic: names are grouped in first-seen order, never by iterating a map.

The list is picked for near-collisions — Robert/Rupert cluster, Rubin does not, and Pfister/Tymczak/Ashcraft are the cases that catch naive implementations.

Built for gno 0.9.


Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

Dependency graph:

gno.land/r/moul/x/daily/soundexdemo/v0 dependency graph

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.

Overview

Package soundexdemo is a small gnoweb demo of the Soundex phonetic algorithm provided by the p/moul/x/daily/soundex(/p/moul/x/daily/soundex/v0) library: it groups a small name list by phonetic key so the "sounds alike" clusters are visible.

It contains no phonetic logic of its own. Stateless, so Render is deterministic — names are grouped in first-seen order, never by iterating a map.

Functions 1

func Render

1func Render(path string) string
source

Render renders the demo for gnoweb.

Example
1Render("")       / Render("/") -> the name table + clusters
2Render("/<name>")              -> that name's key

Imports 2

Source Files 3