なんと Perl6 ではホームディレクトリを表すチルダを変換してくれない

嘘だろ?! って思ったんだけど、ほんとっぽい。
~/.bashrc/home/alice/.bashrc って変換してくれるようなバンドルされてるメソッドとか関数がないって意味ね。

# -*- mode: per6; -*-
# \file: 00-childa.t
use v6;

use Test;

plan 2;

is $*HOME.add( '.bashrc' ).Str, '~/.bashrc'.IO.absolute, '.absolute でチルダを変換できるだろ、常識的に考えて……';
is $*HOME.add( '.bashrc' ).Str, '~/.bashrc'.IO.resolve , '.resolve でチルダを変換できるだろ、常識的に考えて……';

done-testing;

これを実行してみると:

% perl6 ./00-childa.t
1..2
not ok 1 - .absolute でチルダを変換できるだろ、常識的に考えて……

# Failed test '.absolute でチルダを変換できるだろ、常識的に考えて……'
# at ./00-childa.t line 8
# expected: '/home/rihine/workspace/p6-midi-converter-demo/~/.bashrc'
#      got: '/home/rihine/.bashrc'
not ok 2 - .resolve でチルダを変換できるだろ、常識的に考えて……

# Failed test '.resolve でチルダを変換できるだろ、常識的に考えて……'
# at ./00-childa.t line 9
# expected: '/home/rihine/workspace/p6-midi-converter-demo/~/.bashrc'
#      got: '/home/rihine/.bashrc'
# Looks like you failed 2 tests of 2

グワーーーーーーーーーーーーーーーーーーー!!!!!!

ちょー簡単な &expand-filepath はこんな感じかもだ:

sub expand-filepath($filepath) {
    $filepath.subst( '~', $*HOME.Str )
}

.subst とかで変換できるんだし、無くてよくね?って感じなのかもしれない。