Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/exercism/fsharp-representer


https://github.com/exercism/fsharp-representer

community-contributions-paused exercism-representer exercism-tooling

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# Exercism F# representer

A [representer][representer-introduction] creates a general representation of a submission, in order to automatically give feedback on similar code.

This repository contains the F# representer, which implements the [representer interface][representer-interface]. It uses [F# Compiler Services][fsharp-compiler-services] to parse the submission's source code into syntax trees, which are then normalized and output as a representation.

## Generate a representation for a solution

To create a representation of a solution, follow these steps:

1. Open a command prompt in the root directory.
1. Run `./bin/run.sh `. This script will generate a representation for the solution found in ``.
1. Once the script has completed, the representation will be written to `/representation.txt`.

## Generate a representation for a solution using Docker

To generate a representation for a solution using a Docker container, follow these steps:

1. Open a command prompt in the root directory.
1. Run `./bin/run-in-docker.sh `. This script will:
1. Build the representer Docker image (if necessary).
1. Run the representer Docker image (as a container), passing the specified `exercise`, `input-directory` and `output-directory` arguments.
1. Once the script has completed, the representation can be found at `/representation.txt`.

[representer-introduction]: https://github.com/exercism/automated-analysis/blob/master/docs/representers/introduction.md
[representer-interface]: https://github.com/exercism/automated-analysis/blob/master/docs/representers/interface.md
[fsharp-compiler-services]: https://fsharp.github.io/FSharp.Compiler.Service/