Arcanist "lite" Haskell reimplementation (was: Proposal: accept pull requests on GitHub)

Herbert Valerio Riedel hvr at
Sun Sep 6 14:06:00 UTC 2015

On 2015-09-03 at 11:53:40 +0200, Thomas Miedema wrote:


> In my opinion it's is a waste of our time trying to improve `arc` (it is
> 34000 lines of PHP btw + another 70000 LOC for libphutil), when `pull
> requests` are an obvious alternative that most of the Haskell community
> already uses.


I went ahead wasting some time and hacked up `arc-lite` for fun:

It's currently at 407 Haskell SLOCs according to sloccount(1), and
emulates the `arc` CLI as a drop-in replacement. As a proof-of-concept
I've implemented the 3 simple operations

 - `arc install-certificate`
 - `arc list`
 - `arc call-conduit`

If we wasted even more time, this could result in

 - Simplify installation of Arcanist for GHC contributors via Hacked
   (i.e. just `cabal install arc-lite`)
 - Implement a simple `arc diff`-like operation for submitting patches
   to Phabricator
 - Implement convenience operations tailored to GHC development
 - Teach arc-lite to behave more Git-idomatic
 - Make `arc-lite` automatically manage multi-commit code-reviews by
   splitting them up and submit them as multiple inter-dependendant code-revisions
 - ...

Any comments?


--8<---------------cut here---------------start------------->8---
arc-list - Arcanist "lite" (CLI tool for Phabricator)

Usage: arc-lite [--verbose] [--conduit-token TOKEN] [--conduit-uri URI] COMMAND

Available options:
  -h,--help                Show this help text
  --verbose                Whether to be verbose
  --conduit-token TOKEN    Ignore configured credentials and use an explicit API
                           token instead
  --conduit-uri URI        Ignore configured Conduit URI and use an explicit one

Available commands:
  list                     List your open Differential revisions
  call-conduit             Perform raw Conduit method call
  install-certificate      Installs Conduit credentials into your ~/.arcrc for
                           the given install of Phabricator
--8<---------------cut here---------------end--------------->8---

More information about the ghc-devs mailing list