Generic Level Polymorphic N-ary Functions

10/12/2021
by   Guillaume Allais, et al.
0

Agda's standard library struggles in various places with n-ary functions and relations. It introduces congruence and substitution operators for functions of arities one and two, and provides users with convenient combinators for manipulating indexed families of arity exactly one. After a careful analysis of the kinds of problems the unifier can easily solve, we design a unifier-friendly representation of n-ary functions. This allows us to write generic programs acting on n-ary functions which automatically reconstruct the representation of their inputs' types by unification. In particular, we can define fully level polymorphic n-ary versions of congruence, substitution and the combinators for indexed families, all requiring minimal user input.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/09/2023

__host__ __device__ – Generic programming in Cuda

We present patterns for Cuda/C++ to write save generic code which works ...
research
01/11/2023

A note on constructions of bent functions

Recently, Li et al. presented a generic construction of bent functions i...
research
11/07/2021

Equivalences of biprojective almost perfect nonlinear functions

Two important problems on almost perfect nonlinear (APN) functions are t...
research
12/31/2018

Generic Programming in OCaml

We present a library for generic programming in OCaml, adapting some tec...
research
02/25/2022

Bounds on Determinantal Complexity of Two Types of Generalized Permanents

We define two new families of polynomials that generalize permanents and...
research
04/15/2017

Generic LSH Families for the Angular Distance Based on Johnson-Lindenstrauss Projections and Feature Hashing LSH

In this paper we propose the creation of generic LSH families for the an...
research
03/26/2023

An Approach for Generating Families of Energetically Optimal Gaits from Passive Dynamic Walking Gaits

For a class of biped robots with impulsive dynamics and a non-empty set ...

Please sign up or login with your details

Forgot password? Click here to reset