GithubHelp home page GithubHelp logo

Comments (11)

gabelevi avatar gabelevi commented on April 24, 2024 1

Method overloading is the reason I most often hear. Like this example from the TypeScript Language Spec

interface Document {
  createElement(tagName: "div"): HTMLDivElement;
  createElement(tagName: "span"): HTMLSpanElement;
  createElement(tagName: "canvas"): HTMLCanvasElement;
  createElement(tagName: string): HTMLElement;
}

from flow.

avikchaudhuri avatar avikchaudhuri commented on April 24, 2024

This is an interesting use of string types. Will try supporting it. Basically it may boil down to us not being sensitive to === with string types, in which case the fix should be easy.

from flow.

sophiebits avatar sophiebits commented on April 24, 2024

Curious: what's the intended use of string types?

from flow.

RReverser avatar RReverser commented on April 24, 2024

+1 for this

from flow.

samwgoldman avatar samwgoldman commented on April 24, 2024

I've been thinking about this issue and I think I have an idea for how to implement this.

When x.type is refined, we install a refinement into the scope called $REFI x.type. We should be able to deconstruct that string to get the original identifier, x. Once we have that, we can look up the type of that var and if it is a UnionT, we can filter the list of types to be only those which are compatible with $REFI x.type and install another refinement on x itself using the filtered UnionT.

That doesn't help us if the type property is pulled off the x object then checked by itself, because we "forget" that the value of type is associated with the object x, I believe.

I know that implementation is pretty wild (string manipulation! yuck!) and its incompleteness is pretty lame too. Worth doing? Is there a better way?

from flow.

avikchaudhuri avatar avikchaudhuri commented on April 24, 2024

@spicyj Finally got around to fixing this, motivated by real-world use cases. We can now write ML in JS! ;)

from flow.

sophiebits avatar sophiebits commented on April 24, 2024

Sweeet.

from flow.

samwgoldman avatar samwgoldman commented on April 24, 2024

Fixed in 0.13!

from flow.

RReverser avatar RReverser commented on April 24, 2024

@samwgoldman Thanks! Any plans for blog article with examples from the team?

from flow.

avikchaudhuri avatar avikchaudhuri commented on April 24, 2024

Blog post coming soon.

On Tuesday, June 30, 2015, Ingvar Stepanyan [email protected]
wrote:

@samwgoldman https://github.com/samwgoldman Thanks! Any plans for blog
article with examples from the team?


Reply to this email directly or view it on GitHub
#20 (comment).

from flow.

RReverser avatar RReverser commented on April 24, 2024

Thanks!

from flow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.