[Bug 2166239] New: Review Request: ghc-fmt - A new formatting library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2166239

            Bug ID: 2166239
           Summary: Review Request: ghc-fmt - A new formatting library
           Product: Fedora
           Version: rawhide
            Status: NEW
         Component: Package Review
          Assignee: nobody@xxxxxxxxxxxxxxxxx
          Reporter: petersen@xxxxxxxxxx
        QA Contact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: package-review@xxxxxxxxxxxxxxxxxxxxxxx
  Target Milestone: ---
    Classification: Fedora



Spec URL: https://petersen.fedorapeople.org/reviews/ghc-fmt/ghc-fmt.spec
SRPM URL:
https://petersen.fedorapeople.org/reviews/ghc-fmt/ghc-fmt-0.6.3.0-1.fc38.src.rpm

Description:
A new formatting library that tries to be simple to understand while still
being powerful and providing more convenience features than other libraries
(like functions for pretty-printing maps and lists, or a function for printing
arbitrary datatypes using generics).

A comparison with other libraries:

* 'printf' (from 'Text.Printf') takes a formatting string and uses some type
tricks to accept the rest of the arguments polyvariadically. It's very concise,
but there are some drawbacks – it can't produce 'Text' (you'd have to 'T.pack'
it every time) and it doesn't warn you at compile-time if you pass wrong
arguments or not enough of them.

* <https://hackage.haskell.org/package/text-format text-format> takes a
formatting string with curly braces denoting places where arguments would be
substituted (the arguments themselves are provided via a tuple). If you want to
apply formatting to some of the arguments, you have to use one of the provided
formatters. Like 'printf', it can fail at runtime, but at least the formatters
are first-class (and you can add new ones).

* <https://hackage.haskell.org/package/formatting formatting> takes a
formatting template consisting of pieces of strings interleaved with
formatters; this ensures that arguments always match their placeholders.
'formatting' provides lots of formatters and generally seems to be the most
popular formatting library here. Unfortunately, at least in my experience
writing new formatters can be awkward and people sometimes have troubles
understanding how 'formatting' works.

* <https://hackage.haskell.org/package/fmt fmt> (i.e. this library) provides
formatters that are ordinary functions, and a bunch of operators for
concatenating formatted strings; those operators also do automatic conversion.
There are some convenience formatters which aren't present in 'formatting'
(like ones for formatting maps, lists, converting to base64, etc).
Some find the operator syntax annoying, while others like it.


Koji scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=96949695


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2166239
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux