user6323: I was wondering about syntax I am not used to in the off-chain code.
What does @ mean in the following context?
logInfo @String $ printf "made a gift"
What does .\/ mean in the following context?
type GiftSchema = Endpoint "give" Integer .\/ Endpoint "grab" ()
I guess that it has to do to the multiple GHC extensions invoked in Plutus code but I do not have the time to understand each and everyone of them.

user6292: @String is from TypeApplications. logInfo has type logInfo :: forall a effs. Member (LogMsg a) effs => a -> Eff effs (), so logInfo @String fixes a to be String. (That this is needed here is because of another extension OverloadedStrings, so "made a gift" is not necessarily of type String)
.\/ is not from an extension, but an operator defined by the row-types library.

6323: <p>I was wondering about syntax I am not used to in the off-chain code.</p>
<p>What does <code>@</code> mean in the following context?
<code>logInfo @String $ printf &quot;made a gift&quot;</code></p>
<p>What does <code>.\/</code> mean in the following context?
<code>type GiftSchema = Endpoint &quot;give&quot; Integer .\/ Endpoint &quot;grab&quot; ()</code></p>
<p>I guess that it has to do to the multiple GHC extensions invoked in Plutus code but I do not have the time to understand each and everyone of them.</p>
 6292: <p><code>@String</code> is from <code>TypeApplications</code>. <code>logInfo</code> has type <code>logInfo :: forall a effs. Member (LogMsg a) effs =&gt; a -&gt; Eff effs ()</code>, so <code>logInfo @String</code> fixes <code>a</code> to be <code>String</code>. (That this is needed here is because of another extension <code>OverloadedStrings</code>, so <code>&quot;made a gift&quot;</code> is not necessarily of type <code>String</code>)</p>
<p><code>.\/</code> is not from an extension, but <a href="https://hackage.haskell.org/package/row-types-1.0.1.2/docs/Data-Row.html#t:.-92--47-" rel="nofollow noreferrer">an operator defined by the <code>row-types</code> library</a>.</p>
