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