fsharp.org icon indicating copy to clipboard operation
fsharp.org copied to clipboard

F# Compiler Community Session - Typechecker - An Online Chat with Don, Vlad and Community

Open vzarytovskii opened this issue 3 years ago • 8 comments

Hello everyone, this is an announcement for our 6th compiler community session.

What: F# Typechecker - An Online Chat with Don, Vlad and the community.

When: Tuesday 9th of March 2021, 7pm GMT (UK time), 8pm CET (Central European Standard Time), 11am PT (check your local time here).

Topics for our sixth session:

F# type checker:

  • Type inference.
  • SRTPs and Witness passing.
  • Mutually recursive definitions.

Previous sessions can be found here: 1, 2, 3, 4 5, or on F# Software Foundation YouTube channel

Update: Recording is available.

vzarytovskii avatar Mar 08 '21 15:03 vzarytovskii

(I'm posting this in advance so that I can simply link to it later.)


There was a question in the FSSF slack yesterday:

I posted a problem in the beginners thread yesterday, which Dave Shaw has reduced to this (thank you):

type R = { F: string seq -> unit }
let f (xs : string seq) = ()

// ex. 1
f [] //Works

// ex. 2
let r = { F = f }
r.F [] //< This one doesn't compile

// ex. 3
let rf = r.F
rf [] //Also works

Instead of workarounds (like "put in a seq") I would like to understand, why I can pass a list as seq in the one way, but not the other. Any hints?

Writing ([] :> string seq) allows example 2 to work, so while this is not a major usability issue, it may be worth discussing how/why F# behaves this way.

drvink avatar Mar 09 '21 08:03 drvink

Teams meeting link: https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjA3Njc1YWEtN2Y1ZS00ZGQxLWJmY2YtZTgwZTliZTIxOWE2%40thread.v2/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%2297f10a8e-3843-4db7-8ef7-f449e82693d7%22%7d

vzarytovskii avatar Mar 09 '21 18:03 vzarytovskii

@vzarytovskii Since we did not get to SRTP and witness passing or other non-inference-related aspects of typechecking, is there a possibility of it being discussed as part of a future session? (Naturally, much time could be spent on the typechecker alone, so it's understandable if a future session will be about other aspects instead!)

Thanks for hosting these events, by the way.

drvink avatar Mar 10 '21 08:03 drvink

@vzarytovskii Hi, are you planning to post this most recent session to YouTube?

NatElkins avatar Mar 17 '21 17:03 NatElkins

@vzarytovskii Hi, are you planning to post this most recent session to YouTube?

Hey, yeah, sorry, I was preoccupied with some other work-related stuff. I've downloaded the video already, need to edit it a bit and upload. Hopefully will get to it tomorrow.

vzarytovskii avatar Mar 17 '21 17:03 vzarytovskii

Update: Recording is https://youtu.be/EQ9fjOlmwws.

vzarytovskii avatar Mar 25 '21 13:03 vzarytovskii

It says the video is private.

kerams avatar Mar 25 '21 13:03 kerams

It says the video is private.

Oops, forgot to click "Save". Fixed.

vzarytovskii avatar Mar 25 '21 13:03 vzarytovskii