InfoQ ホームページ Functional Programming に関するすべてのコンテンツ
-
関数型プログラミングの復活 - QCon Plusハイライト
QCon Plusの関数型プログラミングの復活トラックには、関数型プログラミングがソフトウェア開発を楽しい経験にする方法を説明する専門家が何人か参加した。また、C#やJavaなどのオブジェクト指向言語が、より関数型になるように進化している理由と方法についても説明した。
-
Facebook Retrieを使用した大規模なHaskellコードベースのリファクタリング
Facebookは、自社のSigma不正行為防止ルールエンジンをリファクタリングするために、ツールをオープンソース化した。Retrieという名前のこのツールを使用すると、開発者はリライトを正規表現ではなくHaskell構文の方程式として記述することができる。
-
純粋関数のプロパティを記述するには - John Hughes氏のLambda Days 2020での講演より
HaskellとQuickcheckの共同設計者のひとりであるJohn Hughes氏が、先日のLamdba Days 2020で、プロパティ(property/特性)ベースのテストについて論じた。講演の中で氏は、プロパティを導入するための5つの戦略を紹介し、それぞれの効率性を比較した上で、結論としてメタモルフィック(Metamorphic)プロパティとモデルベースプロパティが高い効率性を見せたことを報告した。
-
JavaによるWebアプリケーション記述 - 代替手法に関する調査
JavaScriptにコンパイルされる言語の人気が高まったことにより、Java仮想マシン言語に習熟していて、JavaScript開発スタックに悩むことなくWebアプリケーションを開発したいと願う開発者には、JavaScriptに代わる選択肢が増えている。ネイティブなJavaScript Webアプリケーションに対するパフォーマンス上のペナルティも、以前に比べると縮小している。
-
マイクロサービスフレームワークのLagom 1.5がAkka Managementを導入、KubernetesとOpenShiftをサポート
マイクロサービスフレームワークLagomのバージョン1.5には、Akka Management、Akka対応アプリケーションを操作するツールセット、KubernetesまたはOpenShiftへのデプロイサポートが付属する。先日リリースされたばかりのこのバージョンは、Play 2.7.0、Alpakka Kafka 1.0、Akka 2.5.22をベースに、CouchbaseとAkka gRPCによるgRPCサポートが加えられている。
-
-
AWS Lambda LayersとRuntime API:公式にサポートされているランタイム以外もサポート
AWS re:Invent 2018では新しい機能とサービスが多数発表された。機能間で共有されるコードとデータを一元管理するLambda Layerや、LambdaをJavaScript以外のあらゆるプログラミング言語に拡張するLambda Runtime APIなどである。
-
IntelliJ IDEA 2018.2、Java 11やMacBookタッチバーのサポートなど
JetBrainsはIntelliJ IDEAのバージョン2018.2をリリースした。このバージョンは次のJava 11のサポートやブレークポイントインテンション、MacBookのタッチバー、Spring BootやScalaプラグイン、Dockerプラグインの強化といったものを提供する。
-
エラー処理、ログ、テスト機能を改善したElixir 1.7
Elixir 1.7が重視するのは、日常作業の品質の向上だ – 作者のJosé Valim氏は、このように記している。その中には、スタックトレースを取得するための新たな__STACKTRACE__構造、Erlangの新しい:loggerモジュールへの統合、ユニットテストライブラリExUnitの改良、ドキュメント内のメタデータのサポートなどが含まれる。
-
Haskellの採用とユーザ満足度が向上
2018 Haskell User SurveyではHaskellのセキュリティ、品質、信頼性、保守性、高度な機能に対して非常に高い満足度が示されていると、FP CompleteのCEOであるAaron Contorer氏は記している���InfoQは今回、Haskellの現状と将来への展望について、氏と議論する機会を持つことができた。
-
F#の2017年を振り返る
2017年、F#はバージョン4.1に到達した。.NET Core 2.0リリースと時を同じくしたことを大きな理由に、ユーザコミュニティは拡大し、ツーリングとカンファレンスでの存在感も増している - MicrosoftプログラムマネージャのPhillip Carter氏は、このように記した。
-
Racket 6.11で篩型(refinement type)と依存関数型(dependent function type)が安定機能に
Racket 6.11では、Typed Racketに篩(ふるい)型(refinement type)と依存関数型(dependent function type)が追加されている。
-
-
IntelliJ IDEA 2017.2: より賢く、より的確に、そしてより早く
JetBrainsはIntelliJ IDEA 2017.2をリリースした。フラッグシップであるJava IDEの3ヶ月ごとのリリースだ。Trisha Gee氏はこのリリースノートについてブログに投稿した。多くのユーザビリティに関する向上がある。空のコレクションや文字列配列を作った場合や配列で添字が範囲外になる場合の警告の新しいクラスといったものがある。またnullに関する解析を改善した。
-
Enterprise Conference 2017に見る新たなテクノロジ - 第2日目まとめ
第12回Emerging Technologies for the Enterprise Conferenceカンファレンスの第2日がフィラデルフィアで開催された。この2日間のイベントは、Blair MacIntyre氏(拡張現実の第一人者)とScott Hanselman氏(ポッドキャスタ、Microsoftプリンシパル・プログラムマネージャ)の基調講演に始まり、Kyle Daigle(GitHubエンジニアリングマネージャ)、Holden Karau(IBMプリンシパル・ソフトウェアエンジニア)、Karen Kinnear(Oracle JVMテクニカルリーダ)各氏による講演が行われた。