Changelog of @hackage/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