2016-05-01から1ヶ月間の記事一覧
kmizu.hatenablog.com についての補足的なエントリです。scala-nativeのサンプルプログラムsmallpt.scalaは __stderrpを使っていますが、Linux系には存在しないので、リンク時にこけてしまいます。 これを修正するには、smallpt.scalaとstdlib.scalaの__stde…
Scala Nativeなのかscala-nativeなのか迷ったのですが、今後はリポジトリ名のscala-nativeに統一しようかと思います。さて、タイトルについてですが、そのまんまです。 サンプルコードは以下: gist.github.com 通常のJVM上でのScalaでは、末尾呼び出しが自…
Scala Nativeはscalaのコードを(LLVMのIRを経由して)ネイティブコードにコンパイルするAOTコンパイラ(Ahead Of Time Compiler)です。その存在については、少し前にサイトができていたことで一部で話題になっていましたが、Scala Days 2016 NYCにて正式に…
リストベースの集合であるKListSet リストベースのマップであるKListMap 遅延評価を提供するKLazy のサポートを追加しました。また、必要になった時点で、KListにもメソッドを随時継ぎ足していってます。詳細についてはREADMEを参照ください。 github.com
Kotlinにはrun というメソッドがstdlibにあります。これ、定義をみると、 @kotlin.internal.InlineOnly public inline fun <R> run(block: () -> R): R = block() 引数で渡された0引数ラムダ式(とKotlinの用語法に従っておく)をそのまま呼び出すだけというも</r>…
ScalaのString(正確にはStringOps)にはstripMarginというメソッドがあります。これは、主に複数行文字列に使われる機能で、たとえば、 """|class Hello { | |}""".stripMargin のようにすると、 res0: String = class Hello { } という文字列が得られ、行頭…
ちょっと前から少しずつ作っていたのですが、最低限の機能はそろったので公開してみることにしました。Kotlinの標準ライブラリのコレクションは読み取り専用ビューは提供してくれるものの、不変コレクションがないのが不満だったので作ってみようというのが…