Ronde de nuit 0:00>9:00
- 57 702 réponses
- 598 participants
- 1 206 621 vues
- 430 followers
Anonyme
521410
Sujet de la discussion Posté le 23/05/2003 à 01:37:58Ronde de nuit 0:00>9:00
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
Martis
15680
Drogué·e à l’AFéine
Membre depuis 20 ans
9131 Posté le 26/08/2004 à 06:41:47
Check
no, j'suis habillé, j'ai mangé
bon c'est cool, j'monte a pris alors
no, j'suis habillé, j'ai mangé
bon c'est cool, j'monte a pris alors
Agentcarotte
25217
Vie après AF ?
Membre depuis 21 ans
9132 Posté le 26/08/2004 à 07:46:48
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)
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)
S.d.m
4787
Squatteur·euse d’AF
Membre depuis 21 ans
9133 Posté le 26/08/2004 à 08:14:28
Pour moi ce sera juste un Check...
YanLowFreq
5328
Je poste, donc je suis
Membre depuis 21 ans
9134 Posté le 26/08/2004 à 08:51:48
Check Retour de Vacances...
bouhouuahaaaaaaaaaaa
bouhouuahaaaaaaaaaaa
Dvt
5879
Je poste, donc je suis
Membre depuis 20 ans
9136 Posté le 27/08/2004 à 01:06:24
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 !!!
Ben ça alors.
Et puis moi, j'ai sommeil, alors je vais pas la faire.
Bonne nuit !!!
Martis
15680
Drogué·e à l’AFéine
Membre depuis 20 ans
9137 Posté le 27/08/2004 à 01:11:15
Number-6
26460
Vie après AF ?
Membre depuis 21 ans
9138 Posté le 27/08/2004 à 01:16:44
Check sandwichs aux maquereaux et à la mayonnaise
Darquandier
2027
AFicionado·a
Membre depuis 22 ans
9139 Posté le 27/08/2004 à 02:02:38
-=-=-=-=-=-=-=-= Label Neuronexion : http://www.neuronexion.fr ou http://www.myspace.com/neuronexion =-=-=-=-=-=-=-=- -=-=-=-=-=-=-=-=-=-= Fabrication de Badges Bouton : http://www.neuronexion.fr =-=-=-=-=-=-=-=-=-=-=-
Martis
15680
Drogué·e à l’AFéine
Membre depuis 20 ans
9140 Posté le 27/08/2004 à 02:08:50
Check meme pas j'ai un pack de ebie pour m'hydrater
- < Liste des sujets
- Charte