Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将它们之间的类型和纯函数(使用类似ML或Haskell的语言)编译为SQL_Sql_Functional Programming_Ml - Fatal编程技术网

将它们之间的类型和纯函数(使用类似ML或Haskell的语言)编译为SQL

将它们之间的类型和纯函数(使用类似ML或Haskell的语言)编译为SQL,sql,functional-programming,ml,Sql,Functional Programming,Ml,有时我们需要存储二叉树或林或其他代数类型的数据项集。也许可以通过某种方式做到这一点。同时也可以仅使用SQL对该数据执行一些转换(例如,重新平衡二叉树) 我感兴趣的是如何在它们之间声明类型和纯函数(使用类似ML或Haskell的语言),并将它们编译成SQL;我希望,它将允许我为标准算法(如hedge_union)重用代码。它存在吗?可能是,这个编译器已经实现了(但我不能用谷歌搜索它),或者Coq中的库已经存在,它可以用SQL或其他方式提取代码。例如,请参阅最近关于从嵌入式函数语言生成SQL的研究工

有时我们需要存储二叉树或林或其他代数类型的数据项集。也许可以通过某种方式做到这一点。同时也可以仅使用SQL对该数据执行一些转换(例如,重新平衡二叉树)


我感兴趣的是如何在它们之间声明类型和纯函数(使用类似ML或Haskell的语言),并将它们编译成SQL;我希望,它将允许我为标准算法(如hedge_union)重用代码。它存在吗?可能是,这个编译器已经实现了(但我不能用谷歌搜索它),或者Coq中的库已经存在,它可以用SQL或其他方式提取代码。

例如,请参阅最近关于从嵌入式函数语言生成SQL的研究工作,例如-基本类型化的语言集成查询


另请参见:和。

0\o…SQL不是编译语言。@JackManey我想编译成SQL——事实上,使用高级宏。我不知道这是什么意思,因为没有SQL编译字节码。@JackManey字节码在哪里?我想要一个简单的工具:将用代数数据类型和模式匹配的DSL编写的源代码转换为SQL(即,它返回SQL代码,一个包含SQL的字符串)。您可以这样做,但这在很大程度上取决于您使用的数据库。你在使用什么数据库?