align-toparrow-leftarrow-rightbackbellblockcalendarcamerachatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditemptyheartfacebookfullheartglobegoogleimagesinstagramlocation-pinmagnifying-glassmailmoremuplabelShape 3 + Rectangle 1outlookpersonplusImported LayersImported LayersImported Layersshieldstartwitteryahoo

Type inference

  • Jun 30, 2014 · 7:00 PM
  • Mixrank

Static types are great for making programs safer and easier to understand. However, explicitly stating the type of every variable and expression in your program can clutter it to the point of unreadability.

Most statically typed functional languages allow you to omit type annotations in many places (or most places, or all, depending on the language), because the compiler can infer the types from context. The most widely used algorithm for type inference (also called "type reconstruction") is known as Hindley-Milner.

I'll do a brief presentation on Hindley-Milner type inference, and then show type inference at work in an interpreter for a polymorphic lambda calculus.

Feel free to bring along your own implementation and we'll compare notes!

As always, the code for the keypad outside is *1111.

Join or login to comment.

  • Adrian K.

    I've posted slides and code to https://github.com/archontophoenix/typeInferenceTalk . The slides are in OpenOffice Impress format.

    1 · July 1, 2014

  • Jack F.

    Really good presentation by Adrian.

    July 1, 2014

  • Sergei W.

    Good presentation, very clear! Please post the slides and/or the code!

    June 30, 2014

  • Alec D.

    Sounds like a great topic! But I just can't make it over to SF tonight. Hope slides can be posted -- if not, also, a video :-) .

    June 30, 2014

  • Byron H.

    Running late all day and out of time to get there.

    June 30, 2014

16 went

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy