tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

demo-inputs.ts (1581B)


      1 // Curated presentation metadata, never signatures inferred from arbitrary bundles.
      2 // The argument order comes from the published demos beside this site.
      3 export function demoInputLabels(id: string, definition: string): readonly string[] {
      4   switch (id) {
      5     case 'functions': return definition === 'add' ? ['Left number', 'Right number'] : ['Number'];
      6     case 'transform-list': return definition === 'double' ? ['Number'] : [];
      7     case 'choices': return ['Number of items'];
      8     case 'language-reference':
      9       if (definition === 'first') return ['First value', 'Second value'];
     10       if (definition === 'firstOr') return ['Fallback', 'List'];
     11       return ['identity', 'addTwo', 'describe', 'keep', 'local', 'viaWhere', 'copy', 'localCopy', 'checked', 'sequenced'].includes(definition) ? ['Value'] : [];
     12     case 'microscope': return definition === 'same' ? ['First tree', 'Second tree'] : ['Tree to inspect'];
     13     case 'rgb': return ['RGB channels (0–255)'];
     14     case 'shipping': return ['Destination', 'Cart subtotal (cents)', 'Package weight (grams)'];
     15     case 'events': return definition === 'vendorB' ? ['Event [customer refunded totalCents]'] : ['Event [eventName customer totalCents]'];
     16     case 'registration': return ['Name', 'Email', 'Age', 'Terms accepted (t = false, (t t) = true)'];
     17     case 'lexer': return definition === 'scanWhitespace' ? ['Text with leading whitespace'] : ['Text with a lowercase prefix'];
     18     case 'parser': return ['Comma-separated lowercase names'];
     19     case 'migration': return ['Profile [name email]'];
     20     default: return [];
     21   }
     22 }