In F# if I do something like let form = new Form(Text = "MyForm") and run it in FSI, the form will display and update normally, and even recieve messages. However, who is pumping the message queue? There is no Application.Run call here. I'm a little confused.
Asked
Active
Viewed 452 times
2 Answers
17
As ildjarn says, F# Interactive implements its own message loop. Interestingly, the message loop is not hardcoded in F# Interactive, so you can change it. This is quite useful, because the default one is based on Windows Forms, but there are other GUI frameworks you may want to use.
To do that, you would need to implement IEventLoop
interface and then assign your instance to the fsi.EventLoop
property. For more information see:

Tomas Petricek
- 240,744
- 19
- 378
- 553
-
Thanks so much for the links! Great info. – Chuck Mar 15 '11 at 00:15