什么是 hs 文件?为什么使用“.hsfiles”扩展名而不是常规的“.hs”?

What are hsfiles? Why use a ".hsfiles" extension instead of a regular ".hs"?

正在阅读Yesod's source code, I've encountered files with a ".hsfiles" extension. Example: mongo.hsfiles。它们是什么,为什么创建它们以及为什么使用它们?

可以看到here相关代码:

backendBS :: Backend -> S.ByteString
backendBS Sqlite = $(embedFile "hsfiles/sqlite.hsfiles")
backendBS Postgresql = $(embedFile "hsfiles/postgres.hsfiles")
backendBS PostgresqlFay = $(embedFile "hsfiles/postgres-fay.hsfiles")
backendBS Mysql = $(embedFile "hsfiles/mysql.hsfiles")
backendBS MongoDB = $(embedFile "hsfiles/mongo.hsfiles")
backendBS Simple = $(embedFile "hsfiles/simple.hsfiles")
backendBS Minimal = $(embedFile "hsfiles/minimal.hsfiles")

因此,它在他们的脚手架站点中用于生成默认值。