yhara.jp

Recent Posts

Duolingo 中国語 完走した感想

2021-05-02
Misc

夜に歯磨きするときにスマホでDuolingoをやっているのだけど、中国語コースを完走(全部のレッスンをlv1)したので感想を書く。

Duolingoとは

語学学習アプリ。Web版とスマホ版がある(アカウントは同じ)。基本無料で、課金すると広告が消せたりする。

世の中に語学アプリは数あるけれど、Duolingoは「いきなり問題が出てくる」のがとてもよい。例えばベトナム語コースとか、全く知らない言語のはずなのに、最初の問題がこんな感じで、

(more...)

2021年4月 (Shiika 分割コンパイル)

2021-05-02
Diary

近況です。

Shiika

今月は分割コンパイルへの第一歩として、組み込みクラスとユーザープログラムを別々の.bcファイルとして作り、clangでリンクするようにした。PRの長さを見ればわかる通りけっこう大変だったが、これでライブラリが何をエクスポートし得るかについて整理できた。

関連して、Rustで組み込みクラスを書くための準備もした。Fileクラスとかは今までの仕組み(こういうやつ)だけでやるのは大変すぎるからね。

(more...)

clangのwarning: overriding the module target triple

2021-04-24
Tech

この件について処理系Slackで相談したところ、いろいろなことが分かった。

背景

自作言語Shiikaに分割コンパイルを実装して、LLVM bitcode (.bcファイル) を2個作ってclangコマンドでリンクしようとしたところ、以下のような警告が出るようになった。

warning: overriding the module target triple with x86_64-apple-macosx10.15.0 [-Woverride-module]
1 warning generated.
(more...)


Ruby GUIライブラリ 2021

2021-04-10
Tech

自作のRubyスクリプトに簡単なGUIを付けたくて少し調査してみた。

shoes3, shoes4, fxruby, tkあたりを少し見てみたが、2021年現在ではgtk3 gemを使うのが一番楽そう。なんといってもインストールが簡単。

インストール

$ gem install gtk3
(more...)

MacのサービスでRubyスクリプトを動かす

2021-04-10
Tech

Macの「サービス」からRubyスクリプトを起動する手順。

まず以下を参考に、Automator.appを起動し、「シェルスクリプトを実行」を登録する。

入力の引き渡し方法は「引数として」を選択。

シェルスクリプト部分を以下のように変更。

(more...)

tmux [exited]

2021-04-09
Tech

qmkの環境構築をしてたら、tmuxが起動しなくなった。

/Users/yhara % tmux
[exited]
^[[?62;4c^[[ITERM2 3.3.12n%

brew upgradeを^Cで止めたりしたせいか…?と思ったが、ps aux | grep tmux してみたら起動中のtmuxが一つあった。

killall tmux で当該プロセスを止めたら無事起動できるようになった。(参考)



2021年2月 (Shiika return)

2021-03-02
Diary

先月の活動報告です。

Shiika

doc/guide, doc/specを追加した。一見同じものに見えるが、前者はユーザ向け、後者は仕様書なので微妙に内容が違う。例えば「メソッド名は慣習的にunder_scoredにする」という話は前者には書くが、後者には書かない。一方、普段使わないようなコーナーケースの話は後者にだけ書く。という感じ。

あとメソッドからのreturnを実装した。その勢いでブロックからのreturnも実装しようとしたのだが、思ったよりはるかに難しいことがわかり一旦ペンディングにすることにした。

BiwaScheme

(more...)

lldbでLLVMプログラムをデバッグする

2021-02-28
Tech

Rust + LLVMで自作プログラミング言語Shiikaを作っているのだが、開発中に遭遇するエラーには以下の種類がある。

  1. rustcがエラーを吐く(=.rsに問題がある)。
  2. rustcは通ったが、Shiikaのエラーが出る(=.skに問題があるorバグで問題があると誤判定している)。
  3. rustcは通ったが、llcがエラーを吐く(=.llの生成に問題がある)。
  4. llcが実行ファイルを生成したが、実行すると期待通りに動かない。

一番面倒なのはもちろん最後のケースだが、これもさらにいくつかの種類に分けられる。

  1. 期待通りに動かないが、最後まで実行はできる(=Shiikaで書いたプログラムに間違いがある)。
(more...)

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author