Ben Lappin

My feedback

  1. 457 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  37 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    Ben Lappin supported this idea  · 
  2. 15 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →

    This proposal is “approved in principle” for F# 4.0+. It would make a good addition to F#. (I don’t think the loss of purity (e.g. wr.t. ordering of union cases) is a critical problem and I believe you can turn of the DefaultAugmentation in any case)

    Some technical issues may need to be ironed out during implementation.

    If this is done, the Tag properties present on these types should also be revealed, that is covered by a separate item.

    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).

    Implementations of approved language design can now be submitted as pull requests to the appropriate branch of http://github.com/Microsoft/visualfsharp. See http://fsharp.github.io/2014/06/18/fsharp-contributions.html for information on contributing to the F# language and core library..

    I’d be glad to help guide people through the implementation process.

    If you…

    Ben Lappin supported this idea  · 
  3. 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.

    Ben Lappin supported this idea  · 
  4. 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 →
    Ben Lappin supported this idea  · 
  5. 215 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  18 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    Ben Lappin commented  · 

    One benefit is that if you're only using a type in one place, somewhere deep inside a let binding, you currently need to define the type prior to the outermost let, which can be inconvenient. Take the following example:

    type Thingy = { Inty: int; Stringy: string }
    let ....
    let ....
    let aThingy = { Inty = 5; Stringy = "F# is fun" }

    It would be preferable to be able to write something like:

    let....
    let....
    let aLocalThingy = { Inty: int = 6; Stringy: string = "Future F# is funner" }

    ...and in either case, you could then do what you needed with the record, as long as the flow of code allowed its (anonymous) type to be inferred.

    Essentially I would see this as "syntactic sugar" over defining a type that will only be used in one place.

    Ben Lappin supported this idea  · 
  6. 127 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    Ben Lappin supported this idea  · 
  7. 453 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    38 comments  ·  F# Language  ·  Flag idea as inappropriate…  ·  Admin →
    Ben Lappin supported this idea  · 

Feedback and Knowledge Base