{'fraction_non_alphanumeric': 0.02418096723868955, 'fraction_numerical': 0.0031201248049922, 'mean_word_length': 4.727678571428571, 'pattern_counts': {'":': 1, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Relating Two Semantics of Locally Scoped Names

The operational semantics of programming constructs involving locally 
scoped names typically makes use of stateful "dynamic allocation": a 
set of currently-used names forms part of the state and upon entering 
a scope the set is augmented by a new name bound to the scoped 
identifier. More abstractly, one can see this as a transformation of 
local scopes by expanding them outward to an implicit top-level. By 
contrast, in a neglected paper from 1994, Odersky gave a stateless 
lambda calculus with locally scoped names whose dynamics contracts 
scopes inward. The properties of "Odersky-style" local names are quite 
different from dynamically allocated ones and it has not been clear, 
until now, what is the expressive power of Odersky's notion. We show 
that in fact it provides a direct semantics of locally scoped names 
from which the more familiar dynamic allocation semantics can be 
obtained by continuation-passing style (CPS) translation. More 
precisely, we show that there is a CPS translation of typed lambda 
calculus with dynamically allocated names (the Pitts-Stark 
nu-calculus) into Odersky's lambda-nu-calculus which is 
computationally adequate with respect to observational equivalence in 
the two calculi.