Skip to content

Running Code

Checking types, executing code, and using the function dashboard.


Check vs Run

The workspace offers two modes of execution:

Check (typecheck only)

  • Parses and typechecks your code
  • Shows inferred types for all bindings
  • Shows which effects are used
  • Does not execute — no LLM calls, no HTTP requests, no credits consumed
  • Use this to validate your code before running

Run (typecheck + execute)

  • Does everything Check does, plus executes the code
  • Returns the computed result value
  • Effectful calls (LLM, HTTP, MCP) are actually performed
  • Console output from log is captured
  • LLM calls consume credits

Running from the editor

In the editor view:

  1. Write your code
  2. Press Cmd+Enter (or click Run)
  3. Results appear in the output panel:
    • Value: The computed result
    • Console: Log output
    • Errors: Any runtime errors

Running individual functions

In the home view (graph or list):

  1. Click a function to select it
  2. The detail panel shows:
    • Function type signature
    • Effects
    • Arguments form
  3. Enter argument values:
    • Form mode: Fill in record fields individually
    • Expression mode: Write a Qosm expression
  4. Click Run

This is useful for testing functions in isolation without running the entire program.

Call graph

The call graph visualization shows:

  • Nodes: Each function in your project
  • Edges: Which functions call which (solid lines)
  • Capability edges: Which capabilities each function uses (dashed lines)
  • Module grouping: Functions colored by their source module

Interactive features:

  • Click a node to see its details
  • Double-click to jump to the editor
  • Drag to rearrange
  • Scroll to zoom
  • Use the minimap for navigation

Rate limits

To prevent runaway costs:

  • 5 LLM calls per minute per user
  • 3 concurrent executions globally
  • 30 second timeout per execution
  • 2000 character code limit

Execution output

The output panel shows:

| Section | Content | |---------|---------| | Value | The return value of your program, pretty-printed | | Console | Output from log capability calls | | Error | Parse errors, type errors, or runtime errors | | Inference | Types, effects, and capabilities (always shown, even on error) |