3 ms·
I don't take wikipedia to be authoritative about anything but I'll bite. > Functional programming is sometimes treated as synonymous with purely functional pro
by bitdizzy 6y ago
I don't take wikipedia to be authoritative about anything but I'll bite.
> Functional programming is sometimes treated as synonymous with purely functional programming, a subset of functional programming which treats all functions as deterministic mathematical functions, or pure functions.
Well, obviously in this context the author of the submission wasn't using that definition. So you coming in and dismissing the conversation because sometimes people mean "pure functional programming" when they say "functional programming" is clearly erroneous. I know when people make this conflation, often when they're talking about Haskell. When talking about ML, no one would take that synonym. Context matters.
I just looked, you provided a set theoretic definition of functions, the wikiwand one. You chose a poor definition for the topic at hand. In most mathematical settings it would be a perfectly fine definition, but not here. Context matters.
Here are the problems with it: It assumes an interpretation in sets when there are a plurality of interpretations of functions qua functional programming which are not compatible with set theoretic models. For example, functions in homotopy type theory have higher dimensional structure than just being elements of a set. Functions in domains have more structure than just the extensional mapping from inputs to outputs. Your chosen definition also includes non-computable functions which are simply not admissible in this context.
So your definition is simultaneously too restrictive and too lax.
You seem to be confused by the existence of multiple definitions and how they are appropriate in context.
- leafboi 6y ago>I don't take wikipedia to be authoritative about anything but I'll bite. No but it's more authoritative than a random person on the internet (you). For things like this it's good enough. I'm not writing a paper here. >Well, obviously in this context the author of the submission wasn't using that definition. >Context matters. >In most mathematical settings it would be a perfectly fine definition, but not here. In this context it's also perfectly fine. OP did not make a distinction between subroutine or function. He also uses the term higher order function wrong. It shows two things. He does not know what a higher order function is and he does not know what a function is. >Here are the problems with it: It assumes an interpretation in sets when there are a plurality of interpretations of functions qua functional programming which are not compatible with set theoretic models. For example, functions in homotopy type theory have higher dimensional structure than just being elements of a set. Functions in domains have more structure than just the extensional mapping from inputs to outputs. Your chosen definition also includes non-computable functions which are simply not admissible in this context. This is the garbage pedantry that I warned you about earlier. I'm choosing the generally accepted academic definition. Hopefully you're not one of those people who can't comprehend "generally accepted" without an expose into axioms and different obscure branches of math. >You seem to be confused by the existence of multiple definitions and how they are appropriate in context. Find the generally accepted definition in wikipedia that this person is using (Hint: no actual technical definition exists). Obviously he's using "function" in place of procedure or subroutine. But then he uses the term "Higher Order" to imply an actual functions instead of procedures. Not only does he use "Higher Order" incorrectly but his usage of the term indicates he doesn't know what a function is and the difference between a function and a procedure. Yeah I'm not going to reply to your shit any more. HN really needs to change the policy of not letting parent posters vote others down.
- bitdizzy 6y ago> This is the garbage pedantry that I warned you about earlier. I'm choosing the generally accepted academic definition. Hopefully you're not one of those people who can't comprehend "generally accepted" without an expose into axioms and different obscure branches of math. I think you should look into domain theory it is one of the most celebrated discoveries pertaining to the semantics of functional programming languages. And maybe you'll understand that from a programming point of view, what a function is is much more flexible and subtle than you think. > Yeah I'm not going to reply to your shit any more. HN really needs to change the policy of not letting parent posters vote others down. Would it help if I pretended that you downvoted me? Every time I see my imaginary internet points I will subtract 5.
- leafboi 6y agoNo you should just stop voting me down. I'm literally going to go negative soon, I just joined. I literally cannot talk to you if you continue voting me down. It's bad form. >I think you should look into domain theory it is one of the most celebrated discoveries pertaining to the semantics of functional programming languages. And maybe you'll understand that from a programming point of view, what a function is is much more flexible and subtle than you think. Sure I could. But "context matters." This is not the topic of the conversation. There's a level of depth we're operating at here. Very few people understand "domain theory" and you shouldn't assume as much when you communicate with anyone.
- bitdizzy 6y agoI'm not downvoting you. I can't downvote anyone. I don't think I have enough points to downvote. If I didn't want to talk to you I wouldn't be replying!
- stopachka 6y agoAdmittedly I downvoted this one: https://news.ycombinator.com/item?id=24438137 https://news.ycombinator.com/item?id=24438137 Yet again though: "Random person (you)" "he does not know what a function is." "Yeah I'm not going to reply to your shit any more." ...give a good reason --- Anyways, leaving this thread. I certainly learned something from it, I hope you did too! : ) I now noticed you're at -1, went ahead and gave you an upvote. Hopefully you can still post, and be a bit more aware. -- Also, great work trying to explain bitdizzly. Def enjoyed reading your explanations, and will explore some the references you popped in