Turnitin
降AI改写
早检测系统
早降重系统
Turnitin-UK版
万方检测-期刊版
维普编辑部版
Grammarly检测
Paperpass检测
checkpass检测
PaperYY检测
A survey of metaprogramming languages
Metaprogramming is the process of writing computer programs that treat programs as data,
enabling them to analyze or transform existing programs or generate new ones. While the …
enabling them to analyze or transform existing programs or generate new ones. While the …
Staging with class: a specification for typed template Haskell
Multi-stage programming using typed code quotation is an established technique for writing
optimizing code generators with strong type-safety guarantees. Unfortunately, quotation in …
optimizing code generators with strong type-safety guarantees. Unfortunately, quotation in …
Type systems as macros
We present Turnstile, a metalanguage for creating typed embedded languages. To
implement the type system, programmers write type checking rules resembling traditional …
implement the type system, programmers write type checking rules resembling traditional …
An ML-style module system for cross-stage type abstraction in multi-stage programming
T Suwa, A Igarashi - International Symposium on Functional and Logic …, 2024 - Springer
We propose MetaFM, a novel ML-style module system that enables users to decompose
multi-stage programs (ie, programs written in a typed multi-stage programming language) …
multi-stage programs (ie, programs written in a typed multi-stage programming language) …
Quoted staged rewriting: a practical approach to library-defined optimizations
Staging has proved a successful technique for programmatically removing code
abstractions, thereby allowing for faster program execution while retaining a high-level …
abstractions, thereby allowing for faster program execution while retaining a high-level …
Partially-static data as free extension of algebras
Partially-static data structures are a well-known technique for improving binding times.
However, they are often defined in an ad-hoc manner, without a unifying framework to …
However, they are often defined in an ad-hoc manner, without a unifying framework to …
Module generation without regret
Y Sato, Y Kameyama, T Watanabe - Proceedings of the 2020 ACM …, 2020 - dl.acm.org
Modules are an indispensable mechanism for providing abstraction to programming
languages. To reduce the abstraction overhead in the usage of modules, Watanabe et al …
languages. To reduce the abstraction overhead in the usage of modules, Watanabe et al …
Tierless web programming in the large
G Radanne, J Vouillon - Companion Proceedings of the The Web …, 2018 - dl.acm.org
Tierless Web programming languages allow combining client-side and server-side
programming in a single program. This allows defining expressions with both client and …
programming in a single program. This allows defining expressions with both client and …
Staging generic programming
J Yallop - Proceedings of the 2016 ACM SIGPLAN Workshop on …, 2016 - dl.acm.org
Generic programming libraries such as Scrap Your Boilerplate eliminate the need to write
repetitive code, but typically introduce significant performance overheads. This leaves …
repetitive code, but typically introduce significant performance overheads. This leaves …
Tierless Web programming in ML
G Radanne - 2017 - hal.science
Eliom is a dialect of OCaml for Web programming in which server and client pieces of code
can be mixed in the same file using syntactic annotations. This allows to build a whole …
can be mixed in the same file using syntactic annotations. This allows to build a whole …