スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Prev.    Category    Next 

Io 言語のインストール(Windows)と Emacs モードの設定

今回は Io の Windows へのインストール方法の紹介です。Emacs の io-mode についても書いています。

Io はプロトタイプベースのオブジェクト指向言語です。 結構、マイナーな言語ですが、 『7つの言語 7つの世界』 に載っていて、ちょっと試してみようと思い、インストールしてみました。

7つの言語 7つの世界7つの言語 7つの世界
(2011/07/23)
Bruce A. Tate

商品詳細を見る

ダウンロードとリンク

インストール用のバイナリーパッケージは、 Io Langeuage のサイトからダウンロードできます。 lang_io_dl.png


情報サイトもいくつか挙げておきます。

インストール

ダウンロードした圧縮ファイルは中にさらに自動解凍形式の圧縮ファイルが入っています。
その中のフォルダー構成は以下のようになっています。
IoLanguage/
  ├ bin/
  └ lib/
これを任意のフォルダーに展開します。
解凍後の bin フォルダーを 環境変数 PATH に追加するか、 フルパスで使用します。


私の場合は Unix 系のフォルダー構成のものは d:/usr にしているので、 IoLanguage 以下のフォルダーを d:/usr に移動して使っています。

使用法

bin フォルダー以下に io.exe があり、これを使用します。
使用法: io [-h | -e expr | -i file.io, file.io, ...| file.io arg, arg, ... | --version]

オプション:
  --version   バージョン情報の表示
  -h          ヘルプの表示
  -e          コードを引数として渡して実行
  -i          指定ファイルを読み取った後、対話モードを起動
Io はインタープリター型の言語です。コマンドにソースファイルを渡して実行します。
~/seven/io $ io hello.io foo bar
Hello Io
0:hello.io
1:foo
2:bar
ソースファイルを書くときに注意点があります。
コメントも含め、日本語を記述する場合は文字コードを UTF-8 にして下さい。 Shift-JIS だと固まる場合があります。

hello.io :
"Hello Io" println
# コマンドライン引数の出力
System args foreach(cnt, val, writeln(cnt, ":", val))
引数なしか -i の場合は対話モードで起動します。
eshell で動かないので個人的にはあまり使っていませんが、 ちょっと動作を試したいという時に使えるんじゃないかと思います。

lang_io_inter.png


-e でコードを渡すとそれを実行して終了します。
通常使わないと思いますが、 他のアプリとの連携などに向いています。

Emacs 用モードのインストール

Io 用の Emacs モードのインストール方法についても紹介します。

パッケージにはなっていないようなので、GitHub から io-mode.el ファイルをダウンロードします。 io-mode.el ファイルだけのダウンロードで大丈夫でしょう。
ダウンロードについては以前の記事をご覧下さい。 ダウンロードしたら、ファイルを load-path の通ったフォルダーに置きます。


~/emacs.d/init.el に以下の記述を追加して下さい。 拡張子が io のファイルを開くと io-mode となります。
(add-to-list 'auto-mode-alist '("\\.io\\'" . io-mode))
(autoload 'io-mode "io-mode" "Major mode to edit Io language files in Emacs." t)
私の環境では上手く動きませんでしたが、 C-c <SPC> などで emacs 上でのコードの評価もできるらしいです。



以上で設定は完了です。
ただ、使っていて気に入らなかった点が 2 点ほどありました。 私の場合はその修正もしています。

1 つ目はファイルを保存するとき、勝手に空白を削除する機能です。
私は結構まめに保存する方なので、インデントが消えてかなり邪魔です。 Emacs のカスタマイズで機能を無効にすることができます。
  • io ファイルを開いて io-mode
  • M-x customize-mode
  • [Io Cleanup Whitespace] の項目を [off] にして、設定(Set)、保存(Save)
2 つ目は [Enter] が "改行 + インデント" になっている点です。
しかもインデントがあまり賢くないので、インデントを戻したい時は削除していく必要があります。 ここで保存時のインデント削除が生きてくるのでしょうが、ちょっと特殊です。

[Enter] はただの改行で、 Ctrl+j が "改行 + インデント" という動作が標準的だと思います。
io-mode.el の 338 行目付近の "C-m" を "C-j" に変更すると、 キーバインドが修正されます。
;;;###autoload
(define-derived-mode io-mode fundamental-mode
  "Io"
  "Major mode for editing Io language..."

  (define-key io-mode-map (kbd "C-j") 'io-newline-and-indent)
  (define-key io-mode-map (kbd "C-c <SPC>") 'io-repl)
  (define-key io-mode-map (kbd "C-c C-c") 'io-repl-sbuffer)
関連記事
スポンサーサイト
Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
9位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
3位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

09月 | 2017年10月 | 11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。