bleis-tift

My feedback

  1. 392 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    18 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    bleis-tift commented  · 
  2. 85 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    bleis-tift supported this idea  · 
  3. 23 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    bleis-tift commented  · 

    type Choice<'T1> =
    | Choice1Of1 of 'T1
    type Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'TRest> =
    | Choice1OfN of 'T1
    | Choice2OfN of 'T2
    | Choice3OfN of 'T3
    | Choice4OfN of 'T4
    | Choice5OfN of 'T5
    | Choice6OfN of 'T6
    | Choice7OfN of 'T7
    | ChioceRest of 'TRest

    let (|P1|P2|P3|P4|P5|P6|P7|P8|) x =
    match x with
    | 1 -> P1
    | 2 -> P2
    | 3 -> P3
    | 4 -> P4
    | 5 -> P5
    | 6 -> P6
    | 7 -> P7
    | _ -> P8

    // Chice<unit, unit, unit, unit, unit, unit, unit, Choice<unit>>

    This is the same way as the System.Tuple.

    bleis-tift supported this idea  · 
  4. 179 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    19 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    bleis-tift commented  · 
  5. 111 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →

    Marking as “approved in principle” (it will show as “planned”).

    However, in reality it is both relatively low priority and relatively hard to implement, so I don’t expect this to happen any time soon.

    For example, we would have to reverse-map the metadata associated with F#-specific types. This is already done in F# reflection FSharpType.IsRecord and so on.

    bleis-tift supported this idea  · 
  6. 311 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    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…

    bleis-tift commented  · 

    F# has tailcall keyword as reserved-ident-keyword.
    So I think that the keyword is better than tailrec.

  7. 67 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  4 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    bleis-tift supported this idea  · 

Feedback and Knowledge Base