Where are Haskell bindings used?

… or have been used in the past?

I’m referring specifically to these ledger-api bindings:

I can see by searching through the daml source code that they’re imported in the assistant:

./libs-haskell/test-utils/DA/Test/Sandbox.hs:import qualified DA.Ledger as L
./daml-assistant/daml-helper/test/DA/Daml/Helper/Test/Ledger.hs:import DA.Ledger.Services.PartyManagementService (PartyDetails(..))
./daml-assistant/daml-helper/test/DA/Daml/Helper/Test/Ledger.hs:import DA.Ledger.Types (Party(..))
./daml-assistant/daml-helper/src/DA/Daml/Helper/Main.hs:import DA.Ledger.Types (ApplicationId(..))
./daml-assistant/daml-helper/src/DA/Daml/Helper/Ledger.hs:import qualified DA.Ledger as L
./daml-assistant/daml-helper/src/DA/Daml/Helper/Ledger.hs:import DA.Ledger.Types (ApplicationId(..))
./daml-assistant/daml-helper/src/DA/Daml/Helper/Ledger.hs:import DA.Ledger.Services.MeteringReportService(MeteringRequestByDay(..))

Did they have a more prominent role in the past? Are they used outside the main repo?

In the very distant past there was an intention to make them official, public bindings and publish them to hackage, but they’ve been internal-only-we’ll-delete-them-soon for the better part of about four years I’d say.

@Bas_van_Gijzel or @Remy are probably best placed to speak on their current status.

1 Like

The Haskell bindings are used by the Daml assistant. But with Daml 3.0, we won’t port that functionality to the modified Ledger API, hence we plan on deleting them.

For avoidance of confusion, you mean you won’t port the 3.0 changes to the Haskell bindings (“Ledger API”)?

The Haskell Bindings?

Will Daml assistant (or whatever replaces it) be re-written then using a different language?