<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>

    <TargetFramework>net7.0</TargetFramework>
    <RollForward>Major</RollForward>

    <LangVersion>latest</LangVersion>

    <Optimize>true</Optimize>
    <Tailcalls>true</Tailcalls>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="src/Utils.fs"/>

    <Compile Include="src/Control/Monad/TC.fs"/>

    <Compile Include="src/Language/Pseudocode/Syntax.fs"/>
    <Compile Include="src/Language/Pseudocode/Parser.fs"/>
    <Compile Include="src/Language/Pseudocode/TypeChecking.fs"/>
    <Compile Include="src/Language/Pseudocode/IR.fs"/>
    <Compile Include="src/Language/Pseudocode/Lowering.fs"/>
    <Compile Include="src/Language/Pseudocode/Codegen.fs"/>

    <Compile Include="src/Main.fs"/>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="FParsec" Version="1.1.1"/>
  </ItemGroup>
</Project>
