Skip to content

Latest commit

 

History

History
227 lines (175 loc) · 10.7 KB

File metadata and controls

227 lines (175 loc) · 10.7 KB
layout default
title Tutorials
nav_order 2
has_children true

English

Cm言語チュートリアル v0.17.2

対象バージョン: v0.17.2
最終更新: v0.17.2 (2026-08-15)

Cm言語の全機能を段階的に学べる包括的なチュートリアル集です。


📚 学習パス

パス1: 基本を学ぶ(初級者向け)

推定時間: 3-4時間

  1. 基本編 - 言語の基礎(10チュートリアル)

パス2: 型システムを学ぶ(中級者向け)

推定時間: 4-5時間

  1. 型システム編 - 高度な型機能

パス3: 高度な機能を学ぶ(上級者向け)

推定時間: 5-6時間

  1. 高度な機能編 - 言語の強力な機能

パス4: 標準ライブラリを学ぶ

推定時間: 3-4時間

  1. 標準ライブラリ編 - Native向けstdモジュール

パス5: コンパイラを学ぶ

推定時間: 3時間

  1. コンパイラ編 - ビルドとバックエンド

パス6: 内部構造を学ぶ(開発者向け)

推定時間: 3時間

  1. 内部構造編 - コンパイラの仕組み

🎯 難易度別ガイド

🟢 初級 - プログラミング経験者

  • Hello, World!
  • 変数と型
  • 演算子
  • 制御構文
  • 関数

🟡 中級 - Cm言語の基本を理解している

  • 配列・ポインタ
  • 構造体・Enum型
  • インターフェース
  • スレッド

🔴 上級 - 型システムとメモリ管理の深い理解が必要

  • ジェネリクス
  • 型制約
  • match式・パターンガード
  • FFI・インラインASM

✅ 実装状況一覧(v0.17.2)

カテゴリ 機能 LLVM WASM JS チュートリアル
基本 プリミティブ型 variables
制御構文 control-flow
関数・デフォルト引数 functions
関数オーバーロード 未対応(重複定義はエラー診断)
モジュール modules
データ 構造体 structs
Enum/Tagged Union enums
Result/Option・? 演算子 enums
ユニオン実行時型判別(is・match型パターン) typedef
配列 arrays
ポインタ pointers
ジェネリクス generics
インターフェース(静的) interfaces
インターフェース動的ディスパッチ ✅(値/引数) ポインタ経由はLLVM系のみ
型制約 constraints
高度 match式・ガード match
with自動実装 with
クロージャ・ラムダ lambda
インラインASM inline-asm
extern宣言 extern
FFI ffi
std std::fs(ファイル操作) io
HTTP/HTTPS http
TCP/UDP/DNS tcp
スレッド thread
Mutex/RwLock mutex
Channel channel
Atomic atomic
GPU (Metal) gpu
ツール Linter - - linter
cm test / #[test] - - state-sim
Formatter - - formatter
プリプロセッサ preprocessor
バックエンド JSコンパイル - - js-compilation
SVバックエンド sv
UEFIベアメタル uefi

凡例: ✅ 完全対応 | ⚠️ 部分対応 | ❌ 未対応


💡 学習のヒント

効率的に学ぶために

  1. 実際に書く - サンプルを写経する
  2. エラーを読む - エラーメッセージから学ぶ
  3. 小さく始める - 簡単なコードから
  4. テストする - 期待通り動くか確認
  5. 参照する - tests/common/を見る

つまずいたら

  1. エラーメッセージを確認 - 何が問題か
  2. デバッグモード - --debugで詳細表示
  3. テストコード - tests/common/の動作例を参考に
  4. 質問する - GitHubイシューで

🔗 関連リンク

推定学習時間: 18-22時間
対象バージョン: v0.17.2


最終更新: v0.17.2 (2026-08-15)
著者: Cm Language Development Team


次: 基本編