Found 14 bookmarks
Newest
Programming is Mathematics
Programming is Mathematics
This is why I respect the Functional Programming movement: they get it. Functional Programmers understand that (at a minimum) 50 years of research and refinement is a pretty good thing to stake your data types on. ​ Stick to actual mathematics. You'll have to learn it eventually, you may as well not cloud your own thinking in the process. ​ Mathematics is the simplest and most precise language mankind has ever invented, and you should be able to speak it.
·λπω.com·
Programming is Mathematics
Rob Napier’s Swift/Haskell post
Rob Napier’s Swift/Haskell post
A paradigm is sneaking in when you aren’t paying attention. Pay attention. There’s a chance here to influence development practice for decades ​ We really can have languages that give the benefits of tomorrow without losing all the working components of today. I think Swift can be one of those languages. ​ Much of that, I believe, is education.
·robnapier.net·
Rob Napier’s Swift/Haskell post
Semantic’s “Why Haskell?” Document
Semantic’s “Why Haskell?” Document
While no level of type safety is sufficient to ensure all programs' correctness, the fact that the Semantic Code team spends the majority of its time working on features rather than debugging production crashes is truly remarkable—and this can largely be attributed to our choice of language. ​ but in Haskell: its brevity, power, and focus on correctness lets researchers focus on the nature of the problem rather than the onerous task of fitting advanced research into conventional languages. Writing in Haskell allows us to build on top of the work of others rather than getting stuck in a cycle of reading, porting, and bug-fixing. ​ a reputation for being difficult to learn. Some of that is well deserved, but half of it has more to do with how many of us first learned imperative programming and the switch to a functional paradigm takes some patience.
·raw.githubusercontent.com·
Semantic’s “Why Haskell?” Document
zurry and unzurry
zurry and unzurry
When working with a monad, you work in its Kleisli category which is another example of a CCC. The above discussion relating function evaluation to function composition, would then relate Kleisli evaluation (=) to Kleisli composition (=). Woah, is `bind` just monadic function evaluation?
·tangledw3b.wordpress.com·
zurry and unzurry
On Compositionality
On Compositionality
reasoning about the system should be done recursively on its structure. ​ good software design is ultimately an art. ​ another example of reasoning via an interface. ​ I suspect that interfaces are in fact synonymous with compositionality. That is, compositionality is not just the ability to compose objects, but the ability to work with an object after intentionally forgetting how it was built. ​ can interact in complex ways that block understanding ​ More generally, I claim that the opposite of compositionality is emergent effects. The common definition of emergence is a system being ‘more than the sum of its parts’, and so it is easy to see that such a system cannot be understood only in terms of its parts, i.e. it is not compositional. Moreover I claim that non-compositionality is a barrier to scientific understanding, because it breaks the reductionist methodology of always dividing a system into smaller components and translating explanations into lower levels.
·julesh.com·
On Compositionality