Interop

Interop is one of the most important reasons to use MakrellTS. The TypeScript track is valuable when Makrell forms need to live inside ordinary JavaScript and TypeScript projects rather than sitting apart from them.

This section should eventually document:

  • JavaScript interop

  • TypeScript-facing ergonomics

  • browser APIs

  • package and module workflows

  • boundaries between Makrell semantics and JS/TS semantics

Practical environments include:

  • Node.js CLI use

  • Bun development workflows

  • browser runtime execution

  • browser compile/execute flows with isolated meta execution support

Representative direction

MakrellTS interop is about fitting Makrell forms into JavaScript and TypeScript projects rather than treating the language as isolated from the host ecosystem.

That means the important questions are often practical:

  • how source is run or compiled

  • how emitted JavaScript is inspected

  • how browser-oriented workflows are supported

  • how module/import models behave in different environments

Small example shape

MakrellTS keeps the family syntax while targeting JS/TS-oriented usage:

{fun add [x y]
  x + y}

add3 = {add 3 _}
[2 5 8] | {map add3} | sum

How to use this page

Use this page as a host-facing orientation page. If your main question is about CLI workflow or browser workflow, the cookbook and tooling pages are often the next practical stop.

Read this page together with