packages feed

tala-compiler-0.1.0: tala-compiler.cabal

cabal-version: 3.12
-- SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com>
-- SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-1.1
name: tala-compiler
version: 0.1.0
synopsis: Target-independent Tala compiler driver
description:
    The target-independent driver of the Tala compiler: it runs the
    frontend and Core over a program and produces verified CorePrep.
    .
    This is an implementation package of the Tala compiler. Its modules may
    change in any release; tools should depend on tala-tooling instead.
    .
    The source is also offered under the Progmasoft Linking Exception 1.1
    (LICENSE-EXCEPTION), an additional permission to MPL-2.0 for works that
    combine this package with independent code.
license: MPL-2.0
license-files:
    LICENSE
    LICENSE-EXCEPTION
author: Progmasoft
maintainer: support@progmasoft.com
homepage: https://tala.run/
bug-reports: https://github.com/Progmasoft/tala/issues
category: Language, Compiler
tested-with: GHC ==9.10.3
build-type: Simple

library
    exposed-modules:
        Progmasoft.Tala.Compiler
        Progmasoft.Tala.Driver.Command
        Progmasoft.Tala.Diagnostic.SideChannel
        Progmasoft.Tala.Pipeline.Stage
    reexported-modules:
        tala-syntax:Progmasoft.Tala.AST,
        tala-syntax:Progmasoft.Tala.CharacterLiteral,
        tala-syntax:Progmasoft.Tala.Diagnostic,
        tala-syntax:Progmasoft.Tala.Diagnostic.Protocol,
        tala-syntax:Progmasoft.Tala.FloatingLiteral,
        tala-syntax:Progmasoft.Tala.Lexer,
        tala-syntax:Progmasoft.Tala.NestingLimits,
        tala-syntax:Progmasoft.Tala.NumericLiteral,
        tala-syntax:Progmasoft.Tala.Parser,
        tala-syntax:Progmasoft.Tala.RuntimeCall,
        tala-syntax:Progmasoft.Tala.SourceText,
        tala-syntax:Progmasoft.Tala.SourceWarnings,
        tala-frontend:Progmasoft.Tala.Frontend,
        tala-frontend:Progmasoft.Tala.NumericSemantics,
        tala-frontend:Progmasoft.Tala.BuiltinTypes,
        tala-frontend:Progmasoft.Tala.ConstantEvaluation,
        tala-frontend:Progmasoft.Tala.Closure.Analysis,
        tala-frontend:Progmasoft.Tala.Resolver.NameResolution,
        tala-frontend:Progmasoft.Tala.Resolver.Renamer,
        tala-frontend:Progmasoft.Tala.SourceSet,
        tala-frontend:Progmasoft.Tala.TemplateValue,
        tala-frontend:Progmasoft.Tala.Template.Application,
        tala-frontend:Progmasoft.Tala.Template.Discovery,
        tala-frontend:Progmasoft.Tala.Template.Freshen,
        tala-frontend:Progmasoft.Tala.Template.Instantiation,
        tala-frontend:Progmasoft.Tala.Template.Mangling,
        tala-frontend:Progmasoft.Tala.Template.MemberReachability,
        tala-frontend:Progmasoft.Tala.Template.Specialization,
        tala-frontend:Progmasoft.Tala.Template.Specialization.Verifier,
        tala-frontend:Progmasoft.Tala.Template.Verifier,
        tala-frontend:Progmasoft.Tala.TypeClassification,
        tala-frontend:Progmasoft.Tala.TypeChecker,
        tala-core:Progmasoft.Tala.Core,
        tala-core:Progmasoft.Tala.Core.Artifact,
        tala-core:Progmasoft.Tala.Core.CorePrep,
        tala-core:Progmasoft.Tala.Core.CorePrep.Verifier,
        tala-core:Progmasoft.Tala.Core.CorePrep.Wire,
        tala-core:Progmasoft.Tala.Core.CorePrep.Wire.Decode,
        tala-core:Progmasoft.Tala.Core.CorePrep.Wire.Encode,
        tala-core:Progmasoft.Tala.Core.CorePrep.Wire.Format,
        tala-core:Progmasoft.Tala.Core.Monomorphization,
        tala-core:Progmasoft.Tala.Core.Optimizer,
        tala-core:Progmasoft.Tala.Core.Optimizer.IntegerFacts,
        tala-core:Progmasoft.Tala.Core.Scalar,
        tala-core:Progmasoft.Tala.Core.Specialization,
        tala-core:Progmasoft.Tala.Core.Symbols,
        tala-core:Progmasoft.Tala.Core.Template,
        tala-core:Progmasoft.Tala.Core.Verifier,
        tala-core:Progmasoft.Tala.Core.Wire,
        tala-core:Progmasoft.Tala.Desugarer
    hs-source-dirs: src
    build-depends:
        base >=4.20 && <4.23,
        bytestring >=0.12 && <0.14,
        text >=2.1 && <2.3,
        tala-core >=0.1.0 && <0.2,
        tala-frontend >=0.1.0 && <0.2,
        tala-syntax >=0.1.0 && <0.2
    default-language: GHC2024

test-suite tala-compiler-tests
    type: exitcode-stdio-1.0
    main-is: Main.hs
    other-modules:
        ClosureTests
        CoreInliningTests
        CoreLinearInliningTests
        CoreOptimizerTests
        CoreOptimizerSourceTests
        CoreVerifierTests
        CompileTimeParityTests
        EnumTests
        FloatingOptimizerTests
        IntegerEvaluationTests
        InferredReturnTests
        IntegerFlowTests
        AssignmentExpressionTests
        ConditionalExpressionTests
        CoreInterpreter
        IterationTests
        BranchingDiagnosticTests
        BranchingEvaluationCases
        BranchingOracleTests
        BranchingTests
        LazyEvaluationTests
        ConsoleTests
        EffectTests
        QualifiedNameTests
        FormatSweepTests
        FallThroughTests
        RuntimeCallTests
        RuntimeText
        MemoizeTests
        LoopExpressionTests
        LoopFlowTests
        LoopFlowOracleTests
        DiagnosticProtocolTests
        DiagnosticSideChannelTests
        NumericTests
        PatternTests
        MonomorphizationTests
        NestingLimitTests
        ParserContractTests
        ScalarWireTests
        ShortCircuitTests
        SpecializationTests
        SourceSetTests
        SourceTextTests
        SourceWarningTests
        StaticMemberCoreTests
        StaticMemberOverloadTests
        StaticMemberParserTests
        StaticMemberProjectTests
        StaticMemberSemanticTests
        TemplateTests
        TemplateApplicationTests
        TemplateDeclarationTests
        TemplateDiscoveryTests
        TemplateInstantiationTests
        TemplateManglingTests
        TemplateMemberReachabilityTests
        TemplatePlanVerifierTests
        TemplateSpecializationPlannerTests
        TemplateVerifierTests
        TypeClassificationTests
        VoidTests
    hs-source-dirs: test
    build-depends:
        base >=4.20 && <4.23,
        bytestring >=0.12 && <0.14,
        containers >=0.7 && <0.9,
        directory >=1.3 && <1.4,
        filepath >=1.5 && <1.6,
        tala-frontend >=0.1.0 && <0.2,
        tala-compiler >=0.1.0 && <0.2
    default-language: GHC2024

source-repository head
    type: git
    location: https://github.com/Progmasoft/tala
    subdir: Talac/Haskell/Driver