5 packages tagged with “polytypic”
Practical Generic Programming for F#
Practical generic programming for C#
Infers.Toys provides a collection of more or less experimental datatype generic functions for F#. The primary focus of Infers.Toys is to demonstrate possibilities rather than to provide the best possible implementations. The documentation of individual generic functions typically mention known limitations, if any. Pull requests are welcome!
Infers is a library for deriving F# values from their types and, in a way, a direct application of the Curry-Howard correspondence. The idea is to view the types of F# member functions as Horn clauses. Using a Prolog-style resolution engine it is then possible to attempt to prove goals given as simple F# types. During the resolution process the engine invokes the member functions to build a value of the type given as the goal.
Infers.Rep provides rules for Infers to generate representations and efficient accessors for F# types based on a sum of products representation. The representations are designed to allow the implementation of efficient polytypic and datatype generic functions.