weekdaze: A school-timetable problem-solver.

[ application, library, program, teaching ] [ Propose Tags ] [ Report a vulnerability ]

An application which searches for a solution to the configured school-timetable problem.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
hdbc-mysql

Link with the package "HDBC-mysql" & consequently the native MySQL-interface (which will require a development package for mysqlclient), which the application can use to connect to a MySQL data-server.

Disabled
hdbc-odbc

Link with the package "HDBC-odbc", which the application can use to connect to a generic data-server.

Disabled
llvm

Whether the llvm compiler-backend has been installed and is required for code-generation.

Disabled
printdbqueries

Whether to print SQL-queries as the database is read. N.B.: only relevant when either of the flags 'HDBC-odbc' or 'HDBC-mysql' is True. N.B.: the output will be more readable when queryDBConcurrently is off.

Disabled
printdbrows

Whether to print the rows read from the database. N.B.: only relevant when either of the flags 'HDBC-odbc' or 'HDBC-mysql' is True. N.B.: the output will be more readable when queryDBConcurrently is off.

Disabled
querydbconcurrently

Whether database-queries should be issued concurrently.

Enabled
static

Link statically, perhaps for deployment in an environment where one doesn't have root access.

Disabled
threaded

Build for parallel runtime.

Enabled
Automatic Flags
NameDescriptionDefault
unix

Link with package "unix" when available.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.1, 0.0.0.2, 0.0.0.3
Change log changelog.markdown
Dependencies array, base (>=4 && <5), bytestring, Cabal (>=1.10), containers (>=0.4.2.0), cryptohash (>=0.8.0), data-default, deepseq (>=1.1), directory, extra, factory (>=0.3.1), filepath, hxt (>=9.0.0.0), mtl, parallel (>=3.0), random, time, toolshed (>=0.17), unix, weekdaze, xhtml [details]
Tested with ghc ==8.0, ghc ==8.2, ghc ==8.4, ghc ==8.6, ghc ==8.8, ghc ==8.10
License LicenseRef-GPL
Copyright (C) 2013-2015 Dr. Alistair Ward
Author Dr. Alistair Ward
Maintainer mailto:weekdaze@functionalley.com
Category Application, Teaching
Home page https://functionalley.com/WeekDaze/weekdaze.html
Bug tracker mailto:weekdaze@functionalley.com
Source repo head: git clone https://github.com/functionalley/WeekDaze
Uploaded by AlistairWard at 2020-08-10T10:38:21Z
Distributions
Executables weekdaze
Downloads 873 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for weekdaze-0.0.0.3

[back to package description]

WeekDaze

Build Status Hackage License: GPL v3 Haskell

This is "WeekDaze", an application which searches for solutions to the school-timetable problem.

It can read problem-specifications either from a relational database or from an XML-file.

Installation

  • It can be built and installed using Cabal.
  • Configuration can be read by either from a local XML-file using the Haskell package hxt, or by establishing database-connectivity using one or more of the database-backend Haskell packages "HDBC-odbc" & "HDBC-mysql", & this affects how the product should be built.
  • In order to connect to an arbitrary type of RDBMS, HDBC-odbc should be installed, but when connecting specifically to MySQL, one can alternatively install HDBC-mysql (which is slower).
  • Before building these database-backend Haskell packages on GNU/Linux the following prerequisites must be observed:
    • HDBC-odbc: requires the development version of the package "unixODBC".
    • HDBC-mysql: requires either "libmariadb-devel" or the development version of the package "libmysqlclient". CAVEAT: HDBC-mysql-0.6.6.1 is rather picky about the versions of other Haskell packages.
  • Before using ODBC to establish database-connectivity:
    • An appropriate driver for the type of RDBMS, e.g. MyODBC-unixODBC for MySQL, must be installed.
    • A system-wide configuration-file "odbcinst.ini" must be created to define the above database-driver, & a configuration-file ".odbc.ini" must be created to define the available DSNs. These files are described for a various types of DBMS in odbcinst & for MySQL in MySQL Connector/ODBC (examples for the latter case are included in this package).
  • An initial MySQL-database can be constructed using the packaged SQL-files.

Documentation

The documentation is in "man/".

Examples

The directory "xml/" contains example-configurations and the directory "xhtml/" contains the corresponding solutions. The packaged SQL-files contain the same example-configurations.

License

For information on copying and distributing this package, see the file "LICENSE" in this directory.

Bug-reporting

Bug-reports should be emailed to weekdaze@functionalley.com.

Testing

The test-suite can be run using:

cabal configure --enable-tests;
cabal build;
cabal test --show-details=always;

Author

This application is written and maintained by Dr. Alistair Ward.