Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN
le Pub inclassable
News
Articles
Tutoriels

Ronde de nuit 0:00>9:00

  • 60 248 réponses
  • 601 participants
  • 1 475 295 vues
  • 432 followers
Ronde de nuit 0:00>9:00#1

Citation : alors que Madame dort déjà



heuu..Cà fait bien 2h30 au moins déjà........
Mais..MAIS..QUOI?!1h30 du mat!!!!!!!







Neil.
http://www.masterfactory.com
Afficher le sujet de la discussion
#9126
Check sa mere
#9127
Dead check
Ceci n'engage évidemment que moi...
#9128
Check pour voir
#9129
Checkyerbouti.... hi hi hi

Marie :clin:
#9130
#9131
Check


no, j'suis habillé, j'ai mangé


bon c'est cool, j'monte a pris alors
#9132
CS312: Type-Checking
Quick Reference

--------------------------------------------------------------------------------

Constants:
tcheck(env, c) = int (when c is an integer)
tcheck(env, c) = real (when c is a real)
tcheck(env, c) = string (when c is a string)
tcheck(env, c) = char (when c is a char)

--------------------------------------------------------------------------------

Variables:

tcheck(env, id) = lookup_var(env,id)

--------------------------------------------------------------------------------

Anonymous Functions:
tcheck(env, fn (id:t) => e) = t -> tcheck(add_var(env,id,t),e)

--------------------------------------------------------------------------------

Function Applications:
tcheck(env, e1(e2)) = t2
when tcheck(env, e1) = t1 -> t2
and tcheck(env, e2) = t3
and same_types(t1,t3)

--------------------------------------------------------------------------------

Unary Operations:
tcheck(env, u e) = unary_op_result_type(t1,u)
when tcheck(env, e) = t1
and unary_op_arg_type(t1,u) = t2
and same_types(t1,t2)

--------------------------------------------------------------------------------

Binary Operations:
tcheck(env, e1 b e2) = binary_op_result_type(b,t1)
when tcheck(env, e1) = t1
and tcheck(env, e2) = t2
and binary_op_arg_type(b,t1) = t3
and same_types((t1 * t2), t3)

--------------------------------------------------------------------------------

Tuples:
tcheck(env, (e1,e2,...,en)) = (t1 * t2 * ... * tn)
when tcheck(env, ei) = ti (for 1 <= i <= n)

--------------------------------------------------------------------------------

Tuple Projections:
tcheck(env, #i e) = ti
when tcheck(env, e) = (t1 * t2 * ... * tn)
and (1 <= i <= n)

--------------------------------------------------------------------------------

Records:
tcheck(env, {lab1=e1,lab2=e2,...,labn=en}) = sort_labels({lab1:t1,...,labn:tn})
when tcheck(env, ei) = ti
and lab1,...,labn are distinct

--------------------------------------------------------------------------------

Record Projections:
tcheck(env, #lab e) = ti
when tcheck(env,e) = {lab1:t1,...,labi:ti,...,labn:tn}
and same_labels(lab,labi)

--------------------------------------------------------------------------------

Simple Datatype Constructors:
tcheck(env, Id) = nullary_constructor_result_type(Id)

--------------------------------------------------------------------------------

Value-Carrying Datatype Constructors:
tcheck(env, Id(e)) = constructor_result_type(Id)
when tcheck(env, e) = t
and same_types(t, constructor_arg_type(Id))

--------------------------------------------------------------------------------

Case Expressions:
tcheck(env, case e of p1 => e1 | p2 => e2 | ... | pn => en) = t1
when tcheck(env, e) = t
and patcheck(env,t,p1) = env1
and tcheck(env1,e1) = t1
and patcheck(env,t,p2) = env2
and tcheck(env2,e2) = t2
...
and patcheck(env,t,pn) = envn
and tcheck(envn,en) = tn
and same_types([t1,t2,...,tn])
(and p1,...,pn are exhaustive for t and do not overlap.)

--------------------------------------------------------------------------------

Let Expressions:
tcheck(env, let d in e end) = t
when declcheck(env,d) = env'
and tcheck(env',e) = t

--------------------------------------------------------------------------------

Val Declarations:
declcheck(env, val p = e) = env'
when tcheck(env,e) = t
and patcheck(env,t,p) = env'
(and p is exhaustive for t)

--------------------------------------------------------------------------------

Fun Declarations:
declcheck(env, fun id1(id2:t1):t2 = e) = env''
when env' = add_var(id2,t1,add_var(id1,t1->t2,env))
and env'' = add_var(id1,t1->t2,env)
and tcheck(env', e) = t3
and same_type(t2,t3) :oo:
#9133
Pour moi ce sera juste un Check... :oops:
#9134
Check Retour de Vacances...


:((( bouhouuahaaaaaaaaaaa


Ce qu'il y a de bien dans le Jazz, c'est qu'il n'y pas de fausse note : pourvu qu'elle soit jouée avec suffisamment de conviction.

#9135
:zzz:
#9136
Non, y'a personne pour faire la ronde nuit ???

Ben ça alors.

Et puis moi, j'ai sommeil, alors je vais pas la faire.

Bonne nuit !!!
#9137
#9138
Check sandwichs aux maquereaux et à la mayonnaise
#9139
:beurk:
-=-=-=-=-=-=-=-= Label Neuronexion : http://www.neuronexion.fr ou http://www.myspace.com/neuronexion =-=-=-=-=-=-=-=- -=-=-=-=-=-=-=-=-=-= Fabrication de Badges Bouton : http://www.neuronexion.fr =-=-=-=-=-=-=-=-=-=-=-
#9140
Check meme pas j'ai un pack de ebie pour m'hydrater
#9141
Check by night ! :mrg:
#9142

Citation : Check sandwichs aux maquereaux et à la mayonnaise



Ca, c'est pas un check sans provisions !!!

:mdr: :mdr: :mdr:
#9143
D'ailleurs je viens d'en remettre une fournée, ptain à force c'est ecoeurant.
#9144
Check je fous ma vie en l'air :??:
#9145
#9146
Check Berry.... :bravo:

Marie ;)
#9147
Another check... :tourne:
#9148
Check mon lit m'appelle
#9149
Ah bon c'est pas martis qui t'appel ?? :volatil:
#9150
:?!: :|