Cabpacob / hse_se_project_2021

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

451 Fahrenheit

Project presentation

An ultimate application for creating tasks and automatically checking them.

Installation (on your machine)

Install stack:

apt install haskell-stack

Install F451:

git clone https://github.com/Cabpacob/hse_se_project_2021
cd hse_se_project_2021
stack build

Installation (under Docker)

Note: Following command should be executed from the project root.

docker build -t build-f451 -f docker/buildCurrent.Dockerfile

Execution (under Docker)

docker build -t exec-f451 -f docker/runCurrent.Dockerfile

Acknowledgments

We sincerely thank our families for their support on this difficult path, as well as Mike Mirzayanov for the excellent polygon and codeforces platforms.

Examples

The largest ocean in the world?

taskQuiz "The largest ocean in the world?" (OneOf ["Pacific", "Atlantic", "Other"]) 0 oneZeroConstraints

Answers:

  • Just 4 -> Score 0
  • Just 0 -> Score 1
  • Just 1 -> Score 0
  • Just 2 -> Score 0
  • Nothing -> Score 0

Name all directions of the world

taskMultipleRequired "Name all directions of the world" (AllOf [("North", 1), ("East", 1), ("West", 1), ("South", 1)]) oneZeroConstraints

Answers:

  • Just ["North", "East", "West", "South"] -> Score 1
  • Just ["South", "West", "East", "North"] -> Score 1
  • Just ["South", "wEst", "eAst "] -> Score 0.25
  • Just [" norTh", "wEst", " eAst "] -> Score 0
  • Just [""] -> Score 0
  • Just ["Three whales", "Giant turtle"] -> Score 0
  • Just ["Three whales", "Giant turtle", "South", "Park"] -> Score 0.25
  • Nothing -> Score 0

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 98.3%Language:Dockerfile 1.7%