Eriawan Kusumawardhono

My feedback

  1. 377 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →

    Strictly speaking this issue is not meant for https://fslang.uservoice.com, since it is about targeting a particular platform with the tooling, rather than the F# language or core library design itself.

    However, I’m leaving it open for now since it’s getting so many votes. We may close it sometime soon to release the votes.

    In any case, this work is planned by the Microsoft visualfsharp team and other contributors. Please contribute to the work at the http://github.com/Microsoft/visualfsharp repository and follow that repository for more details and updates.

    Relevant issues: https://github.com/Microsoft/visualfsharp/issues/387 and https://github.com/Microsoft/visualfsharp/pull/499

    Don Syme, F# Language and Core Library Evolution

    Eriawan Kusumawardhono supported this idea  · 
  2. 311 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    23 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →

    I am generally in favour of addressing this in F# 4.x+. I would want seq { .. } and async { … } tailcalls to also be addressed.

    A more detailed design is needed and some trialling would be great. Jack’s work is a great start. However, this is not an easy piece of work to do in a non-invasive way and my own experiments in this area have not yet led to something I feel confident to include in the F# language design.

    An implementation and testing would need to be provided by someone in the F# community (possibly including Microsoft or Microsoft Research, though not limited to them).

    Currently, initial implementations of approved language design can be submitted as pull requests to the appropriate branch of https://github.com/Microsoft/visualfsharp. See http://fsharp.github.io/2014/06/18/fsharp-contributions.html for info on how to contribute to the F# language/core library design

    I encourage you to consider continue…

    Eriawan Kusumawardhono commented  · 

    I agree to use the attribute. This will give different meaning and also context is more verbose than keyword.
    This will also minimize confusion whether a rec function is actually tailcall optimized or not.

    Eriawan Kusumawardhono commented  · 

    This tailcall CLR and recursive implementation should be transparent to the language, especially F#.
    Meaning that not only adding keywords or IDE realtime warning, but also should be available in other languages other than F# as well to use if there's a need to optimize recursive function calls.
    I vote +2 for this!

    Eriawan Kusumawardhono supported this idea  · 
  3. 150 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  10 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    Eriawan Kusumawardhono commented  · 

    Pardon my last comment, it should be must have instead of nice to have :)

    Eriawan Kusumawardhono commented  · 

    Thanks for your nice comment, Jack!

    IMHO, this is not just a nice feature to have, but it should be nice to have.
    It's because the nature of F#'s strong typing, therefore it should span to strict and strong covariance and contravariance type.
    These covariance and contravariance support is already supported deep inside the .NET CLR since .NET 2.0, so there should be a strong reason to leverage and promote this powerful runtime feature into language feature, not just C# 4.0 and VB 10 has done.

    Eriawan Kusumawardhono shared this idea  · 
  4. 131 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  11 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    Eriawan Kusumawardhono supported this idea  · 

Feedback and Knowledge Base