# Analysing of F# Programs

## Sunday, June 06, 2010 » programming, uni

This class covers in fact labour work. The aim of this labour was to create an extensible framework to establish a highly customizable and flexible scanner for the F# functional programming language.
In the frame of the labour my part was the resource analysis of F# programs to analyzing the cost of functional codes. The main difficulties with this approach
that the complex [or even not so complex] recursive functions generate multi variables functions that - we know - it's not simple to solve. There is no general concept to solve
so different type of multi variables functions. One promising attemption was to convert such functions to closed form and analyzing these formulas. Near the concept,the technology solution needed to be figured out and integrated it into
our FSharp Tool. The imagination was to integrate it in the tool where the resource of currently implemented source code would be shown automatically on some IDE panel.

One conception was to examine the Theorema System to solving the recursive equations. The Theorema is a software system for computer supported mathematical theorem proving and theory exploration.
Unfortunately just before I began the cognition with the system, the whole project was frozen. The beginning of examination of connection between .NET and Theorema remained also in theoritical phase (SimpleLink, JLink, NETLink).
Some other points where I [would] have started...

Mathematica Tutorial - Solving Recurrence Equations

Tom Leighton - Notes on Better Master Theorems for Divide-and-Conquer Recurrences

William L. Harrison, Ph.D - A Simple Semantics for Polymorphic Recursion

https://plato.stanford.edu/entries/recursive-functions/

Unknown - Example for analysing recursive methods

Frdric Gava - BSP Functional Programming: Examples of a Cost Based Methodology

Pedro B. Vasconcelos? and Kevin Hammond - Inferring Cost Equations for Recursive, Polymorphic and Higher-Order Functional Programs

Bent E. Petersen - Linear Recurrence Relations in Maple

Richard Bird, Jeremy Gibbons and Geraint Jones - Program optimisation, naturally

Pedro Baltazar Vasconcelos - Space Cost Analysis Using Sized Types

http://math.furman.edu/~dcs/book/c1pdf/sec14.pdf

[Analysis of F# Programs] [Analysis of F# Codes]