Files
hakorune/docs/README.md
Moe Charm 0bed0c0271 🎉 initial commit: Nyash Programming Language完成版
🚀 主要機能:
• Everything is Box哲学による革新的アーキテクチャ
• WebAssemblyブラウザー対応プレイグラウンド
• アーティスト協同制作デモ - 複数Boxインスタンス実証
• 視覚的デバッグシステム - DebugBox完全統合
• static box Mainパターン - メモリ安全設計

 言語機能:
• NOT/AND/OR/除算演算子完全実装
• ジェネリクス/テンプレートシステム
• 非同期処理(nowait/await)
• try/catchエラーハンドリング
• Canvas統合グラフィックス

🎨 ブラウザー体験:
• 9種類のインタラクティブデモ
• リアルタイムコード実行
• WebCanvas/WebConsole/WebDisplay
• モバイル対応完了

🤖 Built with Claude Code collaboration
Ready for public release!
2025-08-09 15:14:44 +09:00

7.1 KiB
Raw Blame History

📚 Nyash Programming Language - Documentation Index

最終更新: 2025年8月8日

🎯 ドキュメント概要

Nyash言語の包括的なドキュメントセットへようこそ 「Everything is Box」哲学に基づく革新的なプログラミング言語の全貌を詳しく解説しています。

📖 読者別ガイド

🚀 初心者・学習者向け

1. GETTING_STARTED_2025.md  ← まずはここから!
2. LANGUAGE_OVERVIEW_2025.md ← 言語全体を理解
3. サンプルプログラム実行  ← 実際に動かしてみる

💻 開発者・エンジニア向け

1. LANGUAGE_OVERVIEW_2025.md     ← 機能全体把握
2. TECHNICAL_ARCHITECTURE_2025.md ← 内部実装理解
3. CLAUDE.md                     ← 開発者詳細情報

🔧 言語開発・拡張者向け

1. TECHNICAL_ARCHITECTURE_2025.md ← アーキテクチャ詳細
2. ../src/ ソースコード          ← 実装コード確認
3. ../current_task               ← 開発状況・TODO

📑 ドキュメント一覧

🌟 メインドキュメント (必読)

1. Getting Started Guide 🚀

  • 対象: プログラミング初心者〜中級者
  • 内容: 5分でNyashを理解、実践チュートリアル
  • 特徴:
    • ステップバイステップの学習プログラム
    • 実用的なサンプルコードCalculator、並行処理等
    • ベストプラクティス・デバッグ技法
    • 推奨: 最初に読むべきドキュメント

2. Language Overview 📖

  • 対象: 言語仕様を理解したい全ユーザー
  • 内容: Nyash言語の完全仕様・機能概要
  • 特徴:
    • 実装済み機能の包括的リスト
    • 構文仕様書・サンプルコード
    • 実用アプリケーション事例
    • 他言語との比較・ベンチマーク

3. Technical Architecture 🔧

  • 対象: システム開発者・言語実装者
  • 内容: 内部アーキテクチャ・実装詳細
  • 特徴:
    • コンポーネント設計・データ構造
    • パフォーマンス特性・最適化戦略
    • 拡張性・FFI設計
    • 実装の技術的革新点

📋 専門ドキュメント

4. CLAUDE.md 🤖

  • 対象: Claude Code開発セッション用
  • 内容: 開発者向け詳細情報・実装ガイドライン
  • 特徴:
    • 最新実装状況・進行中タスク
    • コーディング規約・注意事項
    • 問題解決パターン・FAQ

5. current_task 📝

  • 対象: 言語開発継続者
  • 内容: 現在の開発状況・次期実装予定
  • 特徴:
    • リアルタイムTODOリスト
    • 実装完了項目の記録
    • 技術課題・解決策

🗂️ アーカイブドキュメント

6. archive/ 📦

  • 過去の開発記録: モジュール化・スコープ革命等
  • 歴史的文書: 設計判断・実装過程の記録
  • 参考資料: 過去の試行錯誤・学習資料

🎯 学習パス推奨

パス 1: クイックスタート (30分)

1. Getting Started → サンプル実行 → 基本構文理解
   目標: Hello Worldから簡単なプログラムまで

パス 2: 実用マスター (2-3時間)

1. Getting Started (完全版)
2. Language Overview (機能編)
3. 実際のアプリ開発
   目標: Calculator・RPGゲーム等の開発

パス 3: エキスパート (1-2日)

1. 全ドキュメント通読
2. Technical Architecture 詳細理解
3. ソースコード調査・拡張実装
   目標: 言語拡張・新機能実装

📊 Nyash言語の現状 (2025-08-08時点)

完成済み機能 (Production Ready)

  • 基本言語機能: 変数・演算子・制御構造・関数
  • オブジェクト指向: クラス・継承・インターフェース・コンストラクタ
  • 並行処理: nowait/await・マルチスレッド・SharedState
  • 静的システム: static box・シングルトン・名前空間
  • メモリ管理: 自動解放・明示的デストラクタ・参照カウント
  • デバッグ: DebugBox・プロファイリング・トレース機能
  • モジュール: include文・ファイル分割・名前空間

🚧 開発中機能

  • ジェネリクス: 基盤完成・実行時特殊化実装中
  • 非同期Phase 3: スレッドプール・タイムアウト機能
  • WebAssembly: 出力対応準備完了

🌟 実証済みアプリケーション

  • 🎲 サイコロRPGバトル - 複雑ゲームロジック
  • 📊 統計計算アプリ - 数学関数活用
  • 🧮 LISPインタープリター - メタプログラミング
  • 並行処理デモ - マルチスレッド実行

📈 開発実績

  • 開発期間: 2025年8月6日-8日 (わずか3日!)
  • 実装規模: 30,000+ lines of code
  • Box種類: 15+ specialized box types
  • テストカバレッジ: 主要機能完全テスト済み

🤝 コミュニティ・貢献

フィードバック歓迎

  • 言語仕様への提案・改善案
  • 実装バグレポート・修正提案
  • 新機能アイデア・使用事例

貢献方法

  • サンプルプログラム作成
  • ドキュメント改善・翻訳
  • Box実装・ライブラリ開発
  • パフォーマンステスト・ベンチマーク

🎯 Next Steps

すぐに始める

  1. GETTING_STARTED_2025.md を読む
  2. サンプルプログラムを実行
  3. 自分のプロジェクトを作成

深く学ぶ

  1. LANGUAGE_OVERVIEW_2025.md で全機能把握
  2. TECHNICAL_ARCHITECTURE_2025.md で内部理解
  3. ソースコード (../src/) を読む

貢献する

  1. 実際のアプリケーション開発
  2. 機能拡張・新Box実装
  3. ドキュメント・チュートリアル作成

🎉 Welcome to Nyash!

Everything is Box - シンプルな哲学から始まり、無限の可能性を秘めたプログラミング言語の世界へようこそ!

Nyashでプログラミングの新しい体験を始めましょう 🚀


📞 クイックリファレンス

実行方法:

cd nyash-rust
cargo build
./target/debug/nyash your_program.nyash

サンプルプログラム:

./target/debug/nyash test_local_init.nyash      # 初期化付き変数宣言
./target/debug/nyash app_dice_rpg.nyash         # RPGバトルゲーム
./target/debug/nyash app_statistics.nyash       # 統計計算アプリ
./target/debug/nyash test_async_parallel.nyash  # 並行処理デモ

基本構文:

# 変数・初期化
local name = "Alice", age = 25

# 制御構造
if condition {
    print("Hello!")
}
loop(i < 10) {
    i = i + 1
}

# クラス定義
box MyClass {
    init { field1, field2 }
    MyClass(a, b) { me.field1 = a; me.field2 = b }
    method() { return me.field1 + me.field2 }
}

# 並行処理
future = nowait heavyTask()
result = await future

Documentation Index v1.0
Everything is Box - Documentation Complete