Comments (7)
@diasbruno I propose to have just options --stacked
and --timeline
with the --stacked
being the default (I think timeline
is a better name than interval
now that I think about it). I don't anticipate adding a variety of styles to the tools so having a shorter CLI would be my preference here.
My idea is two have two separate modules under the DrCabal.Profile.*
namespace: *.Stacked
and *.Timeline
. So the DrCabal.Profile
just pattern matches on the values of the Style
data type and calls corresponding functions.
I don't expect lots of code sharing between calculations and visualisation of these two different methods. Reading a JSON file and grouping a Map
by libraries looks like the only things that can be reused. But if I were implementing this, I would write a new implementation from scratch completely and only after that see if I can refactor anything. Trying to reduce duplication may actually result in less readable and more confusing code so let's not do this prematurely 👍🏻
from dr-cabal.
Sounds great. I'll move things to the Stacked module first and the argument from cli (with default).
from dr-cabal.
In this case, are you thinking of grouping each package, start to finish in each row, or display each step of each package separate in order of execution?
from dr-cabal.
@diasbruno I'm thinking about grouping each package. So almost like the existing implementation but with blank spaces (probably using the space character) between phases where there's no progress on each phase.
from dr-cabal.
Nice. What argument should we use for this '--format' or '--style'?
from dr-cabal.
Like
dr-cabal profile --style {stacked|interval}
from dr-cabal.
I'll refactor/extract to a module what is implemented now, so it would help to add other styles.
from dr-cabal.
Related Issues (20)
- Add 'Haddock' phase HOT 1
- Support GHC 9.0.2
- Add 'Parallelism level' to profile summary
- Prepare release 0.1.0.0
- How to share result with a friend HOT 4
- Track modules compilation time as well
- Measure transitive closure of dependencies
- Compute critical path HOT 1
- Suggest cabal --store-dir HOT 1
- Interactive mode HOT 4
- Suggest cabal --dependencies-only and interactive mode HOT 1
- Refactor and simplify CLI
- Issue backlog placeholder
- The suggested command to remove the cabal cache removes other stuff too HOT 3
- Can `dr-cabal` read from stdin? HOT 2
- Use 'Iris'
- Do not advise `rm -rf ~/.cabal`
- Add community guidelines
- Write README
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dr-cabal.