News for hackers. Stuff that matters.
Re:Can I do FP in my language? by crimsonalucard on Saturday August 05, 2017 @12:33PM (#14936512)
You can still use recursion to loop. First class functions are a convenience to functional programming not a requirement. Map and reduce and other higher order functions are also not a strict requirement for fp.

Without first class functions an immutable program can still be turing complete. I would say that if a language only supports recursion and is immuteable, then that is all you need for the language to be part of the fp paradigm.

Re:Can I do FP in my language? by fnord123 on Saturday August 05, 2017 @02:13PM (#14937044)
Where did you get this definition?
Re:Can I do FP in my language? by crimsonalucard on Saturday August 05, 2017 @04:30PM (#14937738)
Intuition and experience. The definition naturally occurs to you over time, I've never seen the isomorphism between immutability and functional expressions illustrated though. However, it is explicit that every functional language is immutable as a requirement.

I'm sorry to say that if you don't understand this, you haven't really understood what functional programming is... You're just a guy who understands higher order functions.

Re:Can I do FP in my language? by jcelerier on Sunday August 06, 2017 @06:24AM (#14940729)
> Intuition and experience.

...

> I'm sorry to say that if you don't understand this, you haven't really understood what functional programming is...

you can't be serious can you ?

Re:Can I do FP in my language? by crimsonalucard on Sunday August 06, 2017 @12:42PM (#14942007)
I am dead serious. If you don't understand this:

>The only technical requirement for you to follow the functional paradigm is immutability.

Then you don't understand functional programming. I can't take you seriously if you claim otherwise.

Obviously, you highly disagree with me. Feel free to elaborate rather than waste my time with obviously rhetorical questions.

Re:Can I do FP in my language? by jcelerier on Monday August 07, 2017 @09:16AM (#14947234)
> The only technical requirement for you to follow the functional paradigm is immutability.

So are you saying that for instance both CaML and LISP aren't FP ? Because both are certainly not about immutability and you can write mutable messes in either.

Re:Can I do FP in my language? by crimsonalucard on Monday August 07, 2017 @02:34PM (#14949982)
https://www.wikiwand.com/en/Functional_programming

Read the first line:

"In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It is a declarative programming paradigm, which means programming is done with expressions[1] or declarations[2] instead of statements."

Key phrase: "avoids changing-state and mutable data."

You can use C++ as if it was a functional language just like you can use LISP and CaML as if variables were mutable. However in both cases you are bending the language to follow a paradigm that is NOT functional.