Type inference of local variable based on later operations

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • inko

    A language for building concurrent software with confidence

  • Inko's type checker, start at TypeChecker.check and work your way down the call stack. TypeChecker.check_type_ref is where most of the work is done.

  • TypeScript

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

  • TypeScript is actually an... interesting example because it depends on compiler settings. When noImplicitAny is ON, then the list is first inferred as implicit any[] (riddle me that!). It then gets narrowed (unified?) later to string[]. I have to imagine this is a special case in the compiler because it doesn't work on user-defined data types (see example link above). The TypeScript checker.ts code is a single 50k LOC file so I'm probably not going to be able to understand the implementation.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts