首页 > 最新文献

Proceedings of the 2009 ACM SIGPLAN workshop on ML最新文献

英文 中文
Session details: Implementation 会话细节:实现
Pub Date : 2009-08-30 DOI: 10.1145/3261176
N. Ramsey
{"title":"Session details: Implementation","authors":"N. Ramsey","doi":"10.1145/3261176","DOIUrl":"https://doi.org/10.1145/3261176","url":null,"abstract":"","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"221 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122493713","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Direct implementation of shift and reset in the MinCaml compiler 在MinCaml编译器中直接实现shift和reset
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596636
Moe Masuko, K. Asai
Although delimited control operators are becoming one of the useful tools to manipulate flow of programs, their direct and compiled implementation in a low-level language has not been proposed so far. The only direct and low-level implementations available are Gasbichler and Sperber's implementation in the Scheme 48 virtual machine and Kiselyov's implementation in the OCaml bytecode. Even though these implementations do provide insight into how stack frames are composed, they are not directly portable to compiled implementation in assembly language. This paper presents a direct implementation of delimited control operators shift and reset in the MinCaml compiler. It shows all the details of how composable continuations can be implemented in the PowerPC microprocessor using a stack discipline. We also show an implementation that copies stack frames lazily. To our knowledge, this is the first implementation of shift/reset in assembly language. It makes clear at the assembly language level what we have informally described so far, such as "copying and composing stack frames" and "inserting a reset mark when captured continuations are called". We demonstrate various benchmarks to show the performance of our implementation and discuss its pros and cons.
虽然分隔控制操作符正在成为操纵程序流的有用工具之一,但迄今为止还没有提出用低级语言直接编译实现它们的方法。唯一可用的直接和低级实现是Gasbichler和Sperber在Scheme 48虚拟机中的实现和Kiselyov在OCaml字节码中的实现。尽管这些实现确实提供了对堆栈框架如何组成的洞察,但它们不能直接移植到汇编语言的编译实现中。本文给出了在MinCaml编译器中直接实现带分隔符的控制操作符shift和reset。它展示了如何使用堆栈规程在PowerPC微处理器中实现可组合延续的所有细节。我们还展示了一个延迟复制堆栈帧的实现。据我们所知,这是汇编语言中移位/重置的第一个实现。它在汇编语言级别明确了我们到目前为止非正式描述的内容,例如“复制和组合堆栈帧”和“在调用捕获的延续时插入重置标记”。我们演示了各种基准测试,以显示实现的性能,并讨论其优缺点。
{"title":"Direct implementation of shift and reset in the MinCaml compiler","authors":"Moe Masuko, K. Asai","doi":"10.1145/1596627.1596636","DOIUrl":"https://doi.org/10.1145/1596627.1596636","url":null,"abstract":"Although delimited control operators are becoming one of the useful tools to manipulate flow of programs, their direct and compiled implementation in a low-level language has not been proposed so far. The only direct and low-level implementations available are Gasbichler and Sperber's implementation in the Scheme 48 virtual machine and Kiselyov's implementation in the OCaml bytecode. Even though these implementations do provide insight into how stack frames are composed, they are not directly portable to compiled implementation in assembly language. This paper presents a direct implementation of delimited control operators shift and reset in the MinCaml compiler. It shows all the details of how composable continuations can be implemented in the PowerPC microprocessor using a stack discipline. We also show an implementation that copies stack frames lazily. To our knowledge, this is the first implementation of shift/reset in assembly language. It makes clear at the assembly language level what we have informally described so far, such as \"copying and composing stack frames\" and \"inserting a reset mark when captured continuations are called\". We demonstrate various benchmarks to show the performance of our implementation and discuss its pros and cons.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124486202","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 11
Who: a verifier for effectful higher-order programs 谁:有效的高阶程序的验证者
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596634
Johannes Kanig, J. Filliâtre
We present Who, a tool for verifying effectful higher-order functions. It features Effect polymorphism, higher-order logic and the possibility to reason about state in the logic, which enable highly modular specifications of generic code. Several small examples and a larger case study demonstrate its usefulness. The Who tool is intended to be used as an intermediate language for verification tools targeting ML-like programming languages.
我们提出Who,一个验证有效的高阶函数的工具。它具有效应多态性、高阶逻辑和逻辑中状态推理的可能性,使通用代码具有高度模块化的规格。几个小示例和一个较大的案例研究证明了它的有用性。Who工具的目的是作为一种中间语言,用于针对类ml编程语言的验证工具。
{"title":"Who: a verifier for effectful higher-order programs","authors":"Johannes Kanig, J. Filliâtre","doi":"10.1145/1596627.1596634","DOIUrl":"https://doi.org/10.1145/1596627.1596634","url":null,"abstract":"We present Who, a tool for verifying effectful higher-order functions. It features Effect polymorphism, higher-order logic and the possibility to reason about state in the logic, which enable highly modular specifications of generic code. Several small examples and a larger case study demonstrate its usefulness. The Who tool is intended to be used as an intermediate language for verification tools targeting ML-like programming languages.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126022567","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Session details: Type systems 会话详细信息:类型系统
Pub Date : 2009-08-30 DOI: 10.1145/3261174
David B. MacQueen
{"title":"Session details: Type systems","authors":"David B. MacQueen","doi":"10.1145/3261174","DOIUrl":"https://doi.org/10.1145/3261174","url":null,"abstract":"","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128479799","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fast and sound random generation for automated testing and benchmarking in objective Caml 快速和健全的随机生成自动化测试和基准在目标Caml
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596637
Benjamin Canou, Alexis Darrasse
Numerous software testing methods involve random generation of data structures. However, random sampling methods currently in use by testing frameworks are not satisfactory: often manually written by the programmer or at best extracted in an ad-hoc way relying on no theoretical background. On the other end, random sampling methods with good theoretical properties exist but have a too high cost to be used in testing, in particular when large inputs are needed. In this paper we describe how we applied the recently developed Boltzmann model of random generation to algebraic data types. We obtain a fully automatic way to derive random generators from Objective Caml type definitions. These generators have linear complexity and, the generation method being uniform, can also be used as a sound sampling back-end for benchmarking tools. As a result, we provide testing and benchmarking frameworks with a sound and fast generation basis. We also provide a testing and benchmarking library, available for download, showing the viability of this experiment.
许多软件测试方法涉及随机生成数据结构。然而,测试框架目前使用的随机抽样方法并不令人满意:通常是由程序员手工编写的,或者充其量是在没有理论背景的情况下以一种特别的方式提取出来的。另一方面,存在具有良好理论性质的随机抽样方法,但在测试中使用成本太高,特别是在需要大输入的情况下。在本文中,我们描述了我们如何将最近发展的随机生成玻尔兹曼模型应用于代数数据类型。我们从objectcaml类型定义中获得了一种完全自动的方法来派生随机生成器。这些生成器具有线性复杂性,并且生成方法是统一的,也可以用作基准测试工具的声音采样后端。因此,我们提供了具有健全和快速生成基础的测试和基准测试框架。我们还提供了一个可供下载的测试和基准库,显示了该实验的可行性。
{"title":"Fast and sound random generation for automated testing and benchmarking in objective Caml","authors":"Benjamin Canou, Alexis Darrasse","doi":"10.1145/1596627.1596637","DOIUrl":"https://doi.org/10.1145/1596627.1596637","url":null,"abstract":"Numerous software testing methods involve random generation of data structures. However, random sampling methods currently in use by testing frameworks are not satisfactory: often manually written by the programmer or at best extracted in an ad-hoc way relying on no theoretical background. On the other end, random sampling methods with good theoretical properties exist but have a too high cost to be used in testing, in particular when large inputs are needed. In this paper we describe how we applied the recently developed Boltzmann model of random generation to algebraic data types. We obtain a fully automatic way to derive random generators from Objective Caml type definitions. These generators have linear complexity and, the generation method being uniform, can also be used as a sound sampling back-end for benchmarking tools. As a result, we provide testing and benchmarking frameworks with a sound and fast generation basis. We also provide a testing and benchmarking library, available for download, showing the viability of this experiment.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127179876","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Correctly translating concurrency primitives 正确翻译并发原语
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596633
Jan Schwinghammer, David Sabel, M. Schmidt-Schauß, Joachim Niehren
Motivated by the question of correctness of a specific implementation of concurrent buffers in the lambda calculus with futures underlying Alice ML, we prove that concurrent buffers and handled futures can correctly encode each other. Our translations map waiting on handled futures to queuing of concurrent buffers and vice versa. Correctness of translations means that they preserve and reflect the observations of may- and must-convergence. As a consequence of compositionality, they are also adequate with respect to a contextually defined notion of observational program semantics. We demonstrate that our approach to the correctness of implementations applies uniformly to the whole compilation process from high-level to low-level concurrent languages.
基于Alice ML的期货λ演算中并发缓冲区的特定实现的正确性问题,我们证明并发缓冲区和处理的期货可以正确地相互编码。我们的翻译将等待处理的未来映射为并发缓冲区的排队,反之亦然。翻译的正确性意味着它们保留和反映了可能和必须趋同的观察结果。作为组合性的结果,它们对于观察程序语义的上下文定义概念也是足够的。我们证明了我们的实现正确性方法统一适用于从高级到低级并发语言的整个编译过程。
{"title":"Correctly translating concurrency primitives","authors":"Jan Schwinghammer, David Sabel, M. Schmidt-Schauß, Joachim Niehren","doi":"10.1145/1596627.1596633","DOIUrl":"https://doi.org/10.1145/1596627.1596633","url":null,"abstract":"Motivated by the question of correctness of a specific implementation of concurrent buffers in the lambda calculus with futures underlying Alice ML, we prove that concurrent buffers and handled futures can correctly encode each other. Our translations map waiting on handled futures to queuing of concurrent buffers and vice versa. Correctness of translations means that they preserve and reflect the observations of may- and must-convergence. As a consequence of compositionality, they are also adequate with respect to a contextually defined notion of observational program semantics. We demonstrate that our approach to the correctness of implementations applies uniformly to the whole compilation process from high-level to low-level concurrent languages.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125040246","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Session details: Reasoning and verification 会话细节:推理和验证
Pub Date : 2009-08-30 DOI: 10.1145/3261175
Andrew D. Gordon
{"title":"Session details: Reasoning and verification","authors":"Andrew D. Gordon","doi":"10.1145/3261175","DOIUrl":"https://doi.org/10.1145/3261175","url":null,"abstract":"","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126004177","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Greedy bidirectional polymorphism 贪心双向多态
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596631
Jana Dunfield
Bidirectional typechecking has become popular in advanced type systems because it works in many situations where inference is undecidable. In this paper, I show how to cleanly handle parametric polymorphism in a bidirectional setting. The key contribution is a bidirectional type system for a subset of ML that supports first-class (higher-rank and even impredicative) polymorphism, and is complete for predicative polymorphism (including ML-style polymorphism and higher-rank polymorphism). The system's power comes from bidirectionality combined with a "greedy" method of finding polymorphic instances inspired by Cardelli's early work on System F:. This work demonstrates that bidirectionality is a good foundation for traditionally vexing features like first-class polymorphism.
双向类型检查在高级类型系统中非常流行,因为它可以在许多推断不可确定的情况下工作。在本文中,我将展示如何在双向设置中清晰地处理参数多态性。它的关键贡献是为ML子集提供了一个双向类型系统,该系统支持一级(高阶甚至是不可预测的)多态性,并且完全支持谓词多态性(包括ML风格的多态性和高阶多态性)。这个系统的力量来自于双向性和一种“贪婪”的寻找多态实例的方法,这种方法的灵感来自于Cardelli早期关于系统F的工作。这项工作表明,双向性是传统上令人烦恼的特性(如一等多态)的良好基础。
{"title":"Greedy bidirectional polymorphism","authors":"Jana Dunfield","doi":"10.1145/1596627.1596631","DOIUrl":"https://doi.org/10.1145/1596627.1596631","url":null,"abstract":"Bidirectional typechecking has become popular in advanced type systems because it works in many situations where inference is undecidable. In this paper, I show how to cleanly handle parametric polymorphism in a bidirectional setting. The key contribution is a bidirectional type system for a subset of ML that supports first-class (higher-rank and even impredicative) polymorphism, and is complete for predicative polymorphism (including ML-style polymorphism and higher-rank polymorphism). The system's power comes from bidirectionality combined with a \"greedy\" method of finding polymorphic instances inspired by Cardelli's early work on System F:. This work demonstrates that bidirectionality is a good foundation for traditionally vexing features like first-class polymorphism.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126355642","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
QML: explicit first-class polymorphism for ML QML: ML的显式一等多态性
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596630
Claudio V. Russo, Dimitrios Vytiniotis
Recent years have seen a revival of interest in extending ML's predicative type inference system with impredicative quantification in the style of System F, for which type inference is undecidable. This paper suggests a modest extension of ML with System F types: the heart of the idea is to extend the language of types with unary universal and existential quantifiers. The introduction and elimination of a quantified type is never inferred but indicated explicitly by the programmer by supplying the quantified type itself. Quantified types co-exist with ordinary ML schemes, which are in turn implicitly introduced and eliminated at let-bindings and use sites, respectively. The resulting language, QML, does not impose any restriction on instantiating quantified variables with quantified types; neither let- nor λ-bound variables ever require a type annotation, even if the variable's inferred scheme or type involves quantified types. This proposal, albeit more verbose in terms of annotations than others, is simple to specify, implement, understand, and formalize.
近年来,人们对扩展机器学习的谓语类型推理系统的兴趣重新燃起,该系统使用系统F风格的谓语量化,其类型推理是不可确定的。本文建议用系统F类型对ML进行适度扩展:其核心思想是用一元全称量词和存在量词扩展类型语言。量化类型的引入和消除从来不是推断的,而是由程序员通过提供量化类型本身显式地指示的。量化类型与普通ML方案共存,后者分别在let-binding和use位点隐式地引入和消除。由此产生的语言QML没有对使用量化类型实例化量化变量施加任何限制;let- bound和λ-bound变量都不需要类型注释,即使变量的推断模式或类型涉及量化类型。这个建议虽然在注释方面比其他建议更冗长,但很容易指定、实现、理解和形式化。
{"title":"QML: explicit first-class polymorphism for ML","authors":"Claudio V. Russo, Dimitrios Vytiniotis","doi":"10.1145/1596627.1596630","DOIUrl":"https://doi.org/10.1145/1596627.1596630","url":null,"abstract":"Recent years have seen a revival of interest in extending ML's predicative type inference system with impredicative quantification in the style of System F, for which type inference is undecidable. This paper suggests a modest extension of ML with System F types: the heart of the idea is to extend the language of types with unary universal and existential quantifiers. The introduction and elimination of a quantified type is never inferred but indicated explicitly by the programmer by supplying the quantified type itself. Quantified types co-exist with ordinary ML schemes, which are in turn implicitly introduced and eliminated at let-bindings and use sites, respectively. The resulting language, QML, does not impose any restriction on instantiating quantified variables with quantified types; neither let- nor λ-bound variables ever require a type annotation, even if the variable's inferred scheme or type involves quantified types. This proposal, albeit more verbose in terms of annotations than others, is simple to specify, implement, understand, and formalize.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124961271","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
A cryptographic protocol compiler for multiparty sessions 用于多方会话的加密协议编译器
Pub Date : 2009-08-30 DOI: 10.1145/1596627.1596628
C. Fournet
We present the design and implementation of a verifying compiler that, given high-level multiparty session descriptions, generates custom cryptographic protocols. Our sessions specify pre-arranged patterns of message exchanges and data accesses between distributed participants. They provide each participant with strong, abstract security guarantees for all their messages. Our compiler generates ML code for sending and receiving these messages, with cryptographic operations and checks, in order to enforce these guarantees against any adversary that may control both the network and some session participants. We verify that the generated code is secure by relying on a recent refinement type system for cryptography. Most of the proof is performed by mechanized typechecking and does not rely on the correctness of our compiler. We obtain the strongest session security guarantees to date in a model that captures the executable details of protocol code. We illustrate and evaluate our approach on a series of protocols inspired by web services.
我们提出了一个验证编译器的设计和实现,该编译器根据高级多方会话描述生成自定义加密协议。我们的会话指定了分布式参与者之间消息交换和数据访问的预先安排模式。它们为每个参与者的所有消息提供强大、抽象的安全保证。我们的编译器生成用于发送和接收这些消息的ML代码,以及加密操作和检查,以便对可能控制网络和一些会话参与者的任何对手实施这些保证。我们通过依赖于最近的加密细化类型系统来验证生成的代码是安全的。大多数证明是由机械化的类型检查完成的,并不依赖于编译器的正确性。我们在捕获协议代码的可执行细节的模型中获得了迄今为止最强的会话安全保证。我们用一系列受web服务启发的协议来说明和评估我们的方法。
{"title":"A cryptographic protocol compiler for multiparty sessions","authors":"C. Fournet","doi":"10.1145/1596627.1596628","DOIUrl":"https://doi.org/10.1145/1596627.1596628","url":null,"abstract":"We present the design and implementation of a verifying compiler that, given high-level multiparty session descriptions, generates custom cryptographic protocols. Our sessions specify pre-arranged patterns of message exchanges and data accesses between distributed participants. They provide each participant with strong, abstract security guarantees for all their messages. Our compiler generates ML code for sending and receiving these messages, with cryptographic operations and checks, in order to enforce these guarantees against any adversary that may control both the network and some session participants. We verify that the generated code is secure by relying on a recent refinement type system for cryptography. Most of the proof is performed by mechanized typechecking and does not rely on the correctness of our compiler. We obtain the strongest session security guarantees to date in a model that captures the executable details of protocol code. We illustrate and evaluate our approach on a series of protocols inspired by web services.","PeriodicalId":218033,"journal":{"name":"Proceedings of the 2009 ACM SIGPLAN workshop on ML","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114751100","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Proceedings of the 2009 ACM SIGPLAN workshop on ML
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1