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
logis captured - LLM calls consume credits
Running from the editor
In the editor view:
- Write your code
- Press Cmd+Enter (or click Run)
- 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):
- Click a function to select it
- The detail panel shows:
- Function type signature
- Effects
- Arguments form
- Enter argument values:
- Form mode: Fill in record fields individually
- Expression mode: Write a Qosm expression
- 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) |