Project Description
Designed to bring Code Refactoring capabilities to the F# Language in Visual Studio 2010.

"Code refactoring is the process of changing a computer program's source code without modifying its external functional behavior in order to improve some of the nonfunctional attributes of the software. Advantages include improved code readability and reduced complexity to improve the maintainability of the source code, as well as a more expressive internal architecture or object model to improve extensibility." source: Wikipedia


  • Lexer, Parser and Type Inference (now using Microsoft F# Compiler Sources)
  • Abstract Syntax Tree
  • Highlight Usages
  • Rename
  • Extract definition (todo)
  • ....

Highlight Usages
highlightUsages.gif highlightUsages2.gif

Videos New
FSharpRefactoring Highlight Usages on Vimeo

FSharpRefactoring Highlight Usages on YouTube

FSharpRefactoring Highlight Usages (Tutorial Project) on YouTube

FSharpRefactoring Rename on YouTube

FSharpRefactoring Rename (Tutorial Project) on YouTube


OO Refactoring Catalog by Martin Fowler

Refactoring Functional Programs by Simon Thompson

Refactoring Haskell Programs by Huiqing Li

Tool support for Refactoring Haskell Programs by Christopher Mark Brown

Hindley-Milner Type Inference by Wikipedia

Last edited May 6, 2013 at 8:53 PM by holoed, version 38