Git Product home page Git Product logo

blogliterately-diagrams's Introduction

blogliterately-diagrams's People

Contributors

byorgey avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

blogliterately-diagrams's Issues

BlogLiterately-diagrams-0.1.4 failed during the building phase

I assume this is something to do with my configuration but I haven't investigated further.

[1 of 1] Compiling Text.BlogLiterately.Diagrams ( src/Text/BlogLiterately/Diagrams.hs, dist/build/Text/BlogLiterately/Diagrams.o )

src/Text/BlogLiterately/Diagrams.hs:115:12:
    No instance for (hashable-1.2.1.0:Data.Hashable.Class.Hashable
                       (diagrams-core-1.0.0.1:Diagrams.Core.Types.Options
                          Cairo Diagrams.TwoD.Types.R2))
      arising from a use of `DB.buildDiagram'
    Possible fix:
      add an instance declaration for
      (hashable-1.2.1.0:Data.Hashable.Class.Hashable
         (diagrams-core-1.0.0.1:Diagrams.Core.Types.Options
            Cairo Diagrams.TwoD.Types.R2))
    In a stmt of a 'do' block: res <- DB.buildDiagram bopts
    In the expression:
      do { createDirectoryIfMissing True diaDir;
           let bopts
                 = DB.mkBuildOpts
                     Cairo zeroV (CairoOptions "default.png" size PNG False)
                   & DB.snippets .~ decls
                   & DB.imports .~ ...
                   & DB.diaExpr .~ expr
                   & DB.postProcess .~ (if shouldPad then pad 1.1 . centerXY else id)
                   & DB.decideRegen
                     .~ (DB.hashedRegenerate (\ hash opts -> ...) diaDir);
           res <- DB.buildDiagram bopts;
           case res of {
             DB.ParseErr err -> do { ... }
             DB.InterpErr ierr -> do { ... }
             DB.Skipped hash -> return (Right $ mkFile (DB.hashToHexStr hash))
             DB.OK hash (act, _)
               -> act >> return (Right $ mkFile (DB.hashToHexStr hash)) } }
    In an equation for `renderDiagram':
        renderDiagram shouldPad decls expr (_ident, _cls, fields)
          = do { createDirectoryIfMissing True diaDir;
                 let bopts = ...;
                 res <- DB.buildDiagram bopts;
                 .... }
          where
              size
                = mkSizeSpec
                    (lookup "width" fields >>= readMay)
                    (lookup "height" fields >>= readMay)
              mkFile base = diaDir </> base <.> "png"
BuildFailure

BlogLiteratelyD runs out stack space

This works fine as part of my "main"

>           renderableToPNGFile (errChart xs mcMAvg trial trialInitState testData nitt)
>                               500 500 "Magnetism.png"

but

bar :: DEnv
bar = unsafePerformIO $ defaultEnv vectorAlignmentFns 500 500

-- errDiag :: QDiagram Cairo R2 Any
errDiag xs mcMAvg trial trialInitState testData nitt =
  fst $ runBackend bar (render (errChart xs mcMAvg trial trialInitState testData nitt)
                               (500, 500))

and then

```{.dia width='500'}
import Ising
import Diagrams
dia = errDiag xs mcMAvg trial trialInitState testData nitt 

gives

~/Dropbox/Private/Ising $ ~/Library/Haskell/ghc-7.4.1/lib/BlogLiterately-diagrams-0.1.2.4/bin/BlogLiteratelyD Ising.lhs --math=mathjax > Ising.html
Stack space overflow: current size 8388608 bytes.
Use `+RTS -Ksize -RTS' to increase it.

I'll try and get more details when I have time.

Cannot install BlogLiterately-diagrams

Cabal complains of not being able to resolve dependencies:

 ~/BlogLiterately-diagrams$ cabal sandbox init
 Writing a default package environment file to
 /home/saiko/haskell/BlogLiterately-diagrams/cabal.sandbox.config
 Creating a new sandbox at
 /home/saiko/haskell/BlogLiterately-diagrams/.cabal-sandbox
 saiko@overl0ad:~/haskell/BlogLiterately-diagrams$ cabal install --dry-run
 Resolving dependencies...
 cabal: Could not resolve dependencies:
 trying: BlogLiterately-diagrams-0.1.3.1 (user goal)
 trying: pandoc-1.12.3 (dependency of BlogLiterately-diagrams-0.1.3.1)
 trying: aeson-0.7.0.0 (dependency of pandoc-1.12.3)
 next goal: pandoc-types (dependency of pandoc-1.12.3)
 rejecting: pandoc-types-1.12.3 (conflict: aeson==0.7.0.0, pandoc-types =>
 aeson>=0.6.2 && <0.7)
 rejecting: pandoc-types-1.12.2.3, 1.12.2.2, 1.12.2.1, 1.12.2, 1.12.1.2,
 1.12.1.1, 1.12.1, 1.12, 1.10, 1.9.1, 1.9.0.2, 1.9.0.1, 1.9, 1.8.2, 1.8.0.2,
 1.8, 1.7 (conflict: pandoc => pandoc-types>=1.12.3 && <1.13)
 Backjump limit reached (change with --max-backjumps).

 Note: when using a sandbox, all packages are required to have consistent
 dependencies. Try reinstalling/unregistering the offending packages or
 recreating the sandbox.

Compile failure (from Stackage)

Configuring BlogLiterately-diagrams-0.1.4.2...
Dependency BlogLiterately ==0.7.1.6: using BlogLiterately-0.7.1.6
Dependency BlogLiterately-diagrams -any: using BlogLiterately-diagrams-0.1.4.2
Dependency base ==4.7.0.0: using base-4.7.0.0
Dependency containers ==0.5.5.1: using containers-0.5.5.1
Dependency diagrams-builder ==0.5.0.11: using diagrams-builder-0.5.0.11
Dependency diagrams-cairo ==1.1.0.2: using diagrams-cairo-1.1.0.2
Dependency diagrams-lib ==1.1.0.7: using diagrams-lib-1.1.0.7
Dependency directory ==1.2.1.0: using directory-1.2.1.0
Dependency filepath ==1.3.0.2: using filepath-1.3.0.2
Dependency pandoc ==1.12.4.2: using pandoc-1.12.4.2
Dependency safe ==0.3.4: using safe-0.3.4
Using Cabal-1.20.0.0 compiled by ghc-7.8
Using compiler: ghc-7.8.2
Using install prefix: /var/lib/jenkins/.cabal
Binaries installed in:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/bin
Libraries installed in:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/lib/x86_64-linux-ghc-7.8.2/BlogLiterately-diagrams-0.1.4.2
Private binaries installed in: /var/lib/jenkins/.cabal/libexec
Data files installed in:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/share/x86_64-linux-ghc-7.8.2/BlogLiterately-diagrams-0.1.4.2
Documentation installed in:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/share/doc/BlogLiterately-diagrams-0.1.4.2
Configuration files installed in: /var/lib/jenkins/.cabal/etc
Using alex version 3.1.3 found on system at:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/bin/alex
Using ar found on system at: /usr/bin/ar
No c2hs found
Using cpphs version 1.18.4 found on system at:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/bin/cpphs
No ffihugs found
Using gcc version 4.8 found on system at: /usr/bin/gcc
Using ghc version 7.8.2 found on system at: /opt/ghc/7.8.2/bin/ghc
Using ghc-pkg version 7.8.2 found on system at: /opt/ghc/7.8.2/bin/ghc-pkg
No greencard found
Using haddock version 2.14.2 found on system at: /opt/ghc/7.8.2/bin/haddock
Using happy version 1.19.3 found on system at:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/bin/happy
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at: /opt/ghc/7.8.2/bin/hpc
Using hsc2hs version 0.67 found on system at: /opt/ghc/7.8.2/bin/hsc2hs
Using hscolour version 1.20 found on system at:
/var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/bin/HsColour
No hugs found
No jhc found
Using ld found on system at: /usr/bin/ld
No lhc found
No lhc-pkg found
No nhc98 found
Using pkg-config version 0.26 found on system at: /usr/bin/pkg-config
Using strip found on system at: /usr/bin/strip
Using tar found on system at: /bin/tar
No uhc found
Component build order: library, executable 'BlogLiteratelyD'
creating dist/build
creating dist/build/autogen
Building BlogLiterately-diagrams-0.1.4.2...
Preprocessing library BlogLiterately-diagrams-0.1.4.2...
Building library...
creating dist/build
/opt/ghc/7.8.2/bin/ghc --make -fbuilding-cabal-package -O -static -dynamic-too -dynosuf dyn_o -dynhisuf dyn_hi -outputdir dist/build -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -isrc -idist/build/autogen -Idist/build/autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -package-name BlogLiterately-diagrams-0.1.4.2 -hide-all-packages -no-user-package-db -package-db /var/lib/jenkins/workspace/Stackage/ghcversion/7.8.2/stackage/sandbox/package-db -package-db dist/package.conf.inplace -package-id BlogLiterately-0.7.1.6-cb003a8f982ce588fe272d77972bd1dd -package-id base-4.7.0.0-018311399e3b6350d5be3a16b144df9b -package-id containers-0.5.5.1-19036437a266c66c860794334111ee93 -package-id diagrams-builder-0.5.0.11-3a9ce0dcbe141be32bb9af2f19179e67 -package-id diagrams-cairo-1.1.0.2-5b3cc6c5f83c75e7ad945097e5761400 -package-id diagrams-lib-1.1.0.7-fd62002b95c285b88cb9d4a0431473cf -package-id directory-1.2.1.0-a0555efb610606fd4fd07cd3bba0eac2 -package-id filepath-1.3.0.2-15473fd51668a6d87ee97211624eb8aa -package-id pandoc-1.12.4.2-ff6d4e1b2fd0c54c0c0b98e2736a74f2 -package-id safe-0.3.4-e3108c6af773c477b7d696803b5ef2fd -XHaskell2010 Text.BlogLiterately.Diagrams
[1 of 1] Compiling Text.BlogLiterately.Diagrams ( src/Text/BlogLiterately/Diagrams.hs, dist/build/Text/BlogLiterately/Diagrams.o )

src/Text/BlogLiterately/Diagrams.hs:115:12:
    No instance for (Data.Data.Data Diagrams.TwoD.Types.R2)
      arising from a use of ‘DB.buildDiagram’
    In a stmt of a 'do' block: res <- DB.buildDiagram bopts
    In the expression:
      do { createDirectoryIfMissing True diaDir;
           let bopts
                 = DB.mkBuildOpts
                     Cairo zeroV (CairoOptions "default.png" size PNG False)
                   & DB.snippets .~ decls
                   & DB.imports .~ ...
                   & DB.diaExpr .~ expr
                   & DB.postProcess .~ (if shouldPad then pad 1.1 . centerXY else id)
                   & DB.decideRegen
                     .~ (DB.hashedRegenerate (\ hash opts -> ...) diaDir);
           res <- DB.buildDiagram bopts;
           case res of {
             DB.ParseErr err -> do { ... }
             DB.InterpErr ierr -> do { ... }
             DB.Skipped hash -> return (Right $ mkFile (DB.hashToHexStr hash))
             DB.OK hash (act, _)
               -> act >> return (Right $ mkFile (DB.hashToHexStr hash)) } }
    In an equation for ‘renderDiagram’:
        renderDiagram shouldPad decls expr (_ident, _cls, fields)
          = do { createDirectoryIfMissing True diaDir;
                 let bopts = ...;
                 res <- DB.buildDiagram bopts;
                 .... }
          where
              size
                = mkSizeSpec
                    (lookup "width" fields >>= readMay)
                    (lookup "height" fields >>= readMay)
              mkFile base = diaDir </> base <.> "png"

BlogliteratelyD segfaults

~/Dropbox/Private/Ising $ ~/Library/Haskell/ghc-7.6.2/lib/BlogLiterately-diagrams-0.1.2.4/bin/BlogLiteratelyD Ising.lhs --math=mathjax > Ising.html

Interpreter error:
Diagrams.hs:11:31:
    Module `Diagrams.Coordinates' does not export `(&)'

Changing (&) to (^&) then gives

~/Dropbox/Private/Ising $ ~/Library/Haskell/ghc-7.6.2/lib/BlogLiterately-diagrams-0.1.2.4/bin/BlogLiteratelyD Ising.lhs --math=mathjax > Ising.html
Segmentation fault: 11

On the other hand

~/Dropbox/Private/Ising $ ~/Library/Haskell/ghc-7.4.1/lib/BlogLiterately-diagrams-0.1.2.4/bin/BlogLiteratelyD Ising.lhs --math=mathjax > Ising.html

Interpreter error:
Diagrams.hs:11:31:
    Module `Diagrams.Coordinates' does not export `(^&)'

Changing (^&) back to (&) then works and now, because the diagrams have been created in the diagrams sub-directory, if we run 7.6.2 everything works!

Packages for 7.4.1

~/Dropbox/Private/Ising $ ghc-pkg-7.4.1 list | grep -i diagrams
    BlogLiterately-diagrams-0.1.0.1
    BlogLiterately-diagrams-0.1.2.2
    BlogLiterately-diagrams-0.1.2.4
    Chart-diagrams-1.0
    (diagrams-0.5)
    diagrams-builder-0.2.0.0
    diagrams-builder-0.4.0.2
    diagrams-builder-0.4.2
    diagrams-cairo-0.5.0.2
    diagrams-cairo-0.7
    (diagrams-core-0.5.0.1)
    diagrams-core-0.7
    (diagrams-lib-0.5.0.1)
    diagrams-lib-0.7
    diagrams-postscript-0.7.0.1
    diagrams-svg-0.7

Packages for 7.6.2

~/Dropbox/Private/Ising $ ghc-pkg-7.6.2 list | grep -i diagrams
    BlogLiterately-diagrams-0.1.2.4
    Chart-diagrams-1.0
    diagrams-builder-0.4.0.2
    diagrams-builder-0.4.2
    diagrams-cairo-0.7
    diagrams-cairo-1.0
    diagrams-core-0.7
    diagrams-core-1.0
    diagrams-lib-0.7
    (diagrams-lib-0.7.1.1)
    diagrams-lib-1.0
    diagrams-postscript-0.7.0.1
    diagrams-svg-0.7

I will investigate further when I have time but for now I can actually work albeit in a slightly contorted way.

Having trouble building (even in fresh sandbox)

I am building this in a fresh sandbox and getting (diagrams and BlogLiterately builds fine):

cabal install BlogLiterately-diagrams
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: BlogLiterately-diagrams-0.1.4.3 (user goal)
trying: pandoc-1.13.1/installed-a4e... (dependency of
BlogLiterately-diagrams-0.1.4.3)
trying: diagrams-builder-0.6.0.1 (dependency of
BlogLiterately-diagrams-0.1.4.3)
trying: hint-0.4.2.0 (dependency of diagrams-builder-0.6.0.1)
trying: ghc-7.6.3/installed-494... (dependency of hint-0.4.2.0)
next goal: bin-package-db (dependency of ghc-7.6.3/installed-494...)
rejecting: bin-package-db-0.0.0.0/installed-608... (conflict: pandoc =>
binary==0.7.2.1/installed-29f..., bin-package-db =>
binary==0.5.1.1/installed-72e...)
Backjump limit reached (change with --max-backjumps).

Support for `IO`

Right now all diagrams must be pure. It should be possible to use IO in creating diagrams.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.