Contextual Abstractionsで様々なコンテキストをうまく抽象化する

プログラミングでは様々な「コンテキスト」を扱う必要が出てきます。コンテキストをうまく扱えないと冗長な記述が必要になったり、コンテキストが複雑になりすぎて混乱を招いたりします。特にコンテキストの引き回しは様々なプログラミング言語やフレームワークで出てくるパターンですが、安易に使うと複雑性、冗長性の増大や密結合等さまざまな問題を引き起こすことが知られています。しかしScala 3の目玉機能であるContextual Abstractions(コンテキスト抽象化) を使えばこの問題を鮮やかに解決できます。

本記事ではContextual Abstractionsがなぜコンテキストをうまく扱うことができるのかを説明したいと思います。

続きを読む

Scala 3、Pythonのようにインデントベースの構文で書けるようになるってよ!

ここ数年でインデントベースの記述は広くプログラマ界隈で受け入れられるようになってきました。プログラミング言語ではPythonの成功が大きく、ドキュメントではmarkdownとyamlが広く普及しています。そしてScala 3でもとうとうその波に乗ろうという動きが見えてきました・・・

(2019年9月28日追記・更新: 追記内容はここを見てください)
(2019年11月16日追記・更新: 追記内容はここを見てください)

続きを読む

Scala3に入るかもしれないContextual Abstractionsを味見してみた(更新・追記あり)

Scala3のリサーチコンパイラであるDottyにImplicitsに代わる「Contextual Abstractions」と呼ばれる一連の機能が実装されていたので一部を味見してみました。

(記事の本文は2020年2月8日時点のDotty最新版と整合するように更新されています。更新の詳細はここを見てくださいを見てください。)

続きを読む
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×