<p>With some research, the Haskell libraries for Marlowe seems to be <a href="https://github.com/input-output-hk/marlowe-cardano/tree/main/marlowe/src/Language/Marlowe" rel="nofollow noreferrer">here</a> precisely.</p>

CC BY-SA 4.0
2022-06-30T16:46:54.487Z
2022-06-30T16:46:54.487Z
Gilles Flandrinck
<p><a href="https://github.com/input-output-hk/marlowe-cardano/blob/00c54fcf65ce18f82c580224f82f56b38e84bb68/doc/marlowe/tutorials/using-marlowe.rst" rel="nofollow noreferrer">Here</a> are instructions for accessing Marlowe types and functions from <code>ghci</code>.</p>

CC BY-SA 4.0
2022-07-17T17:50:14.813Z
Thank you very much, Brian, It will be very very helpful. By the way, your lecture on the Cli was really great too!
Gilles Flandrinck
CC BY-SA 4.0
2022-07-12T12:15:58.077Z
2022-07-12T12:15:58.077Z
B W Bush
<p>What you are looking for is the <a href="https://github.com/input-output-hk/marlowe-cardano" rel="nofollow noreferrer">repo</a> where the Marlowe lang is implemented, more specifically the data constructor that you show is defined in the Observation data type:</p>
<pre><code>data Observation = AndObs Observation Observation
                 | OrObs Observation Observation
                 | NotObs Observation
                 | ChoseSomething S.ChoiceId
                 | ValueGE Value Value
                 | ValueGT Value Value
                 | ValueLT Value Value
                 | ValueLE Value Value
                 | ValueEQ Value Value
                 | TrueObs
                 | FalseObs
  deriving stock (Show,Generic)
  deriving anyclass (Pretty)
</code></pre>
<p>Which is found in <a href="https://github.com/input-output-hk/marlowe-cardano/blob/main/marlowe/src/Language/Marlowe/Extended.hs#L87" rel="nofollow noreferrer">Language.Marlowe.Extended</a>. So you can directly refer to the repo where the Haskell libraries are defined.</p>

CC BY-SA 4.0
2022-06-20T21:55:29.553Z
Yes, with your links and some research, the Marlowe libraries seems to be [here](https://github.com/input-output-hk/marlowe-cardano/tree/main/marlowe/src/Language/Marlowe). Thanks Igodlab. I don't know if it's the same version as in the Marlowe Playground, yet.
Gilles Flandrinck
CC BY-SA 4.0
2022-06-21T21:31:24.093Z
You can look at the git rev in your cabal.project file to know what commit snapshot the Marlowe Playground uses. 

Glad it helped! If you upvote and mark my answer as solved it will help other people find it ;)
Igodlab
CC BY-SA 4.0
2022-06-26T16:18:28.650Z
You need at least 15 reputations to cast a vote, So I can't.
Gilles Flandrinck
CC BY-SA 4.0
2022-07-01T15:51:58.623Z
I have upvote your answer, which helped me in part, and put one with a bit more of precision, now that my reputation has grown, Igodlab.
Gilles Flandrinck
CC BY-SA 4.0
2022-06-17T22:59:35.320Z
2022-06-17T22:59:35.320Z
Igodlab
<p>I investigated some Code examples, in haskell for Marlowe smart-contract, and used the &quot;cabal repl&quot; with the &quot; :i &quot; command, like this:</p>
<p>*<em>Main&gt; :i ValueEQ
type Observation :: *
data Observation = ... | ValueEQ Value Value | ...
-- Defined in ‘Language.Marlowe.Extended’</em></p>
<p>But I could not find the target library ‘Language.Marlowe.Extended’.</p>
<p>Is there a place where we can find the Haskell libraries for Marlowe?
There's perhaps also a haddock, like in Plutus, for Marlowe?</p>

<smart-contract><haskell><documentation><marlowe><marlowe-pioneer-program>
Is there a place where we can find the Haskell library for Marlowe?
# Is there a place where we can find the Haskell library for Marlowe?

(Asked by: username_0 on 2022-06-14)

I investigated some Code examples, in haskell for Marlowe smart-contract, and used the "cabal repl" with the " :i " command, like this:

\**Main> :i ValueEQ
type Observation :: \*
data Observation = ... | ValueEQ Value Value | ...
-- Defined in ‘Language.Marlowe.Extended’*

But I could not find the target library ‘Language.Marlowe.Extended’.

Is there a place where we can find the Haskell libraries for Marlowe?
There's perhaps also a haddock, like in Plutus, for Marlowe?

**Tags:** smart-contract, haskell, documentation, marlowe, marlowe-pioneer-program

---

## 3 answers

### Answer by username_0 on 2022-06-30. Score: 2

With some research, the Haskell libraries for Marlowe seems to be [here](https://github.com/input-output-hk/marlowe-cardano/tree/main/marlowe/src/Language/Marlowe) precisely.


---

### Answer by username_1 on 2022-07-12. Score: 2

[Here](https://github.com/input-output-hk/marlowe-cardano/blob/00c54fcf65ce18f82c580224f82f56b38e84bb68/doc/marlowe/tutorials/using-marlowe.rst) are instructions for accessing Marlowe types and functions from `ghci`.

> **Comments:**
> **username_0**: Thank you very much, Brian, It will be very very helpful. By the way, your lecture on the Cli was really great too!  

---

### Answer by username_2 on 2022-06-17. Score: 1

What you are looking for is the repo where the Marlowe lang is implemented, more specifically the data constructor that you show is defined in the Observation data type:
data Observation = AndObs Observation Observation
                 | OrObs Observation Observation
                 | NotObs Observation
                 | ChoseSomething S.ChoiceId
                 | ValueGE Value Value
                 | ValueGT Value Value
                 | ValueLT Value Value
                 | ValueLE Value Value
                 | ValueEQ Value Value
                 | TrueObs
                 | FalseObs
  deriving stock (Show,Generic)
  deriving anyclass (Pretty)

Which is found in Language.Marlowe.Extended. So you can directly refer to the repo where the Haskell libraries are defined.

> **Comments:**
> **username_0**: Yes, with your links and some research, the Marlowe libraries seems to be [here](https://github.com/input-output-hk/marlowe-cardano/tree/main/marlowe/src/Language/Marlowe). Thanks Igodlab. I don't know if it's the same version as in the Marlowe Playground, yet.  
> **username_2**: You can look at the git rev in your cabal.project file to know what commit snapshot the Marlowe Playground uses.   Glad it helped! If you upvote and mark my answer as solved it will help other people find it ;)  
> **username_0**: You need at least 15 reputations to cast a vote, So I can't.  
> **username_0**: I have upvote your answer, which helped me in part, and put one with a bit more of precision, now that my reputation has grown, Igodlab.  

---

