Filters








2 Hits in 3.0 sec

ROTOR: A Tool for Renaming Values in OCaml's Module System

Reuben N.S. Rowe, Hugo Feree, Simon J. Thompson, Scott Owens
2019 2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)  
We present ROTOR, a tool for automatically renaming toplevel value definitions in OCaml's module system.  ...  To compute the effect of renaming, ROTOR relies on a novel concept which we call a value extension. This is a collection of related declarations in a program that must all be renamed at once.  ...  In particular, we implement automatic renaming of module-level value bindings. OCaml has a rich and expressive module system, which makes renaming a particularly complex task.  ... 
doi:10.1109/iwor.2019.00013 dblp:conf/icse/RoweFTO19 fatcat:savvenz775c6dnxwk4pqo3yd6m

The early history of F#

Don Syme
2020 Proceedings of the ACM on Programming Languages (PACMPL)  
In 1997, as a response to Java, Microsoft initiated internal projects which eventually became the .NET programming framework and the C# language.  ...  NET Generics in 1998 and F# in 2002. F# was one of several responses by advocates of strongly-typed functional programming to the łobject-oriented tidal wavež of the mid-1990s.  ...  In addition, there was the question what not to implement. A notable omission from the design was the functorial module system of OCaml.  ... 
doi:10.1145/3386325 fatcat:lk7zpwvyzfdc5gkscsmqmnze2e