2017-01-01から1年間の記事一覧
今年もあとわずかとなって来ましたので、今年を振り返ってみようかと思います。 全体的には、対外的なイベントでの発表や主催、あるいは招待が増えたことが今年の特徴かなという感じで、新しいことへの取り組みなどの「挑戦」はあまりしていなかったかなとい…
Kotlinのコレクションライブラリに関する解説として、よく、 Kotlinのコレクションは不変と可変に分かれていて〜 といった形のものを見かけます。そして、その例として、 val list: List<Int> = listOf(1, 2, 3) list.add(4) // コンパイルエラー のようなコード</int>…
先日、自分が書いた kmizu.hatenablog.com に対する反応として、「Javaのようなまがい物のジェネリクスと比較するのは適切でない」「Javaのジェネリクスと比較するのは適切でない」(おそらくC#や(C++等(2017/09/24追記))の言語と比較して)といった コメ…
先日自分がGoについてつぶやいたものが、id:methaneさんに捕捉されていて、それに対する反論記事 methane.hatenablog.jp があがっていたので、それに対する所感を書いてみました。(2017/09/22 追記):cocoatomoさんから指摘があったのですが、引用元は全て…
実は今年が初参加なのですが、応募した発表、「プレースホルダ構文完全解説」が選考を通過したので、大阪まで行ってきました。 前日に、会社まで泊まりのための着替えなどを持っていき、会社が終わったら直行で新幹線で東京へ。@kawachi さんたちが手配して…
久しぶりの日記の更新です。今回のテーマは、Scalaにおける、Placeholder syntax for anonymous function(以後、プレースホルダ構文)とString Interpolation(文字列補間)を組み合わせた時にどのような挙動であるべきか、また、現状の挙動が妥当かについ…
最近、Klassic言語をちょくちょく更新しているのですが、半月くらい前にオブジェクトに関係する型推論の仕組みを入れました。知っている人は知っていると思いますが、OCamlとかにあるアレです。たとえば、 def distance(p, e) = { // abs: Double => Double …
今まで、あまり見たことがない(一般エンジニア向け)勉強会で、かつ、これを学ぶことは実用上とても意味があるテーマの一つに「構文解析」があります*1。 たとえば、Webアプリケーションにおいて、ユーザの入力に大して何らかの構文的制約をつけてバリデー…
Understanding Scala - connpass 昨日、表題の技術イベントを自分主催で行いました。なんでこんなイベントをやろうと思ったかというと「皆、Scalaを難しくめんどくさい方法で学んでるのでは?」という疑問が自分の中であって、その原因として、サンプルプロ…
タイトルだけだと、わかってる人にしかわからないので、背景を説明します。サンプルコードはScalaですが、同じ機能はHaskellにもあります(あとは、C++のテンプレートテンプレート引数もこれに該当します。もうちょっとマイナーな言語だと他にいくつもありま…
Scala福岡主催のイベント、Scala福岡2017で登壇依頼をいただいたので、発表してきます。 詳しくは以下: scala.connpass.com 今のところ、セッション参加枠がまだまだあるようなので、九州あるいは九州近辺在住で、Scalaについて興味のある方等、参加を検討…
Klassic は自分が新たに去年くらいから開発し始めたプログラミング言語です。 まだ確固たる設計思想があるわけではなく、色々な構文や機能について試しに導入してみて、テストを書いて…みたいなのを繰り返してる 段階です。現状のKlassic言語の大雑把な特徴…
昨日、 kmizu.hatenablog.com という記事を書いたわけだが、その後、今日、型クラスに関する議論が一部で(?)盛り上がっているようだ。それは型クラスじゃなくても実現できるのでは、いや、やっぱりインタフェースのようなものと思っていいのでは、などな…
ちょっと今日は疲れてるので、表題の件について、簡単に書いてみる。私の経験上、型クラスにおける、最も多い誤解は、(Javaとかにおける)インタフェースのようなもの、というもので、これはかなり多くの人にみられるように思う。 まず、そもそも、何故そう…
このブログでオタク系の話題を書くのは、もしかしたら初めてかもしれませんが、表題のゲームのSteam版が発売されるというニュースを見つけたので、このゲームが好きな人間としてこれを機会に布教しとこうかと思って筆をとりました。 シンフォニック=レイン…
Scalaは標準IOライブラリが非常に貧弱な言語です。scala.ioはまともに使えるものではありませんし、JDKのライブラリのIOを使うのも面倒です。そこで、サードパーティのIOライブラリを使うことになります。そこで、いくつかサードパーティのIOライブラリを見…
TL;DR 世間のScalaに関するイメージは、昔のままであることが多い 昔のままどころか、最初から間違ったイメージを持たれていることも多い 実際には、既に解決されている問題は多々あるし、改善に向かっていることも多い プロジェクト管理の問題を言語に押し…
つい先日、Scala 3になることが決定した次世代ScalaコンパイラDotty。このDotty、まだときどきコンパイラがクラッシュするなどのバグはありますが、Scala 2.11のライブラリを使うことができるので、Scala 2.11対応のライブラリやプロダクトを試しにビルドし…
connpass.com 今回開催したこのイベントは、私が学習用に作成したプログラミング言語nub github.com の文法や機能拡張を通じて、プログラミング言語処理系の作成の基礎について学ぶというものでした。 自分がこのイベントを開催したねらいは主に二つあって、…