Today, most operating systems accept programs expressed in an unsafe and opaque programming language (such as x86 machine code) so they're stuck using low-level, hardware-supported features to recover a modicum of…
FP is relatively convenient for metaprogramming, yes. GADTs and tagless-final encodings (or as I think of them, Church-encoded ASTs) are especially useful for this. But it wouldn't be a big difference if the host…
I think most FP languages don't decouple AST from evaluation context. E.g. I cannot perform abstract interpretation on a function's AST, nor rewrite a function's AST for incremental computation, nor perform explicit…
It would be easy to do. That 3-bit word just needs to start at 1 (since it encodes fewer than 8 options). Then the fixed 1-bit can instead encode whether another 7-bit segment follows.
A hashmap isn't sorted keys. But 'O(log(n))' is still incorrect. The fastest you can look up information physically represented in a 3D universe is 'O(cube-root(N))'. That applies to radom access memory and hashmaps,…
I wasn't able to find much on this via search. The papers I found date to 96. Do you know how 60s Pure Lisp handled IO?
Wat? It's equational reasoning that lets us manipulate concrete code easily. REPLs are just proof that functional programmers like working concrete examples, too. A World->World function is unconstrained in its effects…
Methinks you misunderstand the programming experience of FP. A nice property of 'equational reasoning' is that, as a universal property of code, I don't have to think about it. It just becomes a law of code -…
> generalizing across all programmers I think the relevant question is whether functional programmers, not all programmers, regularly leverage the lightweight equational reasoning, refactoring, and context-independent…
> And how often does that occur in practice for most of the programs people write? Very frequently. The simple theorems that equational reasoning supports are very convenient for refactoring and optimizing code.…
I don't believe FP has any strong assumption that all problems reduce to the same kind of algorithm. Rather, different kinds of algorithm are modeled typefully - e.g. with various monads or abstract data types. As you…
I see a lot of potential for a new class of musical instruments based on waving your hands.
More paradigms: Maude. Pure. OBJ3 - term rewriting Inform 7 - object-relational Kaleidoscope. - constraint imperative Bloom. Dedalus. - Temporal Logic; monotonic data. Excel. Spreadsheets. - reactive dataflow. Conway's…
Today, most operating systems accept programs expressed in an unsafe and opaque programming language (such as x86 machine code) so they're stuck using low-level, hardware-supported features to recover a modicum of…
FP is relatively convenient for metaprogramming, yes. GADTs and tagless-final encodings (or as I think of them, Church-encoded ASTs) are especially useful for this. But it wouldn't be a big difference if the host…
I think most FP languages don't decouple AST from evaluation context. E.g. I cannot perform abstract interpretation on a function's AST, nor rewrite a function's AST for incremental computation, nor perform explicit…
It would be easy to do. That 3-bit word just needs to start at 1 (since it encodes fewer than 8 options). Then the fixed 1-bit can instead encode whether another 7-bit segment follows.
A hashmap isn't sorted keys. But 'O(log(n))' is still incorrect. The fastest you can look up information physically represented in a 3D universe is 'O(cube-root(N))'. That applies to radom access memory and hashmaps,…
I wasn't able to find much on this via search. The papers I found date to 96. Do you know how 60s Pure Lisp handled IO?
Wat? It's equational reasoning that lets us manipulate concrete code easily. REPLs are just proof that functional programmers like working concrete examples, too. A World->World function is unconstrained in its effects…
Methinks you misunderstand the programming experience of FP. A nice property of 'equational reasoning' is that, as a universal property of code, I don't have to think about it. It just becomes a law of code -…
> generalizing across all programmers I think the relevant question is whether functional programmers, not all programmers, regularly leverage the lightweight equational reasoning, refactoring, and context-independent…
> And how often does that occur in practice for most of the programs people write? Very frequently. The simple theorems that equational reasoning supports are very convenient for refactoring and optimizing code.…
I don't believe FP has any strong assumption that all problems reduce to the same kind of algorithm. Rather, different kinds of algorithm are modeled typefully - e.g. with various monads or abstract data types. As you…
I see a lot of potential for a new class of musical instruments based on waving your hands.
More paradigms: Maude. Pure. OBJ3 - term rewriting Inform 7 - object-relational Kaleidoscope. - constraint imperative Bloom. Dedalus. - Temporal Logic; monotonic data. Excel. Spreadsheets. - reactive dataflow. Conway's…