Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    pocketberserker
    @pocketberserker
    軽く調査してみてから、必要そうだったら立てます!
    bleis-tift
    @bleis-tift
    仕様書の1.1.3が「Making Types Simple」なんですけど、中身的には型推論と自動ジェネリック化便利だぜ、って話になってます。なんか見出しとあまりあってないような気がするんですけど、ここでは「型(の記述)の単純化」みたいな感じなんでしょうか?
    1.1.2が「Making Data Simple」で、こちらはイミュータブル推しになってて、これもこれで?なんですが・・・
    Yukitoshi Suzuki
    @yukitos

    型の単純化

    でいいのではないかと。型推論も自動ジェネリック化もあるから、冗長なコードを書かなくて済みますよという話だと思います。

    1.1.2は分からないですね。ひょっとして!=が<-に統一された話だったりします?
    (仕様書見ずに書いてます ;)
    bleis-tift
    @bleis-tift
    なるほどー
    smallgeek
    @smallgeek
    Highly Scalable Systems in .net: Concurrency in Functional C# and F# って本が刊行される予定なんですね
    7月発売かぁ、ちょっと気になりますね!
    bleis-tift
    @bleis-tift

    仕様書の1.1.4に

    Pipelining demonstrates one way in which F# supports compositionality, a key concept in functional programming. The pipeline operator simplifies the process of writing compositional code where the result of one function is passed into the next.

    ってあるんですけど、compositionalityとかcompositional codeってあまり聞いたことなくて、これって要はcomposablityとかcomposable codeってことが言いたいんでしょうか?

    どちらもあるっぽいけど、composabilityの方が優勢?
    というかこの2つか同じものを指しているかどうか問題
    Yukitoshi Suzuki
    @yukitos

    Compositionality: the properties of interest at system level can be determined from relevant properties of its constituent components
    Composability: the properties determined for individual components in isolation should hold in the face of composition with other components

    という文を見つけました:http://www.ada-europe2013.org/talks/S9T2%20Baldovin.pdf

    システムレベルで組み合わせ可能な機能を指すときはCompositionality、
    コードレベルだとComposabilityなのかもしれませんがニュアンスの違いが難しいですね
    bleis-tift
    @bleis-tift
    なるほど・・・だとすると、composabilityの方がしっくりくる感が強まりますね
    adaってあのAdaかな
    あのAdaっぽい http://www.ada-europe.org/
    Yukitoshi Suzuki
    @yukitos
    っぽいですね
    別のところではCompositionalityもComposabilityも一緒みたいなことを言ってる人もいました
    bleis-tift
    @bleis-tift
    なるほど・・・
    Yukitoshi Suzuki
    @yukitos
    まあだいたい「組み合わせられる」とか「合成可能」とかそういう感じでいいのではないかと。
    bleis-tift
    @bleis-tift
    ですねー。ありがとうございます!
    Kouji Matsui
    @kekyo
    この前は非同期ワークフローの件でありがとうございました。NL名古屋の発表をまとめたので放流します http://www.kekyo.net/2016/04/17/5804
    bleis-tift
    @bleis-tift

    Programming F#の原著のExample3-3 Functions returns functionsで、

    > // Functions returning functions
    let generatePowerOfFunc baseValue =
      (fun exponent -> baseValue ** exponent);;
    val generatePowerOfFunc : float -> float -> float
    > let powerOfTwo = generatePowerOfFunc 2.0;;
    val powerOfTwo : (float -> float)
    > powerOfTwo 8.0;;
    val it : float = 256.0
    > let powerOfThree = generatePowerOfFunc 3.0;;
    val powerOfThree : (float -> float)
    > powerOfThree 2.0;;
    val it : float = 9.0

    という例があって、そこに説明として

    If you look closer at our generatePowerOfFunc function, you’ll notice that its parameter
    baseValue is used in the two lambdas it returned.

    とありますけど、これが言っている意味(two lamdas?1個しかないように見える)が分かりません。

    ちなみに訳書を見ると、

    generatePowerOfFunc関数をよく見てみると、baseValueという値が2つのラムダ式中で使用されることが分かります

    とあります。

    どなたかわかる方いましたら説明をお願いしますm(. .)m
    omanuke
    @omanuke
    なんぺーじですかね
    わかりました
    bleis-tift
    @bleis-tift
    (一応ほかの方のために)57ページ(Programming F# 3.0)
    omanuke
    @omanuke
    みとったのはProgrammingF#で53ページやった…
    bleis-tift
    @bleis-tift
    多分、内容としては変わっていないと思います
    omanuke
    @omanuke
    同じっぽいですがその前の文から、powerOfTwoとpowerOfThreeによって作られるgeneratePowerOfFuncが返す二つのラムダでって意味なんじゃないかと思うですが、ユキトス産の降臨を望む…
    日本語があれすね。generatePowerOfFuncが返すラムダがtwoとthreeによって二つ作られるの意味す
    bleis-tift
    @bleis-tift
    あー、なるほど
    omanuke
    @omanuke
    (ユキトス神のチェックが必要・・・)
    Yukitoshi Suzuki
    @yukitos
    その通りだと思いますよ
    it returnedのitはgeneratePowerOfFuncですね
    generatePowerOfFuncから返された2つのラムダ式中で、引数baseValueが使われる事がわかります
    omanuke
    @omanuke
    神の御神託あざます(´・_・`)
    Yukitoshi Suzuki
    @yukitos
    もうすっかり忘れてましたけども:)
    bleis-tift
    @bleis-tift
    ありがとうございます! > @omanuke @yukitos
    まとめると、定義としてのラムダ式ではなく、値としての無名関数オブジェクト的なものを指している、ということですね > lamdas
    定義としてのラムダ式だと勘違いしていました
    Yukitoshi Suzuki
    @yukitos
    :+1:
    smallgeek
    @smallgeek
    ここでいいのか迷いましたが、 F# ドキュメント翻訳向上委員会で提案した用語は Google Groups のスレッドに残っているものですべてでしょうか? wiki はもう残ってないようで
    Yukitoshi Suzuki
    @yukitos
    https://groups.google.com/d/msg/fsug-jp/cnaEoMZmQ_8/Pl43z6MYSy0J
    これだけですね。増田さんのwikiリンクが死んでいるのは僕も気づいてませんでした。。。
    smallgeek
    @smallgeek
    ありがとうございます! 現状はこれを使用させていただきます
    Yukitoshi Suzuki
    @yukitos
    はいー