Я изучаю Хаскелл.
Когда я писал свои приложения на С#, я сделал это расширяемым. То есть его можно расширить за счет загрузки дополнительных пользовательских DLL файлов (плагинов или расширений - это одно и то же). Мое управляемое приложение через механизм Reflection
находит необходимые классы и методы по их некоторым атрибутам и регистрирует их в общем реестре команд моего приложения. Но я могу это сделать, потому что .NET Framework имеет технологию Reflection
. Поэтому я могу расширить функциональность базы моего приложения, не перекомпилируя его.
Могу ли я создать приложение Extensible (через дополнительные пользовательские плагины) на Haskell? Имеет ли Haskell механизм похож на Reflection
на .NET Framework? Или, может быть, существует другой способ сделать то же самое в Haskell.