13:40:22 <alpounet> stepcut, seen my question re. md5?
13:44:56 <stepcut> one momet
13:46:10 <stepcut> I still don't see this question.. where should I look ?
13:47:01 <alpounet> alpounet> [13:15:16] stepcut, any favorite md5 checksum impl you want us to use in scoutess?
13:47:07 <alpounet> <alpounet> [13:21:25] http://hackage.haskell.org/packages/archive/cryptohash/0.7.5/doc/html/Crypto-Hash-MD5.html i'd go for this one
13:49:25 <stepcut> seems reasonable
13:50:05 <alpounet> i started implementing the Uri fetcher
13:50:08 <alpounet> yesterday
13:50:20 <alpounet> and you wanted it to have an optional checksum to check the archive against
13:50:56 <donri> what are you using md5 for
13:51:20 <stepcut> yep
13:51:43 <stepcut> I have used pureMD5 in the past.. but it seems to have a lot more dependencies.
13:52:01 <stepcut> can't think of any reason to prefer it offhand
13:52:30 <donri> the only reason to use md5 is if you already have an md5 hash, is that the case? :P
13:52:34 <alpounet> yeah and it's less handy
13:54:00 <alpounet> donri, the Uri package fetcher in scoutess has to be able to check the md5 hash is correct, if you provide one. so it was designed so that we CAN provide one, for a given .tar.gz package archive, but it's optional. so yeah we can have an md5 hash sometimes
13:54:37 <stepcut> alpounet: by why MD5 and not SHA1 or something?
13:55:34 <alpounet> because:     | Uri Text (Maybe Text)               -- ^ get source as @.tar.gz@ from uri (optional md5sum checksum)
13:55:36 <donri> exactly
13:56:05 <donri> md5 is neither the fastest nor the safest checksummer AFAIK
13:56:47 <alpounet> if we switch to sha1 i wouldn't mind, at all...
13:57:14 <donri> i think adler32 might be sufficient, shrug
13:58:06 <stepcut> let's do sha1 I guess
13:58:59 <alpounet> stepcut, where would that hash come from though? the user would specify it when telling that this package is a dependency of the project?
13:59:10 <stepcut> alpounet: yes
13:59:57 <stepcut> the hash is mostly there in case someone uploads a .tar.gz somewhere that doesn't contain a version number.. like, latest.tar.gz
13:59:59 <donri> i guess a downside to adler32 is no CLI tools for it installed by default for most users
14:00:30 <stepcut> donri: right.. though scoutess could provide some
14:00:36 <donri> true
16:46:45 <donri> another problem with digestive-functors, regardless of version: ordering matters, which isn't very type safe when two consequitive fields have the same type
16:47:40 <donri> lenses wouldn't have that problem, if we can figure out how to do it with lenses at all that is
16:52:05 <donri> code like https://github.com/scan/neighr/blob/master/src/Forms.hs seems error prone and cryptic
17:43:35 <stepkut> alpounet: getLatestVersionOf is nice.. but.. it would be even nicer if it was like, latestVersion :: FilePath -> PackageName -> IO PackageIdentifier
17:44:54 <alpounet> FilePath?
17:45:18 <stepkut> need a path to the downloaded (and unpacked?) tar.gz..
17:45:29 <stepkut> so.. here is the specific problem I have
17:45:51 <stepkut> if you look at the current version of scoutess, the Main.hs is setup to build the docs for happstack and co.
17:46:06 <stepkut> and I use simpleParse to parse the version string into a PackageIdentifier
17:46:49 <stepkut> I need a PackageIdentifier, not just a PackageName, because when we unpack the tar.gz, etc, the version number is in the directory name
17:46:56 <stepkut> so the code needs someway to get that version number
17:47:21 <stepkut> by specifying it explicitly in the config file, I get that version number.. but that means I have to update that file everytime I make a new release
17:47:25 <stepkut> and I am lazy..
17:47:33 <stepkut> so then I don't update the haddock docs as often as I should
17:48:11 <stepkut> I would rather be able to specify the PackageName by default, and then only add the version if I want to pin to a specific version
17:48:30 <stepkut> but that means I need a PackageName -> PackageIdentifier function
17:49:18 <stepkut> I don't really want to redownload and unpack the the .tar.gz and delete it a dozen times
17:50:16 <stepkut> FilePath is a bit low-level.. in theory we should have some handle like, lastVersion :: IndexDir -> PackageName -> PackageIdentifier
17:50:34 <stepkut> and the only way to get IndexDir is to call some function that makes sure everything is in some sane state..
17:51:44 <stepkut> no idea if the Cabal library has a way to turn PackageName -> PackageIdentifier based on a .tar.gz
21:30:35 <donri> stepcut: only remaining issue with text port of jmacro is lack of a OneLineMode... should be fixable as well (worst case scenario, just remove all newlines in compact rendering... not sure if that might break something)
21:30:51 <stepcut> neat
21:31:18 <donri> i fixed the broken Show Doc instance and the weird rendering of braces/indentation
21:31:53 <stepcut> spiffy
21:32:06 <stepcut> did you email the jmacro guy?
21:32:17 <donri> nope
21:32:24 <stepcut> :)
21:32:25 <donri> also need to email wl-pprint-text guy
21:32:31 <stepcut> yah
21:33:25 <stepcut> niklas applied my patches to hsx. But hasn't released them on hackage yet. But he started looking at refactoring hsx and hsp
21:33:36 <donri> nice
21:35:56 <donri> stepcut: you don't use cabal-dev right? i'm trying to do without and finding myself needing a lot of --reinstall and --force-reinstall and then when i want to compare my fork to upstream hackage it gets even more interesting
21:36:34 <stepcut> yeah
21:37:33 <donri> but i didn't like having lots of cabal-dev environments laying around and needing to rebuild stuff all the time, either ...