DedSec Project

pony — consolidated language guide — DedSec Project

pony — consolidated language guide Pony Operational idea Pony uses actor-based concurrency and reference capabilities to control mutable aliasing. Source or deliberately marked concept…

Pony

Operational idea

Pony uses actor-based concurrency and reference capabilities to control mutable aliasing.

Source or deliberately marked concept

actor Main
  new create(env: Env) =>
    env.out.print("Hello Pony")

Apply it to one controlled task

Identify the actor constructor and explain why references shared between actors require capability rules.

Check the important boundary

An ordinary thread-race fix from another language is not a replacement for Pony's reference capability semantics.

Work with disposable data in a genuine implementation of Pony where available. Record the actual tool version and compare your prediction with observed output. If a compatible runtime is missing, clearly mark this as static analysis instead of claiming it passed execution. Split the normal case from at least one boundary value, and avoid using sensitive or production datasets merely to follow a tutorial.

Pony — Expanded practice workbook

Read the baseline source

actor Main
  new create(env: Env) =>
    env.out.print("Hello, Ada!")

Relevant environment: ponyc in a Pony package directory.. Verify that the matching compiler, host or simulator is available before treating output as authoritative. For scripts that can interact with personal files or systems, use a scratch workspace and read-only fixtures by default.

Detailed working objective

Create an actor that receives messages and updates private state; explain how reference capabilities constrain mutable sharing across actors.

The failure that must be understood

Pony's iso/ref/val capabilities have strong type rules; do not bypass them by assuming ordinary thread-shared object semantics.