원클릭으로
nela-s-writing
Practical guidance to write valid NELA-S files. Use this skill in new projects created from the starter pack.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Practical guidance to write valid NELA-S files. Use this skill in new projects created from the starter pack.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Tool specifications and interfaces for the NELA language toolchain. Covers surface language (NELA-S) interpreter, type checking, compiler (NELA-S → NELA-C interaction nets), serialization, legacy code migration, and LLM context optimization. Load when implementing any NELA toolchain component.
Enforces immutable runtime/tooling policy for projects bootstrapped from this starter pack.
Reusable LLM-first header and section metadata standard for NELA-S source files. Defines the section index format, per-section metadata blocks, synchronization rules, and validation workflow. Load when creating or refactoring any .nela file.
Mathematical foundations for NELA language design. Primary theory: Interaction Nets (Lafont 1990) — local graph rewriting, NOT automata theory. Supporting theories: Linear Logic (resource semantics), Dependent Type Theory (verification). Von Neumann CA is historical background only — do not use it to guide language design decisions. Load this skill before designing any NELA language construct, rewrite rule, or type system component.
| name | nela-s-writing |
| description | Practical guidance to write valid NELA-S files. Use this skill in new projects created from the starter pack. |
| applyTo | **/*.nela |
In scope:
.nela functions.nela sectionsOut of scope:
Every .nela file should start with a section index and use section markers.
Header index pattern:
-- SECTION INDEX FOR LLM NAVIGATION (auto-maintained):
-- SECTION_NAME [start-end] func1 | func2 | func3
Section marker pattern:
-- ── @SECTION_NAME [start-end] ───────────────────────────────────────────────
-- Functions: func1, func2
-- Purpose: one-line responsibility
-- Called_by: caller1, caller2
-- Key_vars: [x, y, acc]
-- Details: optional implementation notes
Header rules:
def blocks.make check-header after structural changes.make fix-header if out of sync.def f lst =
match lst
| [] = []
| h::t = ...
def update state action =
if action == 0 then ...
else if action == 1 then ...
else state
+ addition- subtraction* multiplication/ integer division% modulo== equals< less than<= less than or equal> greater than>= greater than or equalandornot (builtin):: cons (prepend)++ appendnot, unary negation)*, /, %+, -==, <, <=, >, >=)and, or)Use parentheses when in doubt.
head lsttail lstfst pairsnd pairnot bsin xcos xsqrt xfloor xceil xround xabs xord cchr ntake n lstdrop n lstget lst nio_key tokenio_print payload tokenOnly use I/O builtins if the host runtime exposes them.
def name arg1 arg2 = expr
[]
h::t
a ++ b
(a, b)
fst p
snd p
let x = e in body
if cond then a else b
match e
| [] = ...
| h::t = ...
[x <- list | pred]
make check-header
make fix-header
make test