タグ

c++とconceptに関するcrafのブックマーク (11)

  • A Breakthrough for Concepts « C++Next

    In the last article in this series, I mentioned that we’ve solved the problem with polymorphic lambdas and concepts, and I promised to discuss it here. So here we go! Quick concepts review Just like type declarations, concepts would add two kinds of type-checking to the C++ template system. To understand how, let’s first look at an ordinary C++ function: The parameter type int constrains the type

  • コンセプトが廃止になった理由

    昨日は、久しぶりに、私の契約しているISPが規制されていなかったので、2chに書き込んだ。書いた後、結構まとまっていると感じたので、ブログにも書いて、保存しておくことにした。コンセプトが廃止になった理由について。 コンセプトが廃止になった理由は、いろいろあるが、直接には、concept mapを、暗黙的に生成するかどうかだった。 あるコンセプトに対して、対応するコンセプトマップを、暗黙的に生成するか、 あるいは、たとえ、コンセプトマップが空でも、明示的に定義させるべきかという問題があった。 つまり、ある型は、そのコンセプトの要求を満たしていると言うことを、明示的に宣言しなければならないわけだ。 こうすることによって、たまたまシグネチャが一致したのではなく、明確に、この型はこのコンセプトを満たしているんだと宣言できる。 ただ、このやり方は、殆どの場合、空のコンセプトマップを、ただ、そのコンセ

  • Douglas Gregor、フランクフルト会議について語る

    What Happened in Frankfurt? « C++Next これは全C++0xプログラマが読むべきだと思う。悲しい話だ。 フランクフルトで何があったのか? C++0xの発展に興味のある人は、もうニュースを聞いただろうと思う。ISO C++委員会は、2009年7月のフランクフルト会議で、C++0xのドラフトから、Conceptを外すことを、投票で決めた。Conceptは、C++0xの重要な機能で、その削除は、かなりショックを与えたことだろう。ここでは、私はConceptをC++0xに入れるにあたってなされた努力と、結果的に失敗した理由を、語ろうと思う。 Conceptの歴史 C++プログラマは、常に、もっとマシにtemplateを使いたいと考えていた。契約的(原語:constraints)なC++templateは、少なくとも、Bjarne StroustrupのThe D

  • Bjarne Stroustrup、Conceptと未来を語る

    センスとフィーリングで大胆な意訳を試みた。Danny Kalevがやたらとウザい奴に成り下がっていたり、Bjarne Stroustrupがコミカルなまでにジジイ臭いのは仕様。ただ、DKの言い回しは、ちょっとやり過ぎたかも知れない。実際原文を読んでいると、これぐらいムカつく言い回しなのだが。 Page 1: Concepts: Disappointment Without Defeat Danny Kalev 今回のconceptの失敗についてどう受け止めてますか。今回の事件をどう思いますか。これは、あるいは、将来的に新機能を提案する妨げになると思いますか。 Bjarne Stroustrup C++0xにconceptを入れないと決定したことについてかね。ワシとしては、conceptが失敗したとは思っておらんよ。今回の問題は、個人的にはユーザビリティの問題だと思っておるんだが、まあ、せい

  • C++0x、コンセプト除外の決断 - nursの日記

    C++0x、コンセプト除外の決断というタイトルで、Bjarne Stroustrup博士がDr.Dobbsに7月22日付けで寄稿していた。その中でも、「何が起きたのか」について語っているくだりを読みながらメモしているうちに勝手な訳文ができてしまったのでせっかくだからメモ。要は今回はタイミングが合わなかったっていうことなのかなあ。 何が、起きたのか? コンセプト、過去何年間にもわたって、開発され、C++0Xのワーキングペーパにも組み込まれてきたそれは、ある種の技術的な妥協(しかしそれは自然で必要なものだった)を含んでいた。実験的に実装されたそれは、概念的に確立された標準ライブラリとしてテストするには十分なものであったが、製品としての品質を備えてはいなかった。この後半の事情がある人々を不安がらせもした。しかし、私はそれが原理証明としては十分なものであると考えていた。 私が心配していたのは、コン

    C++0x、コンセプト除外の決断 - nursの日記
  • コンセプトの動機 - Faith and Brave - C++で遊ぼう

    コンセプトはコンパイルエラーを読みやすくするため、と言ってる人がたまにいますけど (ぼくのエントリの書き方も悪かったかもしれませんが) コンセプトの当の目的は、コンセプトでのオーバーロードと concept_map だと思うんだ コンセプトでのオーバーロードはたとえばこんなのとかです template <InputIterator Iterator> void advance(Iterator& it, Iterator::difference_type n); template <BidirectionalIterator Iterator> void advance(Iterator& it, Iterator::difference_type n); template <RandomAccessIterator Iterator> void advance(Iterator& it

    コンセプトの動機 - Faith and Brave - C++で遊ぼう
  • イヌネコ - d.y.d.

    03:14 08/08/31 LLFuture 行ってきました。まとめ記事は何百人も書いてそうなので、以下、これにかこつけて自分語りをする。 ☆ Larry Wall の基調講演。ひたすら Parser の話をしてて素晴らしかった。 ☆ 100年の言語…は、 Ypsilon の藤田さんが、エラーメッセージのわかりやすさについて考えてますか?という問いかけを されてたのが印象に残っています。個人的に この頃 から気になってるんですけども、 言語内DSL のようなものを作ること&そのDSLが正常動作するときに 裏でホスト言語で何が起きているかをまったく気にしなくていいようにすることは簡単でも、 そのDSLがそのDSLのシンタックスや静的セマンティクスとして間違っているときに適切なエラーを 出せるようにするのは非常に面倒、という感覚があります。ホスト言語の意味でのエラーを 出されてもユーザ側とし

  • Welcome to the stlab.adobe.com Wiki

    These pages have been migrated from stlab.adobe.com/wiki for preservation. They may eventually be revised and moved into a more appropriate location on the site. Adobe’s Software Technology Lab web site is the home for the Adobe Source Libraries (ASL). ASL provides peer-reviewed and portable C++ source libraries. The libraries are intended to be widely useful, leveraging and extending both the C++

  • Concepts Extending C++ Templates For Generic Programming

    この情報は恐ろしく昔のもので、現在のドラフト規格とまったくあっておりません。検索で飛んでこられた方は、この情報を信用せず、ご自分で規格をご確認ください。 これは最高にためになる動画だ。 コンセプトとは、C++のパラダイムのひとつ、ジェネリックプログラミングを、もっと分かりやすくするための文法だ。 前半の5分ほどは、ジェネリックプログラミングはなんであるかを解説している。 The reason we think that we can make it simpler is that many of the way people use template now are... tricks! There're complelcated tricks. You can't even read in the book in many faces. You have to dig for newsg

  • Concepts Extending C++ Templates For Generic Programming

    Concepts Extending C++ Templates For Generic Programming - 58:39 - Feb 26, 2007 Google engEDU ()  Rate: Google Tech Talks February 21, 2007 ABSTRACT: Concepts are a major addition to C++0x that make templates more robust, more powerful, ...all » Google Tech Talks February 21, 2007 ABSTRACT: Concepts are a major addition to C++0x that make templates more robust, more powerful, and easier to write a

  • 言語雑談会2006 - Cry's Blog

    なぜか shinh さんにお誘いいただいて言語雑談会2006に行ってきました.っていうか行ってました.これ書くのに何日かかっているんだよ,俺,ってゆ〜. NumerleNemerle 良いなぁ.あのレベルの metaprogramming 能力ふつーに欲しいよなぁ, metaprogramming であの強力なライブラリ資産が使えるのはうらやましい.あと,コンパイルが遅いのが (C++ 使っている人間としては) 重要.以降,「C++ コンパイル遅いよ」「何言ってるんですか, NumerleNemerle より断然速いですよ」という会話が成立します.ちなみにこれは「このビルド遅いよ」「何言ってるんですか, GHC のビルドより断然速いですよ」の系. せっかくなので C++ のネタを用意しようと template metaprogramming における参照透過性を破って,かつ templat

    言語雑談会2006 - Cry's Blog
  • 1