mbutterick / brag

Racket DSL for generating parsers from BNF grammars [moved to https://git.matthewbutterick.com/mbutterick/brag]
https://git.matthewbutterick.com/mbutterick/brag
MIT License
61 stars 12 forks source link

depends on racket-doc #17

Closed clacke closed 5 years ago

clacke commented 5 years ago

It would be nice to split brag into brag-lib and brag-doc, see stchang/graph#35 for motivation.

I am willing to create the PR.

mbutterick commented 5 years ago

Though apparently it’s a little trickier than it looks?

clacke commented 5 years ago

Is supporting Racket 5 important for brag?

mbutterick commented 5 years ago

No, but making my life easy is definitely a design goal of brag. I have not followed this package-splitting practice for any of my other packages because it makes more work for me, and it has not presented any practical problems for users of my software. If I’m missing something, I invite correction. Otherwise I will table this issue as falling beneath the cost–benefit threshold.

clacke commented 5 years ago

For most users it won't make a difference, but for Nix packaging, basing everything on racket-minimal and making the transitive dependency set as small as possible makes life much easier -- we're talking build time differences on the scale of half an hour when everything is newly bumped and no dependencies have been cached yet.

How about I make the PR providing the split, and you can look at it and see how high the maintenance burden looks? If you don't like it, I'll use plan B and synthesize a brag-lib in racket2nix instead.

mbutterick commented 5 years ago

OK, this is done, but could you please test it to make sure it works the way you expect.

clacke commented 5 years ago

Cool, thanks! Will have a look.

clacke commented 5 years ago

It's excellent. Thank you!