Меня интересуют примеры метапрограммирования, написанные на F #, которые демонстрируют использование специфических для F # функций, таких как функция TryGetReflectedDefinition в стандартной библиотеке F #.
TryGetReflectedDefinition
Где я могу найти такие примеры?
WebSharper и Unquote - это два примера библиотек F # с открытым исходным кодом, использующих цитаты (Unquote специально не использует TryGetReflectedDefinition, но я считаю, что WebSharper делает).
FSharp.PowerPack.Linq - еще один пример. Кроме того, я нашел реализацию цитат в компиляторе F # как полезную и проницательную ссылку.
Некоторое время назад я написал проект, который переводит цитаты F # в код GPU, используя MSR Accelerator .
Это довольно простой переводчик (по сравнению, например, с WebSharper, который довольно сложен), но он должен демонстрировать большинство интересующих вас функций. В частности, он переводит функции, отмеченные атрибутом ReflectedDefinition. Это также из вашей любимой области научных вычислений: -)
ReflectedDefinition