Make Music more polymorphic: data PTM a b = Primitive Dur a | Modify b (PTM a b) | PTM a b :+: PTM a b | PTM a b :=: PTM a b | PTM a b :=/ PTM a b Doing this makes it completely independent of music, but it's still temporal, and thus the name PTM. The third binary constructor (:=/) is just like (:=:) except that it stops after the shortest of its two arguments. By doing this, the need for the complex "cut" and related operators goes away -- the proper interpretation of (:=/) is much more easily done in "perform". We can then more easily deal with infinite music, which is currently rather unsatisfactory. type Music a = PTM a Control Re-design / rename "play" functions and classes. Change "GMI" to "MUI". Add chapter / sections for chords and scales. Introduce lazy eval in music more deliberately, and use that to lead into lazy versions of (:=:), cut, etc. Problems with "algebra" in presence of players: Reconsider "Player" design. Consider providing TWO versions of a performance, one "literal" (no players), and one with players. takeM, dropM, etc. Check PTM paper for other missing functions, presumably to be added to "More Music". Consider prefacing certain chapters with table of exported functions, i.e. a summary. Or perhaps put at end of chapter? Add chapter for genetic algorithms; also something on chaos, perhaps in Random chapter? --- Euterpea.IFS, Euterpea.FromMidi --- Hi Paul, Did you remove the following directories when you started over? C:\Documents and Settings\ph33\Application Data\cabal C:\Documents and Settings\ph33\Application Data\ghc It looks like you might have an older version of cabal-install lying around. What is the output of "cabal --version" and "ghc-pkg list"? Regards, Paul Liu On Mon, Nov 01, 2010 at 01:04:54PM -0400, Hudak, Paul wrote: > Hi Paul. I have been having problems with Euterpea and GHC on my laptop, so decided to kill everything and start again. But I get an error on the last step of installing Euterpea. It looks like this: > > c:\Users\Paul\Euterpea>cabal install > Resolving dependencies... > Configuring Euterpea-0.1.0... > setup.exe: failed to parse output of 'ghc-pkg dump' > cabal: Error: some packages failed to install: > Euterpea-0.1.0 failed during the configure step. The exception was: > ExitFailure 1 > > Any suggestions? > > Best, -Paul --- I have the laptop working with Euterpea now. Just to document the rather brute force approach I took that eventually worked, in case it happens again in the future: - Checked cabal and ghc versions, which were the same then as they are now after the fix: ghc 6.12.3, cabal 0.8.2 with library version 1.8.0.6. This was rather confusing since similar error cases I've read about are always to do with an out-dated version of one or the other. - Deleted the cabal directories that haskell platform leaves behind when it uninstalls (this is what was already suggested). - Tried a darcs get of Euterpea after reinstalling haskell platform, but this failed with the same parsing error. One of the errors I read about was to do with out-dated ghc rather than cabal, so I decided to address ghc first. - Searched for anything with "ghc" in the folder/filename on the C drive. This turned up a lot of files, including a bunch of strange ghc-related stuff in a TEMP folder that I then deleted. I tried a reinstall of haskell platform after that, but got the same error, so I uninstalled haskell platform and cleared everything off again. - Renamed a folder called Haskell that also had some ghc-related stuff in it. I renamed this to Haskell_x. I had checked the path a bunch of times and didn't see anything pointing to that folder, but there were other ghc installations there. - Reinstalled haskell platform and darcs vis cabal (the regex-posix issue has been resolved by the way). After this, cabal made more progress than it did before, but still crashed right before finishing with some other parse error. - Did another darcs get of Euterpea and a cabal install in the new directory. Success! The working Euterpea is in a Euterpea_0 folder. The folder from the previous darcs get is called just Euterpea, but I think the cabal-related files there must have gotten corrupted somehow since it still gives parsing errors. It may be ok to restore the name of the Haskell folder too now, but I haven't tried it yet. -----Donya ---