Runtime interpreted flexible exercises, mainly for use in Autotool. Also automatic HTML form and parser generation for input data types.
This repository includes two packages:
Supplies both a way to run tasks and utilities to simplify the creation of said tasks.
FlexTask.Typesdefines task configurations and instances.FlexTask.Interpretercontains functions to evaluate such tasks at runtime.- The remaining modules implement various utility functions and automations for creating tasks, for example:
FlexTask.Generic.Formprovides generic, composable input forms for most data types.FlexTask.Generic.Parsedoes the same for generic parsers.
Includes text processing necessary for the Autotool frontend. It is split off from the above package to minimize dependencies in Autotool.
The package is incorporated into Autotool. The task evaluation is currently not intended to be used on its own.
In Autotool, you can select the task type Flex to input a task configuration. A default is given, which can be edited or completely overwritten by your own task.
For task development, consider using the provided test script in test-flex-action/components. Please refer to its own README file.
The generic parsers and input forms can be used as a standalone feature, independently of Autotool.
The test suite for flex-tasks needs a specified external package database. Its path has to be set via the environment variable FLEX_PKGDB before running the tests. You can use the default database of the package by setting FLEX_PKGDB to $(stack path --local-pkg-db).