A minimal toy language and package manager.
npm install -g .
hiro -v
hiro -npm path/to/program.hiro
hiro nankapowermorimori path/to/program.hiro # 別名
hiro install hello
hiro uninstall hello
Hiro Osyaberi ==> ("hello world")🐧
Hiro Hidariude LIMIT = 3🐧 Hiro Migiude i = 0🐧 Hiro MorningRoutine (Hiro Migiude i = 0🐧 Hiro Hikaku i < LIMIT🐧 Hiro Okawari i++) { Hiro Hissatsu [print] (i)🐧 }
Hiro Waza add(a, b) ==> { Hiro Reverse (a + b)🐧 }🐧 Hiro Hissatsu [print] (add(3, 4))🐧
Hiro Osyaberi ==> ("input please")🐧 Hiro Hissatsu [print] (scan())🐧
Hiro Eduke hello/main🐧
### Callback 関数の例
Hiro Waza doTwice(callback関数) ==> { Hiro Hissatsu [callback] ()🐧 Hiro Hissatsu [callback] ()🐧 }🐧
Hiro Waza callback関数 () ==> { Hiro Osyaberi ==> ("called!")🐧 }🐧
Hiro Hissatsu [doTwice] ()🐧
### 入力の代入(scan into 変数)
Hiro Osyaberi ==> ("名前を入力")🐧 Hiro Omimi ==> (&name)🐧 Hiro Osyaberi ==> ("こんにちは ")🐧 Hiro Hissatsu [print] (name)🐧
### 変数定義
Hiro Migiude x = 123🐧
Hiro Migiude x🐧
### 定数定義
Hiro Hidariude LIMIT = 10🐧
This will print "hello world" and, if you installed the `hello` package, also run `registry/hello/main.hiro`.
## Local registry
Packages for `install` are sourced from the local `registry/` directory. Only `.hiro` files are copied into `hiro_modules/` under your current working directory.
## macOS 配布 (.pkg/.dmg) とアンインストーラ
### 配布物(Node実行方式)
- `/usr/local/lib/hiro` にプロジェクト一式を展開し、`/usr/local/bin/hiro` は Node で起動するラッパーです。
### .pkg の作成(自動化スクリプト推奨)
bash scripts/build-dmg.sh 0.1.0 dev.hiro.lang
### アンインストール(CLIから)
- インストール解除は `hiro -a uninstall` を推奨します(管理者権限が必要です)。
hiro -a uninstall
### .dmg の作成
mkdir -p dist/dmg cp dist/hiro-0.1.0.pkg dist/dmg/ cp scripts/uninstall-hiro.command dist/dmg/ hdiutil create -volname "Hiro Installer" -srcfolder dist/dmg -ov -format UDZO dist/hiro-0.1.0.dmg
(配布を本格化する場合は codesign / productsign / notarization の利用を推奨)
### 一括ビルド(.dmgまで)
npm run make:dmg
bash scripts/build-dmg.sh 0.1.0 dev.hiro.lang