casa-reoc-0.1.0.0: casa-reoc.cabal
cabal-version: 2.4
name: casa-reoc
version: 0.1.0.0
license: BSD-3-Clause
license-file: LICENCE
author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>
maintainer: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>
copyright: Copyright (c) 2026 System F Aerial Operations Pty Ltd
synopsis: The documents of a CASA ReOC application, as Haskell data types
category: Aviation
description:
<<https://logo.systemf.com.au/systemf-450x450.png>>
.
The variables of an application to CASA for the initial issue of a
remotely piloted aircraft operator's certificate (ReOC), of its RPAS
operations manual and of its RePL training manual, as data types with
classy optics. A value of @ReOC@ gives a filled CASA Form 101-02 (XFDF), a
complete operations manual and, with RePL training, a RePL training manual
(Flat ODF text).
.
== Data types
.
Every data type is in its own module under @ReOC.Data@, and every name of a
field or constructor in its own module under @ReOC.Name@, following the
classy optics recipe. Values that have an invariant (an ABN, a phone
number, text that is not blank) are primitive types under
@ReOC.Primitive@, built with a prism or a literal checked at compile time.
.
== Documents
.
@ReOC.Render.ApplicationForm@ gives the XFDF of CASA Form 101-02,
@ReOC.Render.OperationsManual@ the operations manual and
@ReOC.Render.TrainingManual@ the RePL training manual. @ReOC.Render.Write@
writes them into a directory. The internal library @examples@ holds the
applications of four made-up operators.
homepage: https://gitlab.com/system-f/code/casa-reoc
build-type: Simple
extra-doc-files: README.md
changelog.md
extra-source-files: etc/casa/rpa-operators-certificate-reoc-initial-issue-variation-renewal-form-101-02.pdf
examples/signatures/banksia-point.png
template/rpas-operations-manual.fodt
template/repl-training-manual.fodt
template/repl-training-manual.md
tested-with: GHC == 9.14.1, GHC == 9.12.4, GHC == 9.10.3, GHC == 9.8.4, GHC == 9.6.7
source-repository head
type: git
location: https://gitlab.com/system-f/code/casa-reoc.git
flag doctest
description: Build the doctest test suite, which runs doctest through cabal. It is enabled in cabal.project, and disabled by default so that builds from the source distribution do not need cabal or doctest at test time.
default: False
manual: True
flag examples
description: Build reoc-examples, which writes the documents of the examples into the examples directory of the repository. It is enabled in cabal.project, and disabled by default so that installing the package does not install it.
default: False
manual: True
library
default-language:
Haskell2010
build-depends:
base >= 4.18 && < 5
, bytestring >= 0.11.5.4 && < 0.13
, directory >= 1.3.8.5 && < 2
, filepath >= 1.4.301.0 && < 1.6
, lens >= 5.2.1 && < 6
, tagged >= 0.8.6 && < 0.9
, template-haskell >= 2.20 && < 2.25
, text >= 2.0.2 && < 2.2
, time >= 1.12.2 && < 2
, validation >= 1.1.3 && < 1.2
ghc-options:
-Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Werror=incomplete-patterns
hs-source-dirs:
src
exposed-modules:
ReOC
ReOC.Aircraft
ReOC.Amendment
ReOC.Data.Address
ReOC.Data.Aircraft
ReOC.Data.ApplicationForm
ReOC.Data.AustralianState
ReOC.Data.BackupInterval
ReOC.Data.CRINominee
ReOC.Data.CRPNominee
ReOC.Data.ChiefExecutive
ReOC.Data.ChiefPilot
ReOC.Data.Company
ReOC.Data.Complexity
ReOC.Data.Consequence
ReOC.Data.ContactPerson
ReOC.Data.CourseType
ReOC.Data.Crewing
ReOC.Data.Declarant
ReOC.Data.Declaration
ReOC.Data.Directorship
ReOC.Data.EmergencyAction
ReOC.Data.Equipment
ReOC.Data.ExamDelivery
ReOC.Data.Field
ReOC.Data.FirstIssue
ReOC.Data.FlightTermination
ReOC.Data.FlightTestExaminer
ReOC.Data.HistoryAnswer
ReOC.Data.InstructorTakeover
ReOC.Data.Invalid
ReOC.Data.InvalidValue
ReOC.Data.KeyPersonnel
ReOC.Data.KeyPosition
ReOC.Data.Likelihood
ReOC.Data.MCNominee
ReOC.Data.Nominee
ReOC.Data.OperatedType
ReOC.Data.OperationalExperience
ReOC.Data.OperationalHeadquarters
ReOC.Data.OperationsManual
ReOC.Data.Operator
ReOC.Data.OtherReOCRoles
ReOC.Data.Person
ReOC.Data.PersonnelHistory
ReOC.Data.Policies
ReOC.Data.PrimaryContact
ReOC.Data.RPACategory
ReOC.Data.RPAType
ReOC.Data.RadioQualification
ReOC.Data.ReOC
ReOC.Data.ReOCError
ReOC.Data.RePLHolding
ReOC.Data.RePLOrigin
ReOC.Data.RegulatoryAction
ReOC.Data.RegulatoryHistory
ReOC.Data.RemotePilots
ReOC.Data.Revision
ReOC.Data.Risk
ReOC.Data.RiskAssessment
ReOC.Data.RiskLevel
ReOC.Data.Step
ReOC.Data.TeachingQualification
ReOC.Data.TheoryDelivery
ReOC.Data.TooMany
ReOC.Data.TrainingArrangements
ReOC.Data.TrainingCourse
ReOC.Data.TrainingMaterial
ReOC.Data.Transponder
ReOC.Data.Unfilled
ReOC.Data.Version
ReOC.Data.VersionChange
ReOC.Data.WrittenSignature
ReOC.Fill
ReOC.Help
ReOC.Input
ReOC.Model
ReOC.Name.Abn
ReOC.Name.ActionDate
ReOC.Name.ActionDetails
ReOC.Name.ActionSteps
ReOC.Name.ActionTaken
ReOC.Name.AdditionalControls
ReOC.Name.AddressPostcode
ReOC.Name.AddressStateOrTerritory
ReOC.Name.AddressStreetAddress
ReOC.Name.AddressSuburb
ReOC.Name.Aeroplane
ReOC.Name.AircraftAssociatedEquipment
ReOC.Name.AircraftSerialNumber
ReOC.Name.Airframes
ReOC.Name.AlcoholHours
ReOC.Name.ApplicantIsPrimaryContact
ReOC.Name.ApplicationForm
ReOC.Name.ApplicationFormDeclaration
ReOC.Name.ApplicationFormOtherDocuments
ReOC.Name.ApplicationFormPersonnelHistory
ReOC.Name.ApplicationFormPrimaryContact
ReOC.Name.ApplicationFormProceduresLibrary
ReOC.Name.ApplicationFormRegulatoryHistory
ReOC.Name.ApplicationFormSignature
ReOC.Name.Arn
ReOC.Name.AssociatedEquipment
ReOC.Name.AtRegisteredOffice
ReOC.Name.AustralianCapitalTerritory
ReOC.Name.AuthorisationAction
ReOC.Name.AutomatedAndManual
ReOC.Name.AutomatedOnly
ReOC.Name.AviationExperience
ReOC.Name.BackupFrequency
ReOC.Name.BatteryReserve
ReOC.Name.BatteryWarnings
ReOC.Name.BeforeFlight
ReOC.Name.BlendedTheory
ReOC.Name.BusinessName
ReOC.Name.Catastrophic
ReOC.Name.Category
ReOC.Name.CheckingMonths
ReOC.Name.ChiefExecutive
ReOC.Name.ChiefExecutiveDirectorStatus
ReOC.Name.ChiefExecutiveManagementExperience
ReOC.Name.ChiefExecutiveNominee
ReOC.Name.ChiefExecutiveOfficer
ReOC.Name.ChiefPilot
ReOC.Name.ChiefPilotCrpNominee
ReOC.Name.ChiefPilotOtherReOCRoles
ReOC.Name.ChiefPilotRadio
ReOC.Name.ChiefPilotRePLOrigin
ReOC.Name.ChiefPilotRpaHistory
ReOC.Name.ChiefRemotePilot
ReOC.Name.ClassroomTheory
ReOC.Name.Company
ReOC.Name.CompanyAbn
ReOC.Name.CompanyArn
ReOC.Name.CompanyBusinessName
ReOC.Name.CompanyCompanyName
ReOC.Name.CompanyEmailAddress
ReOC.Name.CompanyName
ReOC.Name.CompanyOperationalHeadquarters
ReOC.Name.CompanyPhoneNumber
ReOC.Name.CompanyRegisteredOffice
ReOC.Name.Complexities
ReOC.Name.ComputerExamination
ReOC.Name.ContactPersonEmailAddress
ReOC.Name.ContactPersonFullName
ReOC.Name.ContactPersonPhoneNumber
ReOC.Name.ContactPersonPosition
ReOC.Name.CourseKind
ReOC.Name.Crew
ReOC.Name.CriConductsFlightTests
ReOC.Name.CriIsCEO
ReOC.Name.CriIsCRP
ReOC.Name.CriIsMC
ReOC.Name.CriNominated
ReOC.Name.CriNominee
ReOC.Name.CriNomineeCriIsCEO
ReOC.Name.CriNomineeCriIsCRP
ReOC.Name.CriNomineeCriIsMC
ReOC.Name.CriNomineeCriNominated
ReOC.Name.CriOtherReOCRoles
ReOC.Name.CriminalConviction
ReOC.Name.CrpIsCEO
ReOC.Name.CrpIsOnlyRemotePilot
ReOC.Name.CrpNominated
ReOC.Name.CrpNominee
ReOC.Name.CrpNomineeCrpIsCEO
ReOC.Name.CrpNomineeCrpNominated
ReOC.Name.Daily
ReOC.Name.DateEntered
ReOC.Name.DeclarantFullName
ReOC.Name.DeclarantRole
ReOC.Name.Declaration
ReOC.Name.DeclarationDeclaredByAgent
ReOC.Name.DeclarationDeclaredByCEO
ReOC.Name.DeclarationDeclaredByOther
ReOC.Name.DeclarationDeclaredByResponsibleManager
ReOC.Name.DeclaredByAgent
ReOC.Name.DeclaredByCEO
ReOC.Name.DeclaredByOther
ReOC.Name.DeclaredByResponsibleManager
ReOC.Name.Details
ReOC.Name.Director
ReOC.Name.DirectorStatus
ReOC.Name.DualControllerLink
ReOC.Name.DutyHours
ReOC.Name.Effective
ReOC.Name.EmailAddress
ReOC.Name.EmergencyActionActionSteps
ReOC.Name.EmergencyActionResponse
ReOC.Name.EmergencyActionSituation
ReOC.Name.EmergencyActions
ReOC.Name.EquipmentDescription
ReOC.Name.EquipmentEquipmentDescription
ReOC.Name.EquipmentSerialNumber
ReOC.Name.Exam
ReOC.Name.ExamPassMark
ReOC.Name.Examiner
ReOC.Name.ExistingControls
ReOC.Name.ExtremelyImprobable
ReOC.Name.FirstIssue
ReOC.Name.FirstIssueDetails
ReOC.Name.FirstIssueEffective
ReOC.Name.FirstIssueIssueDate
ReOC.Name.FirstIssueParts
ReOC.Name.FirstIssueVersion
ReOC.Name.Fleet
ReOC.Name.FlightCrewLicence
ReOC.Name.FlightTermination
ReOC.Name.FlightTerminationFlightTerminationSystem
ReOC.Name.FlightTerminationNoFlightTerminationSystem
ReOC.Name.FlightTerminationSystem
ReOC.Name.Frequent
ReOC.Name.FullName
ReOC.Name.GivenElements
ReOC.Name.HasOperationalExperience
ReOC.Name.Hazard
ReOC.Name.Hazardous
ReOC.Name.Helicopter
ReOC.Name.High
ReOC.Name.HistoryAnswerHistoryDisclosed
ReOC.Name.HistoryAnswerNoHistory
ReOC.Name.HistoryDisclosed
ReOC.Name.HoldsRePLForEachType
ReOC.Name.Improbable
ReOC.Name.IndependentExaminerWhereAvailable
ReOC.Name.IndependentReviewYears
ReOC.Name.InitialCourse
ReOC.Name.InitialRisk
ReOC.Name.InspectionHours
ReOC.Name.InspectionItems
ReOC.Name.InspectionMonths
ReOC.Name.InvalidABN
ReOC.Name.InvalidARN
ReOC.Name.InvalidEmailAddress
ReOC.Name.InvalidFormText
ReOC.Name.InvalidGrossWeight
ReOC.Name.InvalidPassMark
ReOC.Name.InvalidPercentage
ReOC.Name.InvalidPhoneNumber
ReOC.Name.InvalidPositive
ReOC.Name.InvalidPostcode
ReOC.Name.InvalidReviewMonths
ReOC.Name.InvalidText1
ReOC.Name.IssueDate
ReOC.Name.KeyPersonnel
ReOC.Name.KeyPersonnelChiefExecutive
ReOC.Name.KeyPersonnelChiefPilot
ReOC.Name.KeyPersonnelMcNominee
ReOC.Name.Low
ReOC.Name.MaintenanceController
ReOC.Name.MajorRevision
ReOC.Name.MajorVersion
ReOC.Name.ManagementExperience
ReOC.Name.MaxStudentsPerCourse
ReOC.Name.MaxStudentsPerInstructor
ReOC.Name.MaximumGrossWeight
ReOC.Name.MaybeTrainingMaterial
ReOC.Name.McIsCEO
ReOC.Name.McIsCRP
ReOC.Name.McNominated
ReOC.Name.McNominee
ReOC.Name.McNomineeMcIsCEO
ReOC.Name.McNomineeMcIsCRP
ReOC.Name.McNomineeMcNominated
ReOC.Name.Medium
ReOC.Name.Minor
ReOC.Name.MinorRevision
ReOC.Name.MinorVersion
ReOC.Name.Moderate
ReOC.Name.Monthly
ReOC.Name.MonthsAfter
ReOC.Name.MostElements
ReOC.Name.Multirotor
ReOC.Name.Negligible
ReOC.Name.NewSouthWales
ReOC.Name.NoFlightTerminationSystem
ReOC.Name.NoHistory
ReOC.Name.NoOtherReOCRoles
ReOC.Name.NoRadioQualification
ReOC.Name.NoRegulatoryAction
ReOC.Name.NoTransponder
ReOC.Name.Nominee
ReOC.Name.NomineeAviationExperience
ReOC.Name.NomineeOtherQualifications
ReOC.Name.NomineePerson
ReOC.Name.NorthernTerritory
ReOC.Name.NotADirector
ReOC.Name.Occasional
ReOC.Name.OnlineTheory
ReOC.Name.OperatedTypeAirframes
ReOC.Name.OperatedTypeRpaType
ReOC.Name.OperationalExperience
ReOC.Name.OperationalExperienceHasOperationalExperience
ReOC.Name.OperationalExperienceIntent
ReOC.Name.OperationalExperienceNotApplicable
ReOC.Name.OperationalExperienceOperationalExperienceIntent
ReOC.Name.OperationalExperienceOperationalExperienceNotApplicable
ReOC.Name.OperationalHeadquarters
ReOC.Name.OperationalHeadquartersAddress
ReOC.Name.OperationalHeadquartersAtRegisteredOffice
ReOC.Name.OperationalHeadquartersOperationalHeadquartersAddress
ReOC.Name.OperationsManual
ReOC.Name.OperationsManualCrew
ReOC.Name.OperationsManualFirstIssue
ReOC.Name.OperationsManualPilots
ReOC.Name.OperationsManualPolicies
ReOC.Name.OperationsManualRevisions
ReOC.Name.OperationsManualRiskRegister
ReOC.Name.OperationsManualServices
ReOC.Name.Operator
ReOC.Name.OperatorCompany
ReOC.Name.OperatorFleet
ReOC.Name.OperatorKeyPersonnel
ReOC.Name.OtherDocuments
ReOC.Name.OtherQualifications
ReOC.Name.OtherReOCRoles
ReOC.Name.OtherReOCRolesHeld
ReOC.Name.OtherReOCRolesNoOtherReOCRoles
ReOC.Name.OtherReOCRolesOtherReOCRolesHeld
ReOC.Name.OtherRemotePilots
ReOC.Name.PaperExamination
ReOC.Name.Parts
ReOC.Name.Path
ReOC.Name.Person
ReOC.Name.PersonArn
ReOC.Name.PersonEmailAddress
ReOC.Name.PersonFullName
ReOC.Name.PersonPhoneNumber
ReOC.Name.PersonnelHistory
ReOC.Name.PersonnelHistoryActionTaken
ReOC.Name.PersonnelHistoryCriminalConviction
ReOC.Name.PersonnelHistorySuspensionPending
ReOC.Name.PersonnelHistoryTransportLicenceRefused
ReOC.Name.PhoneNumber
ReOC.Name.Pilots
ReOC.Name.Policies
ReOC.Name.PoliciesAlcoholHours
ReOC.Name.PoliciesBackupFrequency
ReOC.Name.PoliciesBatteryReserve
ReOC.Name.PoliciesCheckingMonths
ReOC.Name.PoliciesDutyHours
ReOC.Name.PoliciesIndependentReviewYears
ReOC.Name.PoliciesInspectionHours
ReOC.Name.PoliciesInspectionMonths
ReOC.Name.PoliciesRecencyDays
ReOC.Name.PoliciesRecencyFlights
ReOC.Name.PoliciesRefresherMonths
ReOC.Name.PoliciesRestHours
ReOC.Name.Position
ReOC.Name.Postcode
ReOC.Name.PoweredLift
ReOC.Name.PplTheory
ReOC.Name.PracticalAreas
ReOC.Name.PrimaryContact
ReOC.Name.PrimaryContactApplicantIsPrimaryContact
ReOC.Name.PrimaryContactPerson
ReOC.Name.PrimaryContactPrimaryContactPerson
ReOC.Name.ProceduresLibrary
ReOC.Name.Queensland
ReOC.Name.Radio
ReOC.Name.RadioOperatorCertificate
ReOC.Name.ReOCApplicationForm
ReOC.Name.ReOCMaybeTrainingMaterial
ReOC.Name.ReOCOperationsManual
ReOC.Name.ReOCOperator
ReOC.Name.RePLHolding
ReOC.Name.RePLHoldingHoldsRePLForEachType
ReOC.Name.RePLHoldingIntent
ReOC.Name.RePLHoldingRePLHoldingIntent
ReOC.Name.RePLOrigin
ReOC.Name.RePLOriginPplTheory
ReOC.Name.RePLOriginRePLTrainingOrganisation
ReOC.Name.RePLTrainingOrganisation
ReOC.Name.RecencyDays
ReOC.Name.RecencyFlights
ReOC.Name.RefresherMonths
ReOC.Name.RegisteredOffice
ReOC.Name.RegulatoryActionActionDate
ReOC.Name.RegulatoryActionActionDetails
ReOC.Name.RegulatoryActionAuthorisationAction
ReOC.Name.RegulatoryActionReocSuspendedOrCancelled
ReOC.Name.RegulatoryActionTaken
ReOC.Name.RegulatoryActionTypeOfAction
ReOC.Name.RegulatoryHistory
ReOC.Name.RegulatoryHistoryNoRegulatoryAction
ReOC.Name.RegulatoryHistoryRegulatoryActionTaken
ReOC.Name.Remote
ReOC.Name.ReocSuspendedOrCancelled
ReOC.Name.ResidualRisk
ReOC.Name.Response
ReOC.Name.RestHours
ReOC.Name.ReviewMonths
ReOC.Name.RevisionDetails
ReOC.Name.RevisionEffective
ReOC.Name.RevisionMonthsAfter
ReOC.Name.RevisionParts
ReOC.Name.RevisionVersionIncrement
ReOC.Name.Revisions
ReOC.Name.RiskAdditionalControls
ReOC.Name.RiskAssessmentRiskConsequence
ReOC.Name.RiskAssessmentRiskLikelihood
ReOC.Name.RiskConsequence
ReOC.Name.RiskDateEntered
ReOC.Name.RiskDescription
ReOC.Name.RiskExistingControls
ReOC.Name.RiskHazard
ReOC.Name.RiskInitialRisk
ReOC.Name.RiskLikelihood
ReOC.Name.RiskOwner
ReOC.Name.RiskRegister
ReOC.Name.RiskResidualRisk
ReOC.Name.RiskReviewMonths
ReOC.Name.RiskRiskDescription
ReOC.Name.RiskRiskOwner
ReOC.Name.Role
ReOC.Name.RpaHistory
ReOC.Name.RpaMake
ReOC.Name.RpaModel
ReOC.Name.RpaType
ReOC.Name.RpaTypeBatteryWarnings
ReOC.Name.RpaTypeBeforeFlight
ReOC.Name.RpaTypeCategory
ReOC.Name.RpaTypeEmergencyActions
ReOC.Name.RpaTypeFlightTermination
ReOC.Name.RpaTypeInspectionItems
ReOC.Name.RpaTypeMaximumGrossWeight
ReOC.Name.RpaTypeRpaMake
ReOC.Name.RpaTypeRpaModel
ReOC.Name.RpaTypeShortName
ReOC.Name.RpaTypeTransponderCarriage
ReOC.Name.RpaTypeUserManual
ReOC.Name.SerialNumber
ReOC.Name.Services
ReOC.Name.SharedController
ReOC.Name.ShortName
ReOC.Name.Signature
ReOC.Name.Simulator
ReOC.Name.Situation
ReOC.Name.SoleDirector
ReOC.Name.SoloAndMultiCrewOperations
ReOC.Name.SoloOperationsOnly
ReOC.Name.SouthAustralia
ReOC.Name.StateOrTerritory
ReOC.Name.StepIndex
ReOC.Name.StreetAddress
ReOC.Name.Suburb
ReOC.Name.SuspensionPending
ReOC.Name.Takeover
ReOC.Name.Tasmania
ReOC.Name.TeachingQualification
ReOC.Name.TeachingQualificationHeld
ReOC.Name.TeachingQualificationIntent
ReOC.Name.TeachingQualificationTeachingQualificationHeld
ReOC.Name.TeachingQualificationTeachingQualificationIntent
ReOC.Name.Theory
ReOC.Name.TheoryVenues
ReOC.Name.TrainingArrangements
ReOC.Name.TrainingArrangementsExam
ReOC.Name.TrainingArrangementsExamPassMark
ReOC.Name.TrainingArrangementsExaminer
ReOC.Name.TrainingArrangementsMaxStudentsPerCourse
ReOC.Name.TrainingArrangementsMaxStudentsPerInstructor
ReOC.Name.TrainingArrangementsPracticalAreas
ReOC.Name.TrainingArrangementsSimulator
ReOC.Name.TrainingArrangementsTakeover
ReOC.Name.TrainingArrangementsTheory
ReOC.Name.TrainingArrangementsTheoryVenues
ReOC.Name.TrainingCourseComplexities
ReOC.Name.TrainingCourseCourseKind
ReOC.Name.TrainingCourseTrainingRPA
ReOC.Name.TrainingCourses
ReOC.Name.TrainingMaterialCriNominee
ReOC.Name.TrainingMaterialCriOtherReOCRoles
ReOC.Name.TrainingMaterialOperationalExperience
ReOC.Name.TrainingMaterialRePLHolding
ReOC.Name.TrainingMaterialTeachingQualification
ReOC.Name.TrainingMaterialTrainingArrangements
ReOC.Name.TrainingMaterialTrainingCourses
ReOC.Name.TrainingRPA
ReOC.Name.TransponderCarriage
ReOC.Name.TransponderFitted
ReOC.Name.TransportLicenceRefused
ReOC.Name.TypeOfAction
ReOC.Name.UpgradeDifferentCategory
ReOC.Name.UpgradeSameCategory
ReOC.Name.UserManual
ReOC.Name.Version
ReOC.Name.VersionIncrement
ReOC.Name.VersionMajorVersion
ReOC.Name.VersionMinorVersion
ReOC.Name.Victoria
ReOC.Name.Weekly
ReOC.Name.WesternAustralia
ReOC.Name.WrittenSignatureFile
ReOC.Name.WrittenSignatureImage
ReOC.Name.WrittenSignatureWrittenSignatureFile
ReOC.Name.WrittenSignatureWrittenSignatureImage
ReOC.Personnel
ReOC.Primitive.ABN
ReOC.Primitive.ARN
ReOC.Primitive.AtMost
ReOC.Primitive.EmailAddress
ReOC.Primitive.FormFont
ReOC.Primitive.FormText
ReOC.Primitive.GrossWeight
ReOC.Primitive.PassMark
ReOC.Primitive.Percentage
ReOC.Primitive.PhoneNumber
ReOC.Primitive.Positive
ReOC.Primitive.Postcode
ReOC.Primitive.ReviewMonths
ReOC.Primitive.Some
ReOC.Primitive.Text1
ReOC.Render.ApplicationForm
ReOC.Render.Base64
ReOC.Render.BlankForm
ReOC.Render.BuildInfo
ReOC.Render.Embed
ReOC.Render.Error
ReOC.Render.Markdown
ReOC.Render.Markdown.Block
ReOC.Render.Odf
ReOC.Render.OperationsManual
ReOC.Render.OperationsManual.Diagram
ReOC.Render.OperationsManual.Holes
ReOC.Render.Template
ReOC.Render.Text
ReOC.Render.TrainingManual
ReOC.Render.TrainingManual.Body
ReOC.Render.TrainingManual.Chunk
ReOC.Render.TrainingManual.Embed
ReOC.Render.TrainingManual.Holes
ReOC.Render.TrainingManual.Markup
ReOC.Render.Write
ReOC.Risk
-- Example applications of made-up operators.
library examples
default-language:
Haskell2010
build-depends:
base >= 4.18 && < 5
, lens >= 5.2.1 && < 6
, casa-reoc
, text >= 2.0.2 && < 2.2
, time >= 1.12.2 && < 2
ghc-options:
-Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Werror=incomplete-patterns
hs-source-dirs:
examples/src
exposed-modules:
ReOC.Example.Aircraft
ReOC.Example.BanksiaPoint
ReOC.Example.Draft
ReOC.Example.Ironbark
ReOC.Example.Policies
ReOC.Example.Risk
ReOC.Example.Saltbush
ReOC.Example.WattleCreek
ReOC.Examples
-- Writes the documents of each example into examples.
executable reoc-examples
if !flag(examples)
buildable: False
main-is:
write-examples.hs
default-language:
Haskell2010
build-depends:
base >= 4.18 && < 5
, examples
, filepath >= 1.4.301.0 && < 1.6
, casa-reoc
, text >= 2.0.2 && < 2.2
ghc-options:
-Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
hs-source-dirs:
examples
test-suite hedgehog
type:
exitcode-stdio-1.0
main-is:
hedgehog_tests.hs
other-modules:
DataGens
FormFields
Laws
OpticsTests
PrimitiveGens
RenderTests
default-language:
Haskell2010
build-depends:
base >= 4.18 && < 5
, containers >= 0.6.7 && < 0.9
, bytestring >= 0.11.5.4 && < 0.13
, directory >= 1.3.8.5 && < 2
, examples
, filepath >= 1.4.301.0 && < 1.6
, hedgehog >= 1.2 && < 2
, lens >= 5.2.1 && < 6
, casa-reoc
, text >= 2.0.2 && < 2.2
, time >= 1.12.2 && < 2
, xml-conduit >= 1.9 && < 1.11
ghc-options:
-Wall
-threaded
-rtsopts
"-with-rtsopts=-N"
hs-source-dirs:
test
test-suite doctest
type:
exitcode-stdio-1.0
if !flag(doctest)
buildable: False
main-is:
doctest_tests.hs
default-language:
Haskell2010
build-depends:
base >= 4.18 && < 5
, process >= 1.6.19.0 && < 2
, casa-reoc
ghc-options:
-Wall
-threaded
hs-source-dirs:
test