Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 730 Bytes

README.md

File metadata and controls

43 lines (30 loc) · 730 Bytes

purescript-record-format

Record formatting from type-level format strings, based on Justin Woo's idea.

This library uses the 0.12 version of the compiler.

Example

format
  (SProxy :: SProxy "Hi {name}! Your favourite number is {number}")
  {name : "Bill", number : 16}

produces the string

"Hi Bill! Your favourite number is 16"

A missing field results in a type-error:

format
  (SProxy "Hi {name}! Your favourite number is {number}")
  {name : "Bill"}
  Could not match type

    ( number :: t2
    | t3
    )

  with type

    ( name :: String
    )

The only requirement is that all the types in the record have Show instances.