Ponieważ metaprogramowanie w C++ jest funkcjonalne: czy jest jakiś sposób na zrobienie czegoś porównywalnego z jakimkolwiek funkcjonalnym językiem programowania (na przykład Haskell's), pozwól lub gdzie się skonstruujesz?C++/Boost MPL: kod struktury podobnie jak Haskella, gdzie,
Używam Boost :: MPL, ale chciałbym mieć więcej struktury dla dłuższych metafunkcji. Dzielenie na kilka funkcji jest w porządku, ale wolę niech/gdzie w niektórych przypadkach.
przychodzi moment, w którym próbuje shoehorn więcej szablonu magię w C++ przestaje dając użytecznych zwrotów, zwłaszcza jeśli chodzi o przyszłą kompatybilność i maintainance. Czy rozważałeś napisanie większej ilości kodu w szybkim języku funkcjonalnym, który może generować biblioteki wywoływane przez C/C++? (OCaml przychodzi mi na myśl) – Rook
Nie, nie zastanawiałem się nad tym. Używam meta-programowania, ponieważ muszę coś zrobić w czasie kompilacji, nie dlatego, że chcę napisać funkcjonalny kod. Moje fragmenty kodu nie są tak skomplikowane. Pomyślałem tylko, że gdybym użył tej samej funkcji aplikacji trzy razy w metafunkcji 30 linii, byłoby miło użyć jakiejś struktury. – user1034081
W C++ 11 można wykonać wiele operacji kompilacji przy użyciu 'constexpr' zamiast szablonów. – leftaroundabout