Recently Steffen Forkmann raised a very important question about CodePlex usability and how it affects future of F# OSS contribution. Please read his arguments in “Microsoft, Open Source development and Codeplex” and share your opinion. Thanks.
Author: Sergey Tihon 🦔🦀🦋
Lexing and Parsing with F# – Part I
Good startup guide for FsLexYacc http://fsprojects.github.io/FsLexYacc/
Syntax tutorials:
– http://plus.kaist.ac.kr/~shoh/ocaml/ocamllex-ocamlyacc/ocamllex-tutorial/index.html
– http://plus.kaist.ac.kr/~shoh/ocaml/ocamllex-ocamlyacc/ocamlyacc-tutorial/index.html
September 10th 2010 | David Cooksey
Lexing and Parsing with F# – Part 1
FsLex and FsYacc are F# implementations of Ocaml’s Lex and Yacc. They are part of the F# Powerpack released for Visual Studio 2010. Used together, they take an input string and create a parse tree of typed objects. Once you have the parse tree, you can do anything with it—generate code for another language, interpret it directly, etc. If you’d like to jump right into the code, scroll to the bottom of the post. Note that the code includes a small test project using FsUnit.
FsLex is the lexer part of the lexer-parser pair. It converts an input string or stream into a series of tokens. A token is simply a string labeled so that the parser knows how to handle it. For example, ‘92’ might be within a token labeled DIGIT. Simply put, the…
View original post 606 more words
F# Weekly #26, 2014
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
- Vote on Visual F# Power Tools features to prioritize development.
- Tomas Petricek published a new version of FsLab package & template! With great Math.NET integration from Christoph Rüegg & bug fixes.
- F# Type Provider for SignalR with FunScript was announced.
- FsPickler 0.9.5 is prereleased with format refinements, .NET 4.0 support and other improvements.
- Rio de Janeiro F# User Group hosted first event “F# – 1º Encontro“.
- ExtensionMethod.net has F# methods.
- FSharp.Management v0.1.1 is released with memory fixes.
- Ryan Roberts showed first results with OWL type provider.
- F# plugin v0.1 for OpenIDE was presented.
- FAKE 3.0 allows live debugging of build scripts.
- “F#ers Meetup in Tokyo” was announced.
- .NET Fiddle uses Fantomas code formatter to tidy up F# code.
- F#unctional Londoners just hit 800 members.
- Dave Thomas presented:
- If anyone wants to help out with the F# addin for Xamarin studio just ping Dave Thomas.
Core and Lang News
- Keep up the great work on F# 4.0 and get involved!
- Mark Seemann provided our 1st Contribution to F# 4.0.
- Robert Jeppesen implemented “fsharp interpreter shebang compatibility“.
- Don Syme submitted pull request with support of “non-nullable provided types“.
- Help wanted: work with Don Syme to get this PR tested, so that Visual F# Team can pull it.
- Visual F# is seeking collaborators and developers for F# 4.0:
Video/Presentations
- “F# in your pipe” by Phillip Trelford (from his talk)
- “F# Open Source Update + Tackling Mutability with Data Flow Graphs” with Curt Nichols and @Codecutterman.
- “Tackle UI with Reactive DOM in F# and WebSharper” with Anton Tayanovskyy.
Blogs
- Gert-Jan van der Kamp published on CodePlex “Using a DataReader like a List in F#“.
- Functional Works posted “Functional should always be fun!“.
- Piet Amersfoort wrote “Creating real world WPF applications with Prism 5 and F# (part 2 – MEF)“.
- Kunjan Dalal updated “SignalR + Nancy with F# hosted on Azure“.
- Jamie Dixon posted “Consuming Sky Biometry’s Image Recognition API“.
- Peter Strøiman released “FSpec goes 0.1 (with Foq support)“.
- Heather posted “Read/Write Excel from F# with NPOI“.
- Phil Brooks wrote about “Stochastic Mortality (Limited)“.
- Michael Newton blogged “Property Checking Start Challenge“.
- Kunjan Dalal posted “SignalR + Servciestack with F# hosted on Azure“.
- Yan Cui published “Announcing libraries for C# and F# to make it easier to integrate with Sentry“.
- Kunjan Dalal posted “My broken marriage with C# and extramarital affair with F#“.
That’s all for now. Have a great week.
Previous F# Weekly edition – #24-#25![]()
F# Weekly #24-#25, 2014
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
- The F# Core Open Engineering Group has a revamped website and a blog. Please follow for updates!
- F# Nation – 1 week to submit to CUFP this year! Submit your experiences of using F# for real commercial work.
- Update on the F# logo project. Let’s keep the discussion going, and make sure we get the best logo possible! Please chime in with any feedback!
- Paris F# conference is in less than 10 days, with a full day of F# and workshops! Get your ticket now!
- Regular reminder to F# speakers to join INETA. They’ll partially reimburse travel expenses to speak!
- Miguel de Icaza shared “F# with Xamarin, getting started page“.
- A lot of great F# content is coming your way somewhere on the planet!
- Did you know that the msdn library includes F# syntax for many types in the BCL?
- FAKE 3.0 alpha is released. Please test the new FAKE with your build scripts especially if you are using additional fsi arguments. New version is built on top of FSharp.Compiler.Service and does not have external fsi process anymore.
- Major rewrite of FsPickler supporting binary, xml and json formats was pushed to prerelease channel. (+new microbenchmarks)
- Nashville F# Group was registered.
- First Sydney F# UG meeting was announced.
- Visual F# Power Tools 1.2.0 is released with Union pattern match case generation & important fixes for performance and memory issues.
- Dmitry Morozov presented FSharp.Data.SqlEnumProvider.
- FsEye 2.10 is released with NuGet packages and DataGridView plugin.
- New version of fszmq 4.0.6 is released.
- Stanford.NLP.NET packages were updated up to v3.4.
- Longing for a lint tool for F#? Check out this ongoing work.
- CloudSharper 0.9.13 is out with better NuGet support and workspace cloud sharing.
- New FsXaml and FSharp.ViewModule are published to NuGet. WPF via F# with clean, functional style validation is now supported.
- FeldSpar(Opinionated Purely Functional Unit Test Framework) was presented.
- Adam Granicz presented Three.js samples with WebSharper.
- Developing for Android and for Apple iOS/iPhone/iPad with F# just became a whole lot simpler.
- Chapter 12 “Software Quality” is new to F# Deep Dives.
- RexPro client in F# is released.
- F# support for iOS8 (via Xamarin.iOS) is released.
- F# Azure Storage Type Provider v1.0 is released!
- Everyone on the Visual F# Tools team uses The F# Power Tools!
- FSCL now fully supports OpenCL execution of Array.map, map2, mapi, mapi2, rev, sum, reduce and all the compositions.
- MathNet.Numerics 3.0 released is released with improved F# support.
Core and Lang News
- Don Syme have begun filtering smaller items on the F# User Voice with a view to F# 4.0 and beyond. Please contribute!
- What should the F# team be working on? Please vote on the issues.
- Want to hack on the F# compiler? Would you like to build F# 4.0? Here are issues and tasks:
- Compiler should warn on missing class-level or assembly-level [<ExtensionAttribute>].
- Improve the preprocessor to allow extended #if grammar.
- Add support for “fixed”.
- Enable a compiler warning when a recursive algorithm is not tail-recursive.
- Steal nice println syntax from Swift.
- Make the .Tag property public in DUs.
- Do you need extra templates in visual F#? They are open source and can be modified and added to right now!
- Fixed compiler bug:”F# interop with C# class that has an optional nullable parameter set to anything but null causes NullReferenceException / AccessViolationException“.
- Closed: “double backtick escaped identifiers for active patterns compiler bug”.
- Accepted pull request: “support profile78\profile259“.
- Vasily Kirichenko works on “Resolve unopened namespace or module“.
Video/Presentations
- Type Provider to Azure with Isaac Abraham.
- Like a rabbit in headlights! Removing the OO goggles with F# by Andrea Magnorsky.
- Domain Modelling in F# with Ian Russell.
- Early Warning Indicators in F# with Stephen Channell.
- Mixing biology and physics to understand stem cells and cancer with Ben Hall.
- Break Free With Managed Functional Programming with Dave Fancher.
- iOS App Development with F# and Xamarin by Rachel Reese.
- F# and Reactive Programming for iOS with Brad Pillow.
- Clash of the Lambdas by Aggelos Biboudis, Nick Palladinos and Yannis Smaragdakis.
- Type Theory and Practical Application by Jack Fox
- Syntax Matters: Writing abstract computations in F# by Tomas Petricek and Don Syme.
- Quantum Computing Research at Microsoft by Dave Wecker.
- FeldSpar Setup by Jason Kerney.
- FeldSpar BasicTests by Jason Kerney.
Blogs
- Visual F# Tools Team posted “How to Contribute to the F# Compiler/Library Implementation“.
- James Conway posted “Functional Vindaloo“.
- Mike Bluestein shared “Xamarin 3 Delivers Rich Updates to Xamarin Studio“.
- Jon Wood wrote about “Exercism F# Track Now Available“.
- Evelina Gabasova blogged “Comparing F# and C# with dependency networks“.
- Peter Strøiman posted “Getting Started with FSpec“.
- Sebastian Bełczyk wrote about “Running F# self hosted WebAPI with Owin“.
- Tahir Hassan posted “Embedding F# In PowerShell“.
- Mårten Rånge presented “Monadic Scenario Testing“.
- Evelina Gabasov wrote about “Setting up R.NET on Mac“.
- Steffen Forkmann posted “FAKE 2.18 released – RoundhousE kick edition“.
- Piet Amersfoort blogged “Creating real world WPF applications with F# and Prism 5 (part 1)“.
- Lincoln Atkinson posted “Rethinking findstr with F# and Powershell“.
- Jamie Dixon wrote:
- Chris Ballard shared “Google API – a decoder for polylines in F#“.
- Tom Janssens blogged:
- Tim Jones wrote “Writing a MiniC-to-MSIL compiler in F# – Part 3 – Semantic analysis“.
- Mathias Brandewinder blogged “How F# cured my 2048 addiction“.
- John Reynolds posted:
- Larry O’Brien shared “iOS 8, Scene Kit @ 60FPS, programmed in F#, using Xamarin.iOS“.
- Jon Wood blogged “Why F# for the Enterprise“.
- Isaac Abraham posted “F# Azure Storage Type Provider v1.0 released!“.
- Yan Cui published “Dart – Emulating F#’s Discriminated Union (i.e. an algebraic data type)“.
- nenono wrote about “Y-Combinator, recursive functions and memoization“.
- masuda wrote:
That’s all for now. Have a great week.
Previous F# Weekly edition – #23 ![]()
F# Weekly #23, 2014
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
- Visual Studio “14” CTP was released.
- Do not forget to vote on F# Language features and participate in discussions.
- Working draft of F# 3.1 language specification was published.
- F# Events were added to Community for F# site.
- Join the discussion inside FSharp.Data.SqlClient project: “Target scenarios for generated types“.
- RyuJIT CTP4 supports Win7. Take a minute to install it (and .NET 4.5.2) so you can test your F# apps with it.
- Do not be shy to try new VS extension “FsLab Journal” and share your feedback.
- CloudSharper 0.9.11 is out with enhanced NuGet support! (+updates 0.9.11.1 & 0.9.11.2)
- FSharp.TypeProviders.StarterPack became a part of fsprojects.
- F# Compiler Service 0.0.49 is released – minor update with a few fixes.
- New version of Visual F# PowerTools is released with Union type pattern generation.
- Key F# contributor Joe Pamer moved to Apple to work on Swift, after a stint on Typescript!
- Logary (a high performance, multi-target logging, metric and health-check library for mono and .Net) was presented.
- recall (a simple EDSL in F# for defining persistent, incremental, parallel computations such as build systems) was presented.
Video/Presentations
- Apple launched new programming language Swift.
- “Domain Specific Languages: The Functional Way” by Tomas Petricek. (+code, +slides)
- “F# and Machine Learning: a winning combination” by Mathias Brandewinder.
- “Porting Quake III to F#: A Journey to Functional Programming” by Will Smith.
- “1) Write cross-platform apps with F# & Xamarin. 2) ??? 3) Profit!” by Rachel Reese.
- “Domain modelling with the F# type system” by Scott Wlaschin.
- “Swift vs. Language X” by by Scott Wlaschin.
- “The Search for the Perfect Program” by Natallie Baikevich.
- Try F# – A New Wave of Education and Research by Microsoft Research.
Blogs
- Faisal Waris posted “F# DSL for the Layout of IOS Controls“.
- Richard Dalton blogged “Learning to Think Functionally: Recursion“.
- Jamie Dixon wrote “Using Subsets for Association Rule Learning“.
- Functional Works published “S# – Real Time iOS FP coding“.
- Functional Software .NET posted “Apple Swift ein F# Klon?“.
- Kevin Ashton posted “Full Stack F# – The Long Version (Part 1)“.
- Anton Tayanovskyy published “WebSharper: What’s New (June 2014)“.
- Peter Strøiman blogged “Introducing FSpec“.
- Mike Harris wrote “Leap Year in the Key of C#, F#, Haskell, and Scala“.
- Al Scott wrote about “Running F# Using Mono and Unix“.
- Kevin Ashton blogged “Using MongoDB from F#“.
- EFY Times published “10 Programming Languages That Will Change The IT World“.
- Andy Calderbank posted:
P.S. Sorry but there won’t be Weekly #24,2014 on the next week. I’m going to take a small vacation. Wait for a double portion of the news in Weekly #24-25, 2014 in two weeks. Thanks.
That’s all for now. Have a great week.
Previous F# Weekly edition – #22
F# Weekly #22, 2014
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
- Xamarin 3 includes F# support now (Xamarin Studio now ships with built-in support for building iOS and Android apps using the increasingly-popular F# functional programming language).
- Grab the latest daily build for F# and give feedback on experience.
- The F# PowerTools team are looking to add a “build a pattern match for a type” feature – follow the discussion.
- If you know open F# jobs, share them with the community in our LinkedIn group.
- Dyfrig v0.3.1 is released.
- F# Thai User Group was added to the map.
- BlueMountain Capital is sponsoring this year’s #Progfsharp in NYC!
- Anton Tayanovskyy shared Websharper and D3js visualization samples.
- Will Smith uploaded first 5 OpenGL tutorials from www.opengl-tutorial.org to his repo.
- MaltParser is available for .NET now.
Video/Presentations
- “Building a Better SQL Type Provider” with Ross McKinlay.
- “Programming the Semantic Web” by Steffen Staab.
- “Railway Oriented Programming” by ScottWlaschin. (+code)
Blogs
- Tomas Petricek posted “New features and improvements in Deedle v1.0“.
- Dave Thomas blogged “Xamarin 3 F# Awesomeness“.
- Mårten Rånge shared “Why I wish C# never got async/await“.
- Phil Tomson posted “Comparing a Machine Learning Algorithm Implemented in F# and OCaml“.
- Daniel Fabian wrote about “Y-Combinator“.
- Jamie Dixon blogged “Association Rule Problem: Part 3“.
- Phil Trelford wrote “F# Summer of Code 2014“.
- Grant Crofton posted “Digit recognition in F# with k-nearest neighbours“
- Functional Software .NET published “Die Strukturierung von F# Quellcode“.
- Kevin Ashton wrote “Full Stack F# – Teaser“.
- Dave Fancher posted “Clean Code, Evolved“.
- Tim Jones blogged “Writing a MiniC-to-MSIL compiler in F# – Part 2 – Lexing and parsing“.
- Michael Newton wrote “Tap, Tap, Tapping on the Door“.
- Functional Works published “pol·y·glot: knowing or using several languages“.
- Sonny R. Recio posted “Functional Programming and other types of programming I’ve discovered“.
- Ramón Soto Mathiesen blogged “F# Fast and big Fibonacci numbers with Karatsuba“.
- Dave Thomas wrote “Anything You Can Do …“.
- Cameron Taggart posted “Embedding Node.js in your .NET F# App“.
- How to send emails using SendGrid & F#.
- quantlabs.net published:
- is F Sharp big in London City Finance center due to it can parallelize and Microsoft attracts the corporate world to functional programming popularity.
- Why smart people in London program in F# vs Python? 50% higher pay dummy.
- Looks like DotNET F SHARP can integrate with C Sharp and C++ with HFT in mind.
- Holy cow! DotNet F Sharp just got better with this R Provider hook up.
That’s all for now. Have a great week.
Previous F# Weekly edition – #21
Why I wish C# never got async/await
Absolutely the same feelings
F# Weekly #21, 2014
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
- Follow @fsharpJobs if you are interested in open F# positions.
- Please vote on issues to guide priorities in core F# compiler/library fixes.
- Visual F# PowerTools v1.1.0 is out with implement interface, record stub generation and major improvements.
- Deedle v1.0 is released!
- Stanford.NLP.Fsharp was re-launched.
- The first pull request for an F# compiler optimization was accepted via the Visual F# repo, congrats to Will Smith.
- WebSharper Binding for Leaflet is released.
- FAKE.Deploy just got an authentication.
- Edgar Sánchez shared one more site for compiling and running F# – www.compileonline.com
- F# helps construction firm bring Jean Nouvel design for Louvre Abu Dhabi to life. Great potential for F# in CAD.
- Jon Harrop shared notes from his lectures.
Video/Presentations
- “FAKE (F# Make) & Automation” by Sergey Tihon.
- “C# light” by Scott Wlaschin.
- “F# and Reactive Programming for iOS” by Brad Pillow.
- “Xamarin.iOS/android+F#” by moonmile.
Blogs
- Howard Mansell posted “Deedle v1.0 Release!“
- Visual FSharp Team published “FSharp.Data.SqlClient: Seamlessly integrating T-SQL and F# in the same code [Guest Post]“.
- Tomas Petricek wrote “Welcome fsharpWorks & upcoming F# events“.
- Daniel Chambers blogged “FSharp.Azure 1.0 – with support for option types“.
- Johan Sivertsen asked about “SqlDataConnection and wasted time” and have got help.
- Jamie Dixon blogged “Association Rule Learning Via F# (Part 2)“.
- James Conway posted “F# – Discount Code for C# Developers“.
- QuantLabs published “F Sharp with DOTNET could be gaining ground in many investment banks“.
- Mauricio Scheffer wrote about “Mapping JSON to objects with Fleece“.
- Mikael Helldén wrote “F# cruise to Vaxholm“.
- Mike Harris posted “Roman Numerals and FsCheck“.
- Steffen Forkmann announced “Changes in the FAKE contribution workflow“.
- TJ Maynes blogged “Setting Up F# In Emacs“.
- Matt Adereth posted “Counting Stars on GitHub“.
- Sacha Barber wrote about:
That’s all for now. Have a great week.
Previous F# Weekly edition – #20
F# Weekly #20, 2014
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
- Functional Works site is alive.
- Summer of F# in Paris! Early bird registration for Paris ’14 is open.
- CloudSharper 0.9.10.2 is released: Mono support, VS-compatible solutions, NuGet packages and more!
- Visual F# accepted pull requests ‘make possible to set breakpoint inside quotation‘ and ‘performance improvement for seq.windowed‘.
- F# support is now included by default in Xamarin Studio, no external add-ins are required.
- Ross McKinlay presented a transactional ETL procedure from Excel to SQL server, using only the SqlProvider!
- New F# User Groups map was presented.
- Check FsBlog (Blog aware, static site generation using F#) if you missed it.
- Try FsLab Notebook right now and share you thoughts.
- Santa Monica F# User Group was presented.
- Andre Pemmelaar showed F# repo popularity by region.
- FSharp.Compiler.Service 0.0.48 is released.
- New Visual F# PowerTools feature was presented: Record stub generation.
- FsUno (Event sourcing implementation sample in F#) was presented.
- Jb Evain shared a sample of F# Active Patterns for Roslyn’s C#’ AST.
Video/Presentations
- Tomáš Petříček: Data science with F#.
- “F#’s Type Providers: The future of meta-programming in .NET” by Robert Pickering.
- “F# Data: Accessing WorldBank data” by Tomas Petricek.
- “F# Data: Making structured data first class citizens” by Tomas Petricek
Blogs
- Jamie Dixon posted “Association Rule Learning Via F# (Part 1)“.
- Evelina Gabasova blogged “Who’s the most central? F# network on Twitter“.
- Tomas Petricek wrote about “Stateful computations in F# with update monads“.
- James Conway posted “Will F# ever be a first class citizen?“.
- Mauricio Scheffer wrote about “Mapping objects to JSON with Fleece“.
- Adam Granicz blogged “Program F# with CloudSharper everywhere“.
- Ross McKinlay posted “CRUD Operations and Experimental ODBC support in the SQLProvider“.
- Richard Dalton wrote “Why I Study Functional Programming“.
- Mike Harris blogged “Property Based Testing with FsCheck“.
- Sacha Barber wrote about:
That’s all for now. Have a great week.
Previous F# Weekly edition – #19






















