I spent the last week in Seattle and Redmond, attending both the MVP Summit and the ALT.Net Conference, and spent the majority of time discussing the future of programming, both on the .Net platform and other platforms. By Saturday night, my brain was pretty much on extreme overload. One of the things I've been doing a lot of over the last few months is pondering the effect of mixing functional programming with object oriented programming. I've learned that functional programming twists your developer mindset. For years, I've been using object oriented programming, and have developed the habit of thinking objects, first. Functional programming tends to get you thinking in terms of, well, functions, first. I've also been thinking a lot about Domain Specific Languages (both internal and external), and how they map to our traditional programming paradigms. So, late last night, my brain popped out this little nugget:
Within a DSL it would be cool if you could map its Nouns to Objects (described via OOP), its Verbs to Functions (described via FP), and its Adjectives and Adverbs to Aspects (via AOP).
I have to do some research, but does this fit within the definition of a composable language? I tried to fine a definition of what a composable language, but didn't seem to find one.