2009-09-20 6 views
4

Je suis en train d'apprendre le schéma, mais j'aimerais pouvoir me répéter moins.Schéma équivalent à Haskell où la clause

Y a-t-il un moyen d'attribuer un nom à une sous-expression dans la portée locale?

Comme par le commentaire:

Haskell clause where

x = s * t 
    where s = 10 
     t = 20 

x 200 devrait être dans ce cas.

Répondre

9

Soit (ou letrec pour les liaisons récursifs), .:

par exemple
(define (f g) 
    (let ((x 1) (y (* g 2))) 
     (+ x y))) 
+0

Merci, mais malheureusement dans la "langue commençant par" sous-ensemble de drscheme il n'y a pas 'let'. Toujours, évidemment la bonne réponse. – solinent

+11

Si vous connaissez Haskell, il est probablement préférable de ne pas utiliser le sous-ensemble "langue initiale" de Drscheme. L'ensemble du schéma est déjà petit, beaucoup plus petit que Haskell. –

Questions connexes