fortran-src v0.12.0 Release Notes

Release Date: 2022-10-19 // over 1 year ago
    • clean up F77 include inlining (#245, @RaoulHC)
      • directly export F77 include parser at f77lIncludesNoTransform
      • f77lIncIncludes :: String -> ByteString -> IO [Block A0] should now be defined by the user e.g. \fn bs -> throwIOLeft $ f77lIncludesNoTransform fn bs
    • Language.Fortran.Analysis.SemanticTypes: alter SemType constructor TArray to support assumed-size (e.g. integer arr(*)) arrays (#244)
    • Language.Fortran.Rewriter: fix inline comment padding (#242, @RaoulHC)

Previous changes from v0.11.0

    • add strong Fortran value & type representation at Language.Fortran.Repr (currently unused) (#235, @raehik)
      • operations are accurate to actual Fortran compiler behaviour e.g. integers are stored fixed-width based on kind, so overflow behaviour is free
      • can recover a value's precise type (e.g. INTEGER(8), including kind) via pattern matching
    • bump minimum compiler version to GHC 9.0
    • improved comment handling in fixed form lexer: parse more comment syntax, case sensitive, parse beyond column 72 (#237, @RaoulHC)
    • allow ExpDataRef constructor in varName (fixes a crash in type analysis #238)
    • add Annotated, Spanned instances for intermediate AST data type ArgumentExpression
    • export statement-level "pre-prepared" parsers (previously, you would have to define the parser yourself using parser utils and the Happy parser export)
    • export Language.Fortran.Parser.byVerFromFilename :: Parser (ProgramFile A0), a replacement for the removed Language.Fortran.Parser.Any.fortranParser