2013-03-09 4 views
6

Jestem zainteresowany możliwością korzystania ze skryptów F # w mojej aplikacji.W hostowaniu skryptu aplikacji. Jak działa tryfsharp.org?

Posiadanie czegoś takiego, jak tryfsharp.org byłoby świetne, zwłaszcza funkcja IntelliSense. Czy któryś z nich jest dostępny na Github? Jak to działa?

+0

Nie wiem, czy to jest prawdziwa tryfsharp, ale Google dało [to] (https://github.com/timrobinson/try-fsharp) – Jwosty

+0

To nie jest. To opiera się na http://tryfs.net Powyższa strona pochodzi z badań MS. – Dave

+1

Jego pytanie jest źle sformułowane, ale oznacza: "w jaki sposób włączyć obsługę skryptów za pomocą klawisza F # w mojej aplikacji". – mydogisbox

Odpowiedz

19

Krótka odpowiedź

kod stosowany dla pierwszego cięcia TryFSharp z F # 2, który obejmuje Intellisense wsparcie, jest dostępny jako code drop. Jako przykład, Rob Pickering zbudował z nim edytor internetowy dla Undertone. Podejrzewam, że kod użyty w bieżącej witrynie TryFSharp, która używa F # 3 pojawi się na czas.

TryFSharp używa Silverlight do hostowania kompilatora F # w przeglądarce klienta (F # jest napisane w F #). Możliwe jest również wywołanie instancji kompilatora F # uruchomionego na serwerze z przeglądarki na żądanie, co jest podejściem podjętym przez TryFs.Net i Pit.

Dłuższa odpowiedź

Istnieją dwa boki do skryptów:

  1. Montaż
  2. Wykonanie

F # już obsługuje edycję i wykonanie (.fsx) script files poprzez F# Interactive .

Montaż F # Kod

Nie brakuje redaktorów zewnętrznych dla F # Kod:

Wsparcie edytora dla Xamarin Studio, Emacs i vim jest oparty na otwartym źródłem F# Bindings projektu, który przewiduje zakończenie kodu. SharpDevelop używa kodu źródłowego AvalonEdit i zawiera podświetlanie składni dla F #. Możesz użyć AvalonEdit w swoich własnych projektach, na przykład projekt open source Refunctor używa go do zapewnienia edycji F # wewnątrz reflektora.

Istnieje również kilka nowych redaktorów do F # na horyzoncie:

AvalonEdit to dobre miejsce do rozpoczęcia pracy z edytorem osadzonym na komputerze stacjonarnym. Po wybraniu środowiska edytora musisz wybrać między prostym podświetlaniem składni lub bardziej zaawansowaną integracją za pomocą powiązań F #. Jeśli podejrzewasz, że ludzie będą używać edytora zewnętrznego, to podświetlanie składni może być wystarczające.

Przynieś własnego edytora jest prawdopodobnie najłatwiejszym miejscem do rozpoczęcia, które po prostu pozostawia wykonanie.

Wykonanie F # Kod

opcje dla wykonującego F # Kod:

kompilowania fragment z F # CodeDOM:

open Microsoft.FSharp.Compiler.CodeDom 
open System.CodeDom.Compiler 

let compile snippet = 
    use provider = new FSharpCodeProvider() 
    let options = CompilerParameters(GenerateInMemory=true) 
    provider.CompileAssemblyFromSource(options, [|snippet|]) 

let snippet = """ 
module Snippet 
let x = 1 
""" 
let results = compile snippet 
Powiązane problemy