2012-05-09 4 views
0

explicite Ceci est un exercice du tutoriel norme ML vu ici: http://homepages.inf.ed.ac.uk/stg/NOTES/node42.htmldéfinir une fonction standard « trick » ML sans spécifier le type

Je ne prends pas une classe donc il n'y a pas de tricherie passe ici. Mais je ne peux pas comprendre comment faire cela. Quelqu'un peut-il aider? La fonction fn x => fn y => x a le type 'a -> ('b -> 'a). Sans donner de contrainte de type explicite, définissez une fonction avec le type 'a -> ('a -> 'a)

Répondre

2

Indice 1: Vous devez trouver une expression qui a 2 sous-expressions ou plus, mais qui requiert qu'elles aient le même type. Indice 2: Les listes ou les conditions sont de bons prétendants.

Indice 3: Bien sûr, les sous-expressions que vous y mettez sont les deux arguments.

Indice 4: Vous n'avez pas besoin d'utiliser le résultat de cette expression.

+0

Vous l'avez tout en conduisant à la maison. J'apprécie vraiment ce tutoriel! > val idt = fn x => fn y => hd (x :: y :: nil); val idt = fn: 'a ->' a -> 'a – dividebyzero

+0

Et merci Andreas de ne pas avoir répondu à ma question :) Je me frapperais la tête contre le mur quand je verrais la réponse. – dividebyzero

Questions connexes