• [^] # Re: lecture oui, écriture non

    Posté par . En réponse au journal int *(*(*foo[])(int))(float*);. Évalué à 3.

    D'après wikipedia :

    a higher-order function (also functional form, functional or functor) is a function that does at least one of the following:

    • takes one or more functions as an input
    • outputs a function

    Un langage n'a pas besoin d'implémenter les fonctions comme citoyen de première classe pour implémenter des fonction d'ordre supérieur.

    Pour l'histoire des pointeurs de fonctions, c'est juste une question d'implémentation, ça ne diminue pas la puissance du langage. Avec le même type d'argument, on affirme que lisp ne permet pas de définir de fonctions. La preuve :

    (listp (lambda (foo) foo))
    ; => t
    ; ce qui ressemble à une fonction n'est qu'une bête liste...

    Please do not feed the trolls