---
title: Creating Patterns
layout: ../../layouts/MainLayout.astro
---

import { MiniRepl } from '../../docs/MiniRepl';
import { JsDoc } from '../../docs/JsDoc';

# Creating Patterns

The following functions will return a pattern.
These are the equivalents used by the Mini Notation:

| function                         | mini             |
| -------------------------------- | ---------------- |
| `cat(x, y)`                      | `"<x y>"`        |
| `seq(x, y)`                      | `"x y"`          |
| `stack(x, y)`                    | `"x,y"`          |
| `s_cat([3,x],[2,y])`             | `"x@3 y@2"`      |
| `s_polymeter([a, b, c], [x, y])` | `"{a b c, x y}"` |
| `s_polymeterSteps(2, x, y, z)`   | `"{x y z}%2"`    |
| `silence`                        | `"~"`            |

## cat

<JsDoc client:idle name="cat" h={0} />

## seq

<JsDoc client:idle name="seq" h={0} />

## stack

<JsDoc client:idle name="stack" h={0} />

## s_cat

<JsDoc client:idle name="s_cat" h={0} />

## arrange

<JsDoc client:idle name="arrange" h={0} />

## s_polymeter

<JsDoc client:idle name="s_polymeter" h={0} />

## s_polymeterSteps

<JsDoc client:idle name="s_polymeterSteps" h={0} />

## silence

<JsDoc client:idle name="silence" h={0} />

## run

<JsDoc client:idle name="run" h={0} punchcard />

After Pattern Constructors, let's see what [Time Modifiers](/learn/time-modifiers) are available.
