On Tue, Mar 31, 2015 at 3:33 PM, Ludovic Courtès wrote: > I think it’s a matter of separating concerns. In my mind there are > three distinct layers: > > 1. Cabal parsing (what I call ‘read-cabal’, because it’s the > equivalent of ‘read’); > > 2. Cabal evaluation/instantiation for a certain set of flags, OS, > etc. (what I call ‘eval-cabal’ because it’s the equivalent of > ‘eval’); > > 3. Conversion of Cabal packages of Guix package sexps. > > My concern was about making sure these three phases were clearly visible > in the code. Tu put it differently, #1 and #2 would conceptually be > part of a Cabal parsing/evaluation library, while #3 would be the only > Guix-specific part. Please find attached a patch reorganizing the code as you suggest. Regards, Fede