2008-12-20 22 views
54

Estoy buscando algunos proyectos de código abierto F # para aprender. Algo que no son fragmentos, sino proyectos completos que son buenos representantes de las características de F # (es decir, coincidencia de patrones, uniones discriminadas, etc.).F # proyectos de código abierto

Mi objetivo es principalmente ver cómo todas las características encajan, cómo se organiza el proyecto y cómo se abordan los problemas desde una perspectiva funcional.

Respuesta

42

Lista de código abierto F # Proyectos (Compilado):

+0

No puedo corregir su entrada pero el enlace DownloadStockPrices está roto. –

+3

no votando en compilación – zvolkov

+7

@zvolkov No se preocupe. Sin embargo, está en línea con la visión de los fundadores de Stack Overflow (ver los muchos comentarios de Joel sobre el tema). –

3

Searching on google code que encontré:

+0

Debería haber compilado todas sus respuestas en una sola respuesta. –

+0

No. Los diferentes proyectos generan diferentes niveles de interés por lo que el proyecto más interesante o representativo debería ser el más votado. –

+0

@Mausch: Stack Overflow no está destinado a utilizarse como mecanismo de sondeo. Con frecuencia, los votantes rechazan a los autores que publican respuestas múltiples, simplemente porque parecen prostituirse. –

5

Encontrado otro:

Storm: una herramienta para Servicios de ensayo web

3

FParsec - Una biblioteca Analizador Combinator para F #

3

DownloadStockPrices:

Descargas precios de las acciones, dividendos y hendiduras de cotizaciones históricas de Yahoo. También los modifica para hacerlos como sucedió y ajustarlos para calcular precios ajustados. También hay un componente .NET que se puede reutilizar desde C#/VB.NET. Está escrito en F # pero se puede utilizar desde cualquier idioma .NET .

Enlace a las entradas del blog es here:

Se ha escrito con el F # de septiembre de 2008 CTP.

La solución está compuesta por:

  • una biblioteca para realizar el dowload
  • un proyecto de prueba usando xUnit (pero hay que descargar xUnit y hacer referencia a que en el proyecto de pruebas para ejecutarlo)
  • un simple controlador basado en consola
  • un inicio de una aplicación gráfica de interfaz de usuario mediante la biblioteca (llamado Bob)
+0

"un inicio de una aplicación gráfica de interfaz de usuario utilizando la biblioteca (llamada Bob)" <- ¿Esto es real? ¿Otro Microsoft Bob? Lo amo. – GvS

10

FsCheck, un marco de pruebas basadas en la especificación.

VCC, el análisis estático de programas en C (de investigación MS)

VSLab, un Mathematica/MATLAB como el medio ambiente en el estudio visual

3

Tal Wing Beats puede ser ¿de interés?

El proyecto tiene menos de un año, y hasta ahora solo somos dos colaboradores, pero creo que hay cosas interesantes que echarle un vistazo.

Queremos que otros se unan, o al menos échale un vistazo y pruébalo.

+0

Se ve bien, ¿has visto #light? http://sharplight.codeplex.com/ –

+0

Lo he visto brevemente y parece interesante. También encuentro que los principios de los que Sadek habla son sólidos. No se ha actualizado últimamente. –

2

Acabo de crear un lugar para mi proyecto de código abierto Unquote, una biblioteca F # para escribir las aserciones de prueba de la unidad como expresiones citadas de F #. Es un buen ejemplo para aprender a procesar recursivamente y reconstruir citas utilizando patrones activos y patrones de coincidencia, mezclando código orientado a objetos y funcional (usa .NET Reflection en gran medida), y pruebas de unidad de escritura usando xUnit.net y ... la biblioteca misma.

2

Estoy desarrollando un inspector de árbol de objetos visuales para FSI llamado FsEye. Demuestra el desarrollo de WinForms en F #, incluido el uso de async para realizar actualizaciones de GUI sin bloqueo y cálculos paralelos. Los árboles de objetos se modelan utilizando uniones discriminatorias y registros. Lazy Los valores y las expresiones de secuencia se utilizan para la carga bajo demanda de subárboles (profundidad infinita). Los patrones activos se usan para suavizar el trabajo con TreeViewNodes no genérico.

4

Frack - Rack funcional: es una implementación de OWIN (Interfaz web abierta para .NET), que tiene un propósito similar al de las especificaciones Python WSGI y JSGI. Frack es similar en implementación a Rack y Jack, y le debe mucho a esos proyectos.

https://github.com/panesofglass/frank

1

YaccConstructor - herramienta modular para el procesamiento y analizadores gramáticas de la construcción.

Cuestiones relacionadas