From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=AWL,SPF_FAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id E9073BC6B for ; Tue, 30 Oct 2007 17:30:13 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAF75JkfAXQImh2dsb2JhbACOXwIBCAop X-IronPort-AV: E=Sophos;i="4.21,347,1188770400"; d="scan'208";a="5288910" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 30 Oct 2007 17:30:13 +0100 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l9UGU8Mt028987 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 30 Oct 2007 17:30:13 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAF75JkdQW+UCh2dsb2JhbACOXwIBCAop X-IronPort-AV: E=Sophos;i="4.21,347,1188770400"; d="scan'208";a="3742932" Received: from main.gmane.org (HELO ciao.gmane.org) ([80.91.229.2]) by mail2-smtp-roc.national.inria.fr with ESMTP; 30 Oct 2007 17:30:08 +0100 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1ImtxP-0000TE-LX for caml-list@inria.fr; Tue, 30 Oct 2007 16:28:47 +0000 Received: from user-0cdfa2e.cable.mindspring.com ([24.215.168.78]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 30 Oct 2007 16:28:47 +0000 Received: from ccshan by user-0cdfa2e.cable.mindspring.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 30 Oct 2007 16:28:47 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Chung-chieh Shan Subject: Re: Which syntax to teach ? Date: Tue, 30 Oct 2007 12:26:13 -0400 Message-ID: <5i2kv4-hmj.ln1@mantle.rutgers.edu> References: <1193225773.3612.27.camel@Blefuscu> <471F7F7B.9040905@fmf.uni-lj.si> <666572260710241205x19edbd4ar840811b1d7a7315f@mail.gmail.com> X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: user-0cdfa2e.cable.mindspring.com User-Agent: tin/1.9.2-20070201 ("Dalaruan") (UNIX) (Linux/2.6.22 (i686)) Sender: news X-Miltered: at discorde with ID 47275C10.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; syntax:01 gmane:01 functors:01 mli:01 functors:01 haskell:01 functor:01 wiki:01 sig:01 7315:98 blog:98 wrote:01 abstract:01 abstract:01 constructor:01 Adrien wrote in article <666572260710241205x19edbd4ar840811b1d7a7315f@mail.gmail.com> in gmane.comp.lang.caml.inria: > > 7. They easily understand how the standard library is used (but not the > > functors), the open statement, the fact that a program may be in several > > .ml files. The .mli files are a bit more mysterious. Functors are _very_ > > mysterious. Any tips on how (and perhaps how not) to teach functors? I'm using a Haskell equivalent of functors (namely constructor classes) in an AI class (!) and they seem to be mysterious. It didn't seem to work to explain the Java/C# code that I would like to write (but can't, because these languages have no interface _on_ generics (as opposed to generic interfaces)). > I just don't get the importance of functors. I use them to provide multiple interpretations of the same abstract construction (each interpretation is a module and each abstract construction is a functor from interpretation modules to result modules). Here is a description of a simple example: http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Translations/ -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig One can show you aren't immediately killed by tidal forces once crossing over the event horizon of Black Hole. Mathematically, your space coordinates become time-like and vice versa. This causes a shift in your light cone and your world line can never intersect with someone on the outside.