← Back to list

functional-programming
by mcclowes
A pipe-oriented functional programming language with a tree-walk interpreter written in TypeScript.
⭐ 3🍴 0📅 Jan 12, 2026
SKILL.md
name: functional-programming
IMPORTANT: Keep description on ONE line for Claude Code compatibility
prettier-ignore
description: Use when writing functional code - covers FP best practices (Lea differs from traditional FP languages)
Functional Programming Best Practices
Quick Start
-- Prefer pure functions and immutable data
let double = (x) -> x * 2
[1, 2, 3] /> map(double) /> filter((x) -> x > 2)
Core Principles
- Immutability: Use
letby default,maybeonly when mutation is necessary - Pure functions: No side effects, same input always produces same output
- Composition: Build complex behavior from simple, composable functions
- Higher-order functions: Pass functions as arguments, return functions
Lea-Specific Warnings
Lea differs from traditional FP languages:
- No currying - Use placeholders:
5 /> add(3, input) - Pipes prepend -
x /> fn(a)becomesfn(x, a) - Mutable bindings -
maybeallows mutation; avoid unless necessary - No monads - Async uses
#asyncdecorator instead - Opt-in types - Add
:: Type :> ReturnType, use#strictfor enforcement
Notes
- Prefer
letovermaybe - Use pipelines (
/>) for left-to-right data flow - Callbacks receive
(element, index)
Score
Total Score
65/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon

