Changelog for ideas-1.8

Changelog ideas-1.7 => ideas-1.8 * support for automatically generated (generic) IsTerm instances * introducing Examples data type for exercise records (unifying expr lists/generators) * redesigning xml interface (with proper character escaping) * adding literal xml to service types * introducing ToXML and ToHTML type classes * new command-line option for rerunning inputs in database * solution service variant with parameterized max number of steps * adding instance for IsTerm (a, b, c) * extending derivation interface (in Ideas.Common.Derivation) * refactoring logging interface and database name * new general Decoding module in utils; refactored encoders/decoders * moving unicode decoding from parseXML/parseJSON to Main.Default Changelog ideas-1.6 => ideas.1.7 * replacing network.cgi package by WAI * adding support for MathML * adding constraints (to exercises) for constraint-based tutoring * adding support for W3CSS (css classes and templates) * restyling html output * set busy timeout on database connection (when logging requests) * changing name of logging database for v2 schema, and make v2 the default * logging is now by default enabled: see 'logging' flag in cabal package * improving performance of rulesinfo service * merging duplicate attributes in xml/html * simplifying the computation of the difference between terms * extending xml-encoder with cases for lists, attributes and content data * adding missing strategy combinators preference and orelse * adding instances for type class Different * improving Show instance for Context * show logging enabled/disabled in html output Changelog ideas-1.5 => ideas.1.6 * dynamic strategy combinator that uses the current object/term * more instances for IsTerm (Maybe, Bool, Map, Set) * exercise-specific properties (that can be parameterized over its type) * support for encoding exercise terms in JSON (using an exercise property) * basic support for Latex and MathJax (in html output) * extended 'apply' feedback service with buggy rules and restarts * redesigned (parameterized) transformations * reimplemented strategy combinator split, based on %>> * new function defaultMainWith, which takes options * added 'onefinal' feedback service, which returns a final term in context * layered design for sub-directories: renaming/moving some modules (e.g. Ideas.Utils.Prelude) * Typeable constraint now properly encapsulated in Ref type * removing (static) documentation generation (unused feature) * removing Common.Algebra modules (now in the Math domain reasoner) * fixed escaping of characters in xml * fixed recognition of exercise IDs in ModeJSON * fixed processing of Null in EncoderJSON * fixed rule ordering in function ruleset Changelog ideas-1.4 => ideas.1.5 * upgrade to ghc-7.10 * reintroducing dependency on standard cgi library * adding missing instances for Term and ShowString * new option for JSON mode: exercise terms can be encoded in JSON * switched to QuickCheck's random number generator QCGen * requests can fix the random seed * added Term to service types, encoders and decoders * JSON-Int can be used for decoded environments * new implementation for interleave and atomic prefix combinators (more lazy) * bug fix: "no prefix" now handled by json decoder Changelog ideas-1.3.1 => ideas.1.4 ----------------------------------------------------------------------------- * refactoring of strategies - strategies are now represented cyclic trees (that preserve fixpoints) - new strategy combinators can be defined outside the framework - simpler interfaces: no more Builder, Step, and Core datatypes - nice speed-up for constructing and running strategies * support for new database schema (v2) with more columns - request can have an optional 'logging' attribute (false, v1, v2) - command-line flag for seeing information that is logged - userid, sessionid, and taskid are stored in a state * changing license to Apache License version 2.0 (was: GPL) * renaming strategy combinators (eg .*.) to solve clash with Applicative.<*> * adding SyntaxError constructor to Diagnose datatype * added read instance for Difficulty * changed newline and tab escaping in JSON * re-implemented atomic combinator * introduced inits combinator (initial prefixes) and atomic prefix (!~>) * introduced somewhereWhen traversal combinator * added cabal flag to resolve dependency on network >= 2.6 * added cabal flag to enable support for logging