Return-Path: <shearer@cs.bu.edu> X-Spam-HitLevel: X-Spam-DCC: sonic.net: cs3.bu.edu 1156; Body=1 Fuz1=1 Fuz2=1 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on cs3.bu.edu X-Spam-Level: X-Spam-Status: No, score=-2.6 required=10.0 tests=BAYES_00 autolearn=ham version=3.1.0 X-Spam-Pyzor: Received: from shearershot (ip150.fa1-0-1.occ.iinet.com [198.145.32.150]) by cs3.bu.edu (8.13.6/8.13.6) with ESMTP id k9NJZ8I7004260 for <cs520@cs.bu.edu>; Mon, 23 Oct 2006 15:35:18 -0400 From: "Rui Shi" <shearer@cs.bu.edu> To: "'Michel Machado'" <michel@digirati.com.br>, <cs520@cs.bu.edu> Subject: RE: Implementation 3 - Details Date: Mon, 23 Oct 2006 15:35:02 -0400 Message-ID: <003f01c6f6da$603c5d30$f0f7000a@csnt.bu.edu> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962 In-Reply-To: <010601c6f6ca$66425e10$24b6a8c0@dark> Thread-Index: Acb2ymQbzTlM8tPxRDGvHF1uGBf/2AADzzMA X-Clamav-Status: No Status: RO Content-Length: 1737 X-UID: 31 X-Keywords:
-----Original Message-----
From: Michel Machado [mailto:michel@digirati.com.br]
Sent: Monday, October 23, 2006 1:41 PM
To: cs520@cs.bu.edu
Subject: Implementation 3 - Details
Dears,
I have some questions about the implementation 3.
1. Type stp doesn't have a way to represent "any type". So, what stp
should be returned by typecheck function to the term "raise 10"? Shoud
typecheck return TpExn?
- You can come up with a base type like TpBase "Any" to do that.
2. The rule ty-exn conflits with the following rules from the previous
assignment: ty-bool, ty-int, ty-unit, ty-var, and the implicitly-defined
ty-string (it's not listed in the assignment, but it must exist to typecheck
terms like 'print "hello"'). Should I consider that ty-exn has to be used
only inside typecheck just to typecheck the premises of ty-raise and ty-try?
NOTE, ty-exn is indeed needed, when pat is a variable, it's used as a label
in the test file "prodfun.stlc", so, without ty-exn, prodfun.stlc isn't a
closed term.
- Yes, exception can only be used with raise.
3. Shouldn't the conclusion of the rule eval-tryExn be "try raise pati
with ..." rather than "try pati with ..."?
- Yes. Thanks for correcting it.
4. The rule eval-tryExn assumes that pati (t0) is allways listed in with
clause (cls). However, the rule ty-try does not check that it's true. Should
I just raise pati when it doesn't occur in cls?
- propogate the exception if not being caught.
5. There's no reference to the operator "mod" in the in the previous
assignment and the current one, but it's defined in parser.mly and used in
the test file "perfect.stlc". I assumed it as being int * int -> int.
- Yes.
[ ]'s
Michel Machado
This archive was generated by hypermail 2b29 : Thu Dec 14 2006 - 16:31:59 EST