2010-06-16 34 views
6

Czy istnieje sposób, aby przyjrzeć się definicji przepływu pracy Async? Co kryje się pod maską, która sprawiłaby, że linia kodu zachowywała się inaczej, niż na zewnątrz?F # Async workflow

Odpowiedz

5

Jeśli przez "przepływ pracy Async" rozumie się typ AsyncBuilder, który definiuje zachowanie bloków async, to można znaleźć definicję w pliku control.fs w źródłowej dystrybucji, w źródłowym \ fsharp \ FSharp. Folder główny.

Tłumaczenie wyrażenia obliczeniowego na wywołania metod w instancji konstruktora można znaleźć w F# spec.

+0

+1 dla specyfikacji. Szczególnie, jeśli rozumiesz, jak LINQ działa w języku C# (przepisywanie składni do wywołań metod), możesz dowiedzieć się, jak działa przepływ pracy F #, tłumacząc je na wywołania metod w obiekcie budującym. Jeśli jesteś ciekawy szczegółów dotyczących asynchronizacji, spójrz na control.fs w kodzie źródłowym. – Brian

+0

skąd można uzyskać źródło fs? – akaphenom

+0

@akaphenom - źródłem jest wersja F # 2.0 dla VS 2008 (http://www.microsoft.com/downloads/details.aspx?FamilyID=444005fb-e627-4feb-b51d-13d6a3b4b8ed). Nie jestem pewien, czy jest on również uwzględniony w instalacji VS 2010 po wyjęciu z pudełka ... – kvb