swish / CHANGES

The branch 'intern-branch' does not exist.
0.6.0.1:

  - use the hashing interface provided by Data.Hashable rather than
    Swish.Utils.MiscHelpers.

0.6.0.0:

  - use the intern package to create Data.Interned.URI and use
    this within QName to speed up the equality check.

0.5.0.3:

  - Missed a FlexibleInstances pragma for ghc 7.2.

0.5.0.2:

  - Removed random and bytesttring package constraints and moved HUnit
    constraint to only apply if the tests flag is used. Added
    FlexibleInstances pragma for ghc 7.2 compatability.

0.5.0.1:

  - updated package constraints in cabal file to try and support
    building with ghc 7.2. No code change.

0.5.0.0:

  - The constructors for ScopedName and QName have been removed in
    order to allow a simple experimental optimisation (partly added in
    0.4.0.0). A similar change has been added for Namespace (but no
    optimisation).

0.4.0.0:

  - Use polyparse rather than parsec-2 for parsing. As part of this,
    the parsing is done using Text rather than String values, where
    sensible.  Some parsing should be faster now, but that is more due
    to a better use of parser combinators than differences in the
    parsing library used. No serious attempt at optimisation has been
    attempted.

    Unfortunately the error messages created on invalid input are
    significantly less helpfull than in the previous version.

  - removed Swish.Utils.DateTime and Swish.Utils.TraceHelpers

  - removed the following exported symbols from Swish.Utils.LookupMap:
        mapSortByKey, mapSortByVal

  - removed the following exported symbols from Swish.Utils.ListHelpers:
        allf, anyf, combinations, ffold, hasPartitions,
        mapset, pairsUngroup, powerSequences, powerSequences_inf

  - removed the following exported symbols from Swish.Utils.MiscHelpers:
        assert, stricmp, lower, quote

  - removed _ from exported symbols; the conversion is mainly to camel
    case but some may retain lower case parts (e.g. xxx_1_1_inv to
    xxx11inv).

  - Namespace now uses Maybe Text to store the optional prefix rather
    than an ad-hoc ""/"?" solution and URI rather than String for the
    URI.  The local part of ScopedName is now Text.  QName also uses
    URIs and no longer exports the constructor so newQName or related
    should be used to create QNames.

    We have currently lost N3 formatting of the default prefix (any
    default prefix elements end up getting written out fully
    qualified). The output is still valid N3 but perhaps not what
    you'd expect.

0.3.2.1:

  - use foldl' rather than foldl in some modules

  - Swish.Utils.*:

    - marked routines as deprecated

0.3.2.0:

  - Swish.RDF.N3Parser:

    - the parser no longer has a set of pre-defined namespaces with
      the aim of reducing un-needed statements on output.

  There is no API change worthy of a bump of the minor version but
  the behavioural change is large enough to make it worth while.

0.3.1.2:

  - Swish.RDF.RDFGraph:

    - toRDFGraph now uses the supplied labels to set up the namespace
      rather than using an empty namespace map.

    - minor documentation improvements.

0.3.1.1:

  - N3 I/O: 

    - strings ending in a double-quote character are now written out
      correctly.

    - xsd:double values are not written using XSD canonical
      form/capital E but with using a lower-case exponent.

    - in input, xsd:double literals are converted to XSD canonical
      form (as stored in 'RDFLabel'), which can make simple textual
      comparison of literals fail.

  - RDFLabel:

    - the Eq instance now ignores the case of the language tag for
      literals

    - the Show instance uses the XSD canonical form for xsd:boolean,
      xsd:integer, xsd:decimal and xsd:double literals. 

  - The ToRDFLable and FromRDFLabel classes replicate
    existing functionality in Swish.RDF.RDFDatatype; this should
    be cleaned up.

0.3.1.0:

  - NSGraph:

    - added Monoid instance with a Label constraint.

  - RDFLabel:

    - added IsString instance.

    - added ToRDFLabel and FromRDFLabel type classes for converting to
      and from RDFLabel along with instances for some standard Haskell
      types.

  - RDFTriple:

    - added toRDFTriple and fromRDFTriple functions that take advantage
      of the To/FromRDFLabel typeclasses to ease conversion from/to Arcs.

  - QName and ScopedName:

    - added IsString instance.

  - UTCTime support (To/FromRDFLabel) has required adding old-locale
    and time to the package constraints.

  - added xsd_dateTime export to Swish.RDF.Vocabulary.

  - added Swish and Swish.RDF modules for documentation purposes.

  - marked Swish.Utils.DateTime as deprecated.

  - the N3 formatter now writes true, 1, 1.2, 1.2e34 rather than
    "true"^^xsd:boolean, "1"^^xsd:integer, "1.2"^^xsd:decimal
    and "1.2e34"^^xsd:double.

  - improved test coverage.

0.3.0.3:

  - changed scripts/SwishExample.ss script so that the proof succeeds.

  - minor documentation improvements, including the addition of the
    Swish script format in Swish.RDF.SwishScript.

  - minor changes to behavior of Swish in several edge cases.

0.3.0.2:

  - bugfix: stop losing triples with a bnode subject when using the
    N3 Formatter which also makes the scripts/SwishTest.ss script run
    successfully.

  - several commands in Swish scripts now create screen
    output as an aid to debugging.

  - added the developer flag.

0.3.0.1:

  - updated the Swish script parser to work with the changes in
    0.3.0.0 (reported by Rick Murphy).

  - several example scripts are installed in the scripts/ directory,
    although only VehicleCapacity.ss works with this release.

0.2.1 to 0.3.0.0:

  - Renamed module hierarchy from

      Swish.HaskellRDF.*
      Swish.HaskellUtils.*

    to

      Swish.RDF.*
      Swish.Utils.*

  - removed modules, either because un-needed or replaced
    by other libraries:

    *) replaced with Data.Traversable instances

      Swish.HaskellUtils.FunctorM

    *) replaced with routines from Network.URI

      Swish.HaskellRDF.ProcessURI
      Swish.HaskellRDF.ParseURI

    *) copy of a Parsec module

      Swish.HaskellRDF.ParsecLanguage

    *) Replaced with Data.List.sort as only used the 
       stableQuickSort routine

      Swish.HaskellRDF.Sort.*

    *) Replaced use with simple parsec parser

      Swish.HaskellRDF.Dfa.Dfa

    *) Replaced with 'Either String'

      Swish.HaskellUtils.ErrorM

    *) Un-needed 

      Swish.HaskellRDF.Parse
      Swish.HaskelUtils.AccumulateM
      Swish.HaskellUtils.TestHelpers

  - removed Either String instance from ErrorM

  - should now compile with mtl-2

  - added upper and lower bounds to package dependencies

  - a number of Test executables have been removed, either
    because of a removed module or missing data files.

  - updated Haddock documentation to build

  - added the following flags

      tests   - compile tests or not?
      hpc     - compile tests with -hpc?

  - support for the NTriples format has been added (e.g. the -nt
    flag in Swish)

  - the N3 parser and formatter have been re-written to better
    match the latest specification. Some previously valid N3 files
    will likely no-linger parse since support for constructs like
    'this' and ':-' have been removed.

    The N3 parser does not handle @forAll statements and ignores any
    @forSome statements. It is also slower than the original parser.

    The formatter has been updated to make better use of the '[]', 
    '()' and '{}' syntactic short cuts.

    Strings containing "unexpected" escape combinations - such as \a -
    may not be handled correctluy.

  - change in behavior of Swish command-line tool when given
    invalid arguments as it now errors out if given an invalid
    argument before processing any input.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.