Alcuni linguaggi popolari come Python e Ruby hanno implementazioni CLR native, JVM e .Net. C# è implementato con un progetto Mono gratuito. Non ci sono tentativi di implementare F #?Esistono progetti di implementazione alternativi (non- .Net) F #?
risposta
C'è un compilatore per il targeting un sottoinsieme di F # per FPGA, che credo sia un'implementazione non-.NET
http://blogs.msdn.com/b/dsyme/archive/2008/10/24/from-parallel-f-to-parallel-fpgas-from-avalda.aspx
Mono è un'implementazione di .net che comprende un compilatore C# (nonché un compilatore vb). Non è principalmente un'implementazione C#.
F # interattivo, fsi.exe, gira già su Mono, così come i programmi F # compilati.
compilatore F # gira su Mono pure, ma questo è ancora .NET implementazione di F # (solo in esecuzione su Mono) –
Come altri hanno sottolineato, l'implementazione standard F # di Microsoft è solo un'applicazione .NET (CLI) che viene eseguita su più implementazioni di CLI (ovvero .NET e Mono). F # produce anche applicazioni .NET (CLI) come librerie che funzionano anche su .NET e Mono. Tuttavia, questo è ancora lo stesso implementazione CLI di F # (solo in esecuzione su diversi implementazione di CLI)
Per rispondere alla tua domanda -
- Per quanto ne so, non c'è nessun altro tentativo implementare il compilatore F # per altre piattaforme/runtime.
- F # condivide uno sfondo comune con OCaml, quindi il modo più semplice per ottenere un'altra implementazione di F # consiste nel prendere OCaml e aggiungere funzionalità specifiche di F # (e rimuovere le funzionalità specifiche di OCaml).
- È possibile utilizzare solo la sotto-lingua condivisa e la cross-compilazione utilizzando sia F # che OCaml.
Inoltre, ci sono alcuni piani to release F# as open source, quindi potrebbe essere possibile che (in futuro), qualcuno porta F # per altre piattaforme come JVM che utilizzano la fonte (quando viene rilasciato).
Per quello che vale, ho visto alcune macro di camlp4 per Ocaml che implementano pattern attivi, espressioni di calcolo e uso di spazi per l'ambito a livello di blocco. Con un certo grado di macro hacking, potresti scrivere OCaml con una sintassi F #. – Juliet
Le macro di Camlp sono aperte? –
- 1. Esistono editor alternativi per i file .m?
- 2. Esistono progetti di esempio StackExchange.Redis
- 3. Esistono quadri di ponteggio alternativi per Asp.Net Dynamic Data?
- 4. Progetti Xamarin F # in visual studio
- 5. Esistono progetti di intelligenza artificiale in PHP?
- 6. Implementazione .NET SCTP
- 7. Esistono buoni editor di testo F #?
- 8. Un problema di implementazione di F # Seq
- 9. Esistono puntatori in .NET?
- 10. implementazione C# EventHandlers in F #
- 11. Qualsiasi implementazione R-Tree in F # (o C#)?
- 12. F #: implementazione di un'interfaccia con membri sovraccaricati
- 13. Azure supporta la creazione di progetti F # 3.0/VS2012?
- 14. Esistono tutorial per Protobuf-net?
- 15. navigare tra i progetti f # e C#
- 16. Esistono buoni aggregatori di notizie C#, .net?
- 17. Esistono implementazioni di multiset per .Net?
- 18. Manutenzione di riferimenti di assembly .NET comuni a più progetti
- 19. F #/.NET nullo esempio stranezza
- 20. Creazione di progetti .NET 4.5 con Nant
- 21. Implementazione di un TraceListener personalizzato in .NET
- 22. Esistono eventuali debugger C# /. NET autonomi?
- 23. Implementazione di Enum.TryParse in .NET 3.5
- 24. Implementazione di threading safe queue su .NET
- 25. Implementazione continua con più progetti di siti Web in soluzione
- 26. Progetti di installazione .NET con Visual Studio 2008
- 27. Esistono API .NET che utilizzano rsync?
- 28. Esistono negozi KeyValue utilizzati da .NET?
- 29. Esistono strumenti o progetti per generare file AZW?
- 30. Esistono schemi per la gestione degli errori nei progetti PHP?
Per quanto ne so, in realtà utilizza le citazioni di F # sotto la copertina (quindi è ancora la versione .NET standard del compilatore F #). Tuttavia, se ciò vale come "implementazione alternativa", vale la pena menzionare anche WebSharper (http://www.intellifactory.com/) che compila F # (citazioni) in JavaScript. –