packages feed

language-dickinson-0.1.0.0: test/data/higherOrder.rename

Dickinson
  { modImports = []
  , modDefs =
    [ Define
      { declAnn = ()
      , defName = Name
        { name = "top" :| []
        , unique = Unique { unUnique = 6 }
        , loc = ()
        }
      , defExpr = Lambda
        { exprAnn = ()
        , lambdaVar = Name
          { name = "f" :| []
          , unique = Unique { unUnique = 8 }
          , loc = ()
          }
        , lambdaTy = TyFun () ( TyText () ) ( TyText () )
        , lambdaExpr = Apply
          { exprAnn = ()
          , exprFun = Var
            { exprAnn = ()
            , exprVar = Name
              { name = "f" :| []
              , unique = Unique { unUnique = 8 }
              , loc = ()
              }
            }
          , exprArg = Literal
            { exprAnn = ()
            , litText = "me"
            }
          }
        }
      }
    , Define
      { declAnn = ()
      , defName = Name
        { name = "main" :| []
        , unique = Unique { unUnique = 7 }
        , loc = ()
        }
      , defExpr = Let
        { exprAnn = ()
        , letBinds =
          ( Name
            { name = "fun" :| []
            , unique = Unique { unUnique = 9 }
            , loc = ()
            }
          , Lambda
            { exprAnn = ()
            , lambdaVar = Name
              { name = "a" :| []
              , unique = Unique { unUnique = 10 }
              , loc = ()
              }
            , lambdaTy = TyText ()
            , lambdaExpr = Interp
              { exprAnn = ()
              , exprInterp =
                [ StrChunk
                  { exprAnn = ()
                  , chunkText = "It's "
                  }
                , Var
                  { exprAnn = ()
                  , exprVar = Name
                    { name = "a" :| []
                    , unique = Unique { unUnique = 10 }
                    , loc = ()
                    }
                  }
                ]
              }
            }
          ) :| []
        , letExpr = Apply
          { exprAnn = ()
          , exprFun = Var
            { exprAnn = ()
            , exprVar = Name
              { name = "top" :| []
              , unique = Unique { unUnique = 6 }
              , loc = ()
              }
            }
          , exprArg = Var
            { exprAnn = ()
            , exprVar = Name
              { name = "fun" :| []
              , unique = Unique { unUnique = 9 }
              , loc = ()
              }
            }
          }
        }
      }
    ]
  }