Projects/LambdaFun

From D Wiki
Revision as of 10:15, 12 December 2017 by Greenify (talk | contribs) (Add category: student projects)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

LambdaFun

Lambda functions are widely spread across the D ecosystem making their way from user code to standard library phobos code. This situation makes it so that in some cases it is very useful have the ability to compare lambda function for equality. For example: if an array is sorted, a library function which searches an element in the array may apply a binary search algorithm, but in order to do that the function must be able to see if the predicate with which the array was sorted matches the standard "==" preadicate, thus resulting a function comparison operation. Other than that, comparing functions for equality is a powerful trait which may open the door to compiler optimizations.

The "LambdaFun" project aims at the ambitious ideal of mechanically deciding whether two functions are semantically equivalent by exploring that is the most we can acquire with what the D ecosystem offers.