InfoQ ホームページ Functional Programming に関するすべてのコンテンツ
-
AppleがSwiftをオープンソース化
WWDC 2015でAppleは、Swift 2.0をパーミッシブライセンスでオープンソースにすると発表した。Swiftは昨年のWWDCでリリースされた言語だ。また、Linuxでも標準ライブラリとコンパイラが動作するようにする。さらに、開発者プログラムを簡素化して、開発者が同じメンバシップでiOSとOSXとウォッチOSのアプリケーションの開発ができるようにした。
-
Slick 3: Scalaで非同期データアクセスを実現するReactive Streams
TypesafeのScala用データベースクエリおよびアクセスライブラリであるSlickがバージョン3.0をリリースし,Reactive Streams APIを新たにサポートした。これによって非同期かつ非ブロックのデータベースクエリが可能になる。InfoQは同社技術リーダのStefan Zeiger氏から,新機能の詳細と今後の予定について話を聞いた。
-
GiltでのScala,Docker,AWSを使ったマイクロサービスのスケールアップ
Craft Conference 2015でAdrian Trenaman氏が,モノシリックなRuby on Railsアプリケーションから,Scala,Docker,AWSを活用したクラウドベースのマイクロサービスによる‘LOSA(Lots of Small Application)’プラットフォームへという,Gilt.comアーキテクチャの発展について講演した。その中で氏は,Giltがスタートアップから10億ドル企業へと発展した過去8年間に,技術面と組織面の両方から学んだ教訓を公開している。
-
TeXのアルゴリズムの再実装 - プログラミングの30年間を振り返る
LivingSocialでエンジニアリングディレクタを務めるGlenn Vanderburg氏は,先のClojureConjカンファレンスで,自身がTeXのアルゴリズムをClojureで実装した際の興味深い記録を公開した。そのプロセスの中で氏は,過去30年の間に,プログラミングがどれほど変化したのかを実感した,というのだ。
-
Exercism.ioでプログラムスキルを向上する
Exercism.ioは,フィードバックとディスカッションを通じて,プログラム言語における開発者のクラフトマンシップ向上を支援する。コードを書き,議論することによって,自身の問題解決能力を強化することができるコミュニティとツールである。InfoQでは,Exercismを生み出したKatrina Owen氏と,C++言語トラックで貢献したRichard Thomson氏にインタビューした。
-
C# 6 に対するオープンソースの関数型言語拡張
ロンドンに拠点を持つ Paul Louth 氏が作成した C# 向けのオープンソースライブラリである Lang Ext は"関数言語の世界を C# へ持ち込む"ことを狙いとし、言語自身を拡張しているように見せることに挑戦する一方で、ヘルパー関数と型を提供している。
-
新鋭の言語: この5年を振り返る
最近の記事でEmerging Languages Campの���ーガナイザであるAlex Payne氏がこの5年でプログラミング言語の世界がどのように変わったか、これからどのように変わっていくのかについて考えを披瀝している。InfoQは氏に話を聞いた。
-
PureScript:JavaScriptにコンパイルされるHaskellライクな言語
PureScriptはJavaScriptにコンパイルする,強い静的型付けを持った言語だ。 Haskellに影響され,Haskellで記述されたこの言語は,"非常に表現力のあるコードが記述可能でありながら",JavaScriptへの変換後も"クリアで可読性のよい"ことを目標としている。さらに,作者のPhil Freeman氏によれば,JavaScriptをターゲットとする他の言語との相互運用性も提供する。
-
Scalaコンパイラに1週間で2つのフォーク
コミュニティ主導のScalaフォークというアイデアの浮上から1週間を経て,Shapelessライブラリの技術リーダであり,TypelevelのアクティブなメンバのひとりであるMiles Sabin氏が,ScalaコンパイラのフォークをTypelevelブログで発表した。その3日後には,Typesafeの共同創設者で,2013年に同社を離れたPaul Phillips氏が,自身のScalaコンパイラのフォークを発表している。
-
Racket 6.1がリリース
PLT DesignがRacket バージョン6.1をリリースした。Lisp/Schemeファミリーに属する,マルチパラダイムな多目的プログラミング言語だ。 バージョン6.1では,再帰的なローカル変数の定義と,他言語の機能を扱うための新しい方法がいくつか導入されている。
-
Scalaの今後
Scalaチームは先日,"Scala: Next Steps"と題した記事を公開して,言語の今後について説明するとともに,今後3つのメジャーリリースと主要な目標について詳説した - 言語とライブラリの簡素化と理解の容易化,さらなる堅牢化,そしてパフォーマンスの向上だ。
-
C++14で遅延評価と関数型を実現するStreamsライブラリ
Streamsは,遅延評価とデータの関数型変換を提供することで,C++標準ライブラリのコンテナとアルゴリズムの使い勝手を向上するC++14ライブラリである。mapやfilter, reduceといった一般的な操作を多数サポートする。InfoQはその作者にインタビューした。
-
rest: HaskellのオープンソースRESTフレームワーク
Silkは先頃,"rest"という名称のHaskell用RESTフレームワークをオープンソースにした。happstackなどの一般的なWebフレームワーク上で動作させることが可能な,RESTサービス定義用のDSLを提供する。タイプセーフなURL,フォーマット形式の抽象化サポート,API仕様とビジネスロジックの明確な分離といった機能も備える。
-
Play 2.3 リリース: モジュール化、Java 8、WebJarsに対応
Play 2.3リリースはフレームワークからパーツを分けることでモジュール化を向上させた。また、Play shellはブラウザUIからプロジェクトテンプレートを制御するActivatorに切り替えた。InfoQはPlayの開発リーダであるJames Roper氏から今回の変更点と今後の計画について聞いた。
-
Haxl - Haskellを使った暗黙的な並列データアクセス
Facebookは,効率的な並行データアクセスのためのライブラリであるHaxlをオープンソースとして公開した。表現力のある型システムや並列性,安全性保証といった,Haskellの従来からの強みに加えて,GHCの持つ実行時のハイパフォーマンスを活用することで,暗黙の並列データアクセスという厄介な問題を解決する。