qedb / qedb

Previous iteration of QEDb [ARCHIVED]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Travis Codecov

PostgreSQL backend for QEDb

This repository implements a database schema and a REST API using the Dart RPC package. This can also be used as direct database client.

Convention on exception handling

The convention in this repository is to do minimal custom exception handling. Exceptions should be handled gracefully, but adding code to catch specific exceptions and show a customized error is not recommended. Doing so adds more code which usually doesn't actually change how anything works. If there are reasonable fallbacks, those can be implemented. However it is fine to design code that makes an assumption that might not always be true, and fails if this assumption is not true. For example, in this repository we use a map of special functions such as addition and subtraction. If a value in this map is accessed (e.g. the equality function) while this value is not present (e.g. in the case of an empty database), a normal exception will be thrown and nobody gets hurt. It is of much larger importance that the computations that are done are correct.

Suggested improvements for next iteration

  • Export simple .tex file from proof.
  • Implement built-in conditions (such as integer derivative).
  • Add API call that expands a proof into all possible rules (for fundamentals).

About

Previous iteration of QEDb [ARCHIVED]

License:GNU Affero General Public License v3.0


Languages

Language:Dart 61.6%Language:PLpgSQL 20.8%Language:Perl 11.7%Language:Shell 2.6%Language:CSS 1.7%Language:HTML 0.6%Language:Makefile 0.6%Language:Perl 6 0.2%Language:JavaScript 0.2%