title: Compute concrete in PGF
body: <p>I have these two files that run perfectly fine within GF shell</p>
  <h3>My GF code</h3>
  <p><strong>Test.gf</strong></p>
  <pre class="lang-hs prettyprint-override"><code>abstract Test = {
      cat
          Sentence; Noun;
      fun
          MySentence : Noun -&gt; Sentence;
  }
  </code></pre>
  <p><strong>TestEng.gf</strong></p>
  <pre class="lang-hs prettyprint-override"><code>concrete TestEng of Test = open SyntaxEng, ParadigmsEng, DictEng in {
      lincat
          Sentence = NP;
          Noun = N;
      lin
          MySentence noun = mkNP (aSg_Det) (noun);
  }
  </code></pre>
  <p>The way I run them in GF shell is as follow:</p>
  <pre><code>&gt; i -retain TestEng.gf
  &gt; cc -one MySentence dog_N
  a dog
  </code></pre>
  <p>Which gives the expected result.</p>
  <h3>My PGF code</h3>
  <p>Then I used Linux command to translate this file into `.pgf' format using the command</p>
  <pre><code>&gt; gf -make --output-format=haskell TestEng.gf
  linking ... OK
  Writing Test.pgf...
  Writing Test.hs...
  </code></pre>
  <p>which output these two files <code>Test.hs</code> and <code>Test.pgf</code></p>
  <h1>Question</h1>
  <h3>My Python code</h3>
  <p><strong>test.py</strong></p>
  <pre class="lang-py prettyprint-override"><code>import pgf
  
  
  gr = pgf.readPGF(&quot;Test.pgf&quot;)
  e = pgf.readExpr(&quot;MySentence dog_N&quot;)
  
  print(gr.languages.keys())          #To check all languages
  eng = gr.languages[&quot;TestEng&quot;]
  print(eng.linearize(e))
  </code></pre>
  <p>When I run the above code I get the following output:</p>
  <pre><code>&gt; python3 test.py
  dict_keys(['TestEng'])
  a [dog_N]
  </code></pre>
  <p>Why python output <code>a [dog_N]</code> and not <code>a dog</code>?</p>