Apr 02, 3-4 PM (35)
Apr 02, 4-5 PM (19)
Apr 02, 5-6 PM (7)
Apr 02, 6-7 PM (22)
Apr 02, 7-8 PM (6)
Apr 02, 8-9 PM (9)
Apr 02, 9-10 PM (0)
Apr 02, 10-11 PM (0)
Apr 02, 11-12 AM (1)
Apr 03, 12-1 AM (6)
Apr 03, 1-2 AM (0)
Apr 03, 2-3 AM (4)
Apr 03, 3-4 AM (1)
Apr 03, 4-5 AM (9)
Apr 03, 5-6 AM (13)
Apr 03, 6-7 AM (22)
Apr 03, 7-8 AM (28)
Apr 03, 8-9 AM (36)
Apr 03, 9-10 AM (41)
Apr 03, 10-11 AM (54)
Apr 03, 11-12 PM (25)
Apr 03, 12-1 PM (33)
Apr 03, 1-2 PM (31)
Apr 03, 2-3 PM (32)
Apr 03, 3-4 PM (11)
Apr 03, 4-5 PM (19)
Apr 03, 5-6 PM (9)
Apr 03, 6-7 PM (4)
Apr 03, 7-8 PM (3)
Apr 03, 8-9 PM (9)
Apr 03, 9-10 PM (6)
Apr 03, 10-11 PM (4)
Apr 03, 11-12 AM (3)
Apr 04, 12-1 AM (3)
Apr 04, 1-2 AM (0)
Apr 04, 2-3 AM (2)
Apr 04, 3-4 AM (0)
Apr 04, 4-5 AM (0)
Apr 04, 5-6 AM (0)
Apr 04, 6-7 AM (0)
Apr 04, 7-8 AM (6)
Apr 04, 8-9 AM (8)
Apr 04, 9-10 AM (11)
Apr 04, 10-11 AM (5)
Apr 04, 11-12 PM (3)
Apr 04, 12-1 PM (1)
Apr 04, 1-2 PM (1)
Apr 04, 2-3 PM (1)
Apr 04, 3-4 PM (1)
Apr 04, 4-5 PM (0)
Apr 04, 5-6 PM (0)
Apr 04, 6-7 PM (0)
Apr 04, 7-8 PM (0)
Apr 04, 8-9 PM (0)
Apr 04, 9-10 PM (1)
Apr 04, 10-11 PM (2)
Apr 04, 11-12 AM (0)
Apr 05, 12-1 AM (3)
Apr 05, 1-2 AM (1)
Apr 05, 2-3 AM (1)
Apr 05, 3-4 AM (0)
Apr 05, 4-5 AM (0)
Apr 05, 5-6 AM (0)
Apr 05, 6-7 AM (2)
Apr 05, 7-8 AM (0)
Apr 05, 8-9 AM (1)
Apr 05, 9-10 AM (0)
Apr 05, 10-11 AM (12)
Apr 05, 11-12 PM (3)
Apr 05, 12-1 PM (0)
Apr 05, 1-2 PM (2)
Apr 05, 2-3 PM (2)
Apr 05, 3-4 PM (17)
Apr 05, 4-5 PM (8)
Apr 05, 5-6 PM (13)
Apr 05, 6-7 PM (1)
Apr 05, 7-8 PM (5)
Apr 05, 8-9 PM (1)
Apr 05, 9-10 PM (0)
Apr 05, 10-11 PM (5)
Apr 05, 11-12 AM (2)
Apr 06, 12-1 AM (4)
Apr 06, 1-2 AM (4)
Apr 06, 2-3 AM (1)
Apr 06, 3-4 AM (11)
Apr 06, 4-5 AM (8)
Apr 06, 5-6 AM (8)
Apr 06, 6-7 AM (18)
Apr 06, 7-8 AM (84)
Apr 06, 8-9 AM (39)
Apr 06, 9-10 AM (39)
Apr 06, 10-11 AM (20)
Apr 06, 11-12 PM (22)
Apr 06, 12-1 PM (20)
Apr 06, 1-2 PM (25)
Apr 06, 2-3 PM (45)
Apr 06, 3-4 PM (20)
Apr 06, 4-5 PM (20)
Apr 06, 5-6 PM (13)
Apr 06, 6-7 PM (2)
Apr 06, 7-8 PM (1)
Apr 06, 8-9 PM (7)
Apr 06, 9-10 PM (5)
Apr 06, 10-11 PM (1)
Apr 06, 11-12 AM (5)
Apr 07, 12-1 AM (4)
Apr 07, 1-2 AM (6)
Apr 07, 2-3 AM (10)
Apr 07, 3-4 AM (18)
Apr 07, 4-5 AM (6)
Apr 07, 5-6 AM (17)
Apr 07, 6-7 AM (30)
Apr 07, 7-8 AM (40)
Apr 07, 8-9 AM (29)
Apr 07, 9-10 AM (32)
Apr 07, 10-11 AM (47)
Apr 07, 11-12 PM (19)
Apr 07, 12-1 PM (24)
Apr 07, 1-2 PM (23)
Apr 07, 2-3 PM (54)
Apr 07, 3-4 PM (23)
Apr 07, 4-5 PM (37)
Apr 07, 5-6 PM (13)
Apr 07, 6-7 PM (25)
Apr 07, 7-8 PM (14)
Apr 07, 8-9 PM (2)
Apr 07, 9-10 PM (3)
Apr 07, 10-11 PM (2)
Apr 07, 11-12 AM (2)
Apr 08, 12-1 AM (10)
Apr 08, 1-2 AM (0)
Apr 08, 2-3 AM (10)
Apr 08, 3-4 AM (9)
Apr 08, 4-5 AM (5)
Apr 08, 5-6 AM (11)
Apr 08, 6-7 AM (15)
Apr 08, 7-8 AM (15)
Apr 08, 8-9 AM (20)
Apr 08, 9-10 AM (28)
Apr 08, 10-11 AM (11)
Apr 08, 11-12 PM (17)
Apr 08, 12-1 PM (36)
Apr 08, 1-2 PM (23)
Apr 08, 2-3 PM (28)
Apr 08, 3-4 PM (70)
Apr 08, 4-5 PM (23)
Apr 08, 5-6 PM (9)
Apr 08, 6-7 PM (3)
Apr 08, 7-8 PM (9)
Apr 08, 8-9 PM (8)
Apr 08, 9-10 PM (28)
Apr 08, 10-11 PM (11)
Apr 08, 11-12 AM (10)
Apr 09, 12-1 AM (21)
Apr 09, 1-2 AM (11)
Apr 09, 2-3 AM (9)
Apr 09, 3-4 AM (16)
Apr 09, 4-5 AM (8)
Apr 09, 5-6 AM (9)
Apr 09, 6-7 AM (26)
Apr 09, 7-8 AM (24)
Apr 09, 8-9 AM (27)
Apr 09, 9-10 AM (47)
Apr 09, 10-11 AM (15)
Apr 09, 11-12 PM (27)
Apr 09, 12-1 PM (28)
Apr 09, 1-2 PM (43)
Apr 09, 2-3 PM (35)
Apr 09, 3-4 PM (11)
2,281 commits this week Apr 02, 2020 - Apr 09, 2020

add command-line interface for using the DSL

  $ cardano-tx --help
  Usage: cardano-tx COMMAND
    cardano-tx

  Available options:
    -h,--help                Show this help text

  Available commands:
    empty
    add-input                Add a new input to the transaction.
    add-output               Add a new output to the transaction.
    lock                     Lock the transaction and start signing inputs.
    sign-with                Add a signature.
    serialize                Serialize the signed transaction to binary.

Force thunk in bufferedTxs’ binding in acknowledgeTxIdsInMempool

Apparently, the Semigroup operation for Map is union, which is actually not implemented in such a way that values of the resulting Map are forced to WHNF.

An odd thing that I noticed is that the union function that is exposed from the Data.Map.Strict module is the same as that exposed from the Data.Map.Lazy module. Internally, this function uses lazy inserts and therefore provides no guarantee that the values of the resulting Map will be in WHNF. It seems misleading to me that this function would be exposed from Data.Map.Strict without providing that guarantee which is promised by the module (see its documentation).