Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Most interesting aspects (Notation+DSL) here:

Physical Reality as Type System

- Knitting notation treats physical constraints (yarn direction, needle capacity) as compile-time invariants, not runtime checks

- The notation literally cannot express impossible operations - unlike most programming languages where invalid states are runtime errors

Semantic 2D Syntax

- Spatial positioning encodes operational meaning, not just formatting

- Chart coordinates directly map to fabric coordinates - position IS semantics

- Most programming languages waste the 2D plane on purely aesthetic layout

Context-Dependency That Works

- Heavy context-switching (RS/WS, cable positions) remains manageable because contexts map to physical realities practitioners can feel

- Suggests context-dependent syntax works when contexts correspond to user’s embodied experience

- Contradicts typical CS wisdom that context-dependency is always bad design

Expert Chunking Over Beginner Clarity

- Single symbols encode 4+ sequential operations for expert efficiency

- Notation evolved to optimize pattern recognition for power users, not learning curves

- Inverse of typical programming language priorities (readability over expert speed)

Domain Invariants Enable Multi-Modal Translation

- Knotty’s translation capabilities required modeling yarn physics, not just syntax

- The type system encodes gauge, tension, and material properties as first-class constraints

- Shows DSL success requires modeling domain physics, not just domain vocabulary

Power-Law Feature Adoption

- 10 symbols for basics, 200+ for experts - mirrors programming language feature creep

- But knitting notation maintained backwards compatibility across complexity levels

- Suggests sustainable complexity growth patterns for language design



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: