Giter VIP home page Giter VIP logo

taskell-2.0's Introduction

I'm going to be taking a break from development of Taskell for a while. Trying to do it alongside my day job was proving a bit much. Feel free to continue to submit issues, but I won't be able to work on any of them immediately. Pull requests also welcome. Thanks for understanding 🙂

Taskell 2.0

A complete rewrite of taskell focussing on application architecture and performance.

I wrote the original version of taskell when I was first learning Haskell. As a result I made many bad decisions that would be hard to re-engineer in place.

I'm taking a data first approach: creating the relevant data structures and parsers, then moving onto IO, and finally getting the UI in place once all of that is benchmarked and tested.

Improvements

  • More tests: many more tests than the original version. Taking a largely TDD approach.
  • Benchmarking: most functionality is benchmarked
  • Better data structure: the original data structure was just a three level sequence. This makes things like adding tags/contributors/related tasks difficult to do efficiently.
  • Serialisation: using a Builder for much faster ByteString generation

Benchmarking

Setup

Install direnv and criterion-cmp:

brew install direnv
cabal install criterion-cmp

In the project directory:

direnv allow

Adds all scripts in .bin/ to your $PATH (in this working directory only).

Running

All benchmarks:

bench

A specific group:

bench-group <group-name>

taskell-2.0's People

Contributors

smallhadroncollider avatar

Stargazers

nakayama900 avatar Mateusz Koteja avatar Blesson thomas avatar  avatar Luca Zecca avatar grepsuzette avatar  avatar hayley avatar Ali Ahmed avatar 嘉英少年 avatar Vehbi Sinan Tunalioglu avatar Andrejs Agejevs avatar Martin Janiczek avatar Ander Raso Vázquez avatar Evan Relf avatar Julian Ospald avatar

Watchers

 avatar James Cloos avatar  avatar

Forkers

erenkarayigit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.