Profile

Cover photo
Gregory Collins
675 followers|45,556 views
AboutPostsPhotosVideos

Stream

Gregory Collins

Shared publicly  - 
 
Tuesday afternoon nostalgia break! +Steve Kado 
1
Gregory Collins's profile photoSteve Kado's profile photo
2 comments
 
+Steve Kado the kids get me every time
Add a comment...

Gregory Collins
moderator

Discussion  - 
 
People,

There has been a lot of debate over the Hackage package versioning policy lately. My plea to you: please follow the policy and put upper bounds on your version dependencies.

Some (typically those who maintain a lot of packages) advocate removing the upper bound from package version dependencies since it means you don't have to upgrade your package's dependencies if a new version of package foo comes out.

My contention has always been that this is a recipe for "code rot" -- old code that ought to still build without problems breaks because you depend on package "foo", which depends on "bar >= 0.2",  and the "bar" api changes between 0.3 and 0.4.  The linked github issue is an example of this.

I appreciate that package authors have a lot of work to do and that bumping package bounds on 100 packages gets tedious when a new version of bytestring comes out, but this is shifting the maintenance burden from you to all of your users in perpetuity. In order to keep this program building, I either have to commit to running on the Hackage treadmill and making sure all code I've ever written continues to build with the latest versions of all of the crap on hackage, or lock down upper bounds on all of the packages in the transitive closure of the bad package's dependency graph.

For libraries on Hackage this is probably OK because it's expected of a package author to keep current. This program, however, is application code and there is no excuse for it not to be buildable in this particular case. If upstream had followed the PVP then I wouldn't have to spend the 30 minutes or whatever it's going to take to fix this.
19
1
brad clawsie's profile photoEdward Kmett's profile photoBryan O'Sullivan's profile photoDarren Grant's profile photo
6 comments
 
I'm back from traveling, so I should be able to update all of my packages to support the latest version of text, which I presume is the issue.
Add a comment...
 
After a long weekend of hacking at #ZuriHac 2013 (incl. some very helpful pair-programming alongside +Simon Meier), the in-progress development version of the new Snap webserver is about as fast as Warp (within +/- 2%).

I don't think we'll be caught up for long, however. Warp could use a couple of my dirty tricks to pull ahead again -- after all, I borrowed one or two of theirs!

I know +Kazu Yamamoto is as obsessive about this stuff as I am. Hey Kazu, email me if you're interested :)
33
3
Christopher Biscardi's profile photoJim Stuttard's profile photoPhilip Thrift's profile photoMichael Snoyman's profile photo
2 comments
 
+Michael Snoyman agreed, it's nice that the dark magic can stay behind API boundaries in lower-level libraries -- bytestring, containers, hashtables, warp/snap, etc have lots of it :). 
Add a comment...

Gregory Collins

Shared publicly  - 
 
Great job. Are those your drums, or is that a rental? They're beautiful.
1
Add a comment...

Gregory Collins

Shared publicly  - 
 
Just released version 1.1.0.0 of io-streams -- the internals of the library have been cleaned up and simplified, and we got rid of a couple of types that weren't necessary. Thanks to +Gabriel Gonzalez for suggesting the change.
10
Gregory Collins's profile photoMikhail Glushenkov's profile photo
3 comments
 
+Mikhail Glushenkov I've considered it, yes, but decided that for now it's better to have a single package then contributing to library proliferation. Most of the io-streams dependencies are either things that are already in the Haskell platform or things that will be in the Haskell platform by this time next year.
Add a comment...
In his circles
559 people
Have him in circles
675 people
Alexis McLaren's profile photo
Satnam Singh's profile photo
Kevin Jardine's profile photo
 
Major milestone on the road to Snap 1.0: we now have 100% test coverage for io-streams, snap-core, and snap-server.

In the process of getting to 100%, I found quite a few small bugs in dusty corners of what was already a very well-tested codebase, and many opportunities to simplify or remove branches when I found that a certain function was difficult to cover completely. The old adage is still true: if it isn't covered, it isn't tested!

My intention is to throw down the gauntlet to people running other projects: yes, you should be building a test coverage report as part of your continuous integration runs (and you are running a buildbot, right? Now that https://travis-ci.org/ is around you have no excuse), and yes, the number on this report should be 100% or as close to it as possible.

#haskell   #snapframework  
31
1
Neil Mitchell's profile photoGregory Collins's profile photoMartin Geisler's profile photoAndy Gill's profile photo
9 comments
 
The problem is that sometimes you might want a tick box for the () in return (). Not often, but turning off ticks for () would be a special case. Perhaps a student can pick this up, and try things, and document what they can find?
Add a comment...

Gregory Collins

Shared publicly  - 
 
+Steve Kado will love this.
 
h/t to my brother +Jeremy Altheide for pointing me at this

Megachurch are a heavy rock band from Ohio who employ two bass players and eschew vocals in favor of televangelist samples.
1
Add a comment...

Gregory Collins

Shared publicly  - 
 
Watching my 64-year-old father trying to use Windows 8 (which I hadn't seen up until now) is making me seriously consider opening a long-term short on MSFT.
3
Tobias Klausmann's profile photoConrad Parker's profile photoKevin Jardine's profile photoJohn Lato's profile photo
9 comments
 
Wait until you guys get to 65.....Just saying.
Add a comment...
 
Just discovered that C-x - (shrink-window-if-larger-than-buffer) will resize a window to no bigger than it needs to be to display its contents.
3
Add a comment...

Gregory Collins

Shared publicly  - 
 
Hey +Régis FOUCAULT - your service doesn't support Haskell, so an ad for it posted to our community is pure spam to us. I'm sure Google will use the spam report I just sent as some kind of a signal. Practice smarter "evangelism" please, at least for your own sake.
3
Add a comment...
People
In his circles
559 people
Have him in circles
675 people
Alexis McLaren's profile photo
Satnam Singh's profile photo
Kevin Jardine's profile photo
Basic Information
Gender
Male