Skip to content

Week 2 29th Oct (Inception Report)

Louis Kueh edited this page Nov 2, 2018 · 15 revisions

Questions

  • Check inception report? + Second Marker
  • How much research should I be doing? (Literature survey)
    • FSharpLint indepth workings?
    • Ionide indepth workings?
    • Others, e.g. Hlint/Credo?

Inception report

Aims & background material

The aim of the project: Implement more sophisticated stylistic and error hints for F# targeted at new programmers.

Examples include:

  • unbalanced opening bracket is currently not detected
  • identify complex expressions and suggest simplification
  • replace anonymous functions used in complex expression by using a sub-function instead

The ultimate goal would be to incorporate this project into Ionide, which is a widely used plugin for Intellisense and other features for F#.

Background research

There is currently a project with similar goals called FSharpLint. FSharpLint currently sits within Ionide and provides stylistic hints. The full number of analysers/features supported are listed below:

Student Summary of project deliverables, fallbacks & extensions

The project deliverables can be broadly broken into three parts:

  • FSharp learning
  • Heuristics Research
  • Implementation

FSharp Learning

To improve functional language skills (as someone with only basic experience) a core personal objective is to learn FSharp and gain knowledge in how a functional language differs from a procedural one.

Functional programming exists within several procedural languages such as Javascript and Lambdas in modern C++.

Summary of Risks

Clone this wiki locally