From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6122 invoked by alias); 3 Apr 2017 14:39:32 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 6107 invoked by uid 89); 3 Apr 2017 14:39:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Proposal X-HELO: aibo.runbox.com Received: from aibo.runbox.com (HELO aibo.runbox.com) (91.220.196.211) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 03 Apr 2017 14:39:30 +0000 Received: from [10.9.9.211] (helo=mailfront11.runbox.com) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1cv38j-000888-1v; Mon, 03 Apr 2017 16:39:29 +0200 Received: from 70-36-239-167.dsl.dynamic.fusionbroadband.com ([70.36.239.167] helo=localhost.localdomain) by mailfront11.runbox.com with esmtpsa (uid:757155 ) (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) id 1cv38Z-0006h4-CU; Mon, 03 Apr 2017 16:39:19 +0200 Subject: Re: Proposal draft To: Vasantha Ganesh , kawa@sourceware.org References: From: Per Bothner Message-ID: <6bf1f672-582d-3a64-46c5-f38805df5ee4@bothner.com> Date: Mon, 03 Apr 2017 14:39:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2017-q2/txt/msg00020.txt.bz2 On 04/03/2017 07:15 AM, Vasantha Ganesh wrote: > Hello all, > > I've managed to write a proposal for the idea "Optimized function > types and values using MethodHandles" > > Here is the first draft: > > https://docs.google.com/document/d/1khL_gUy1-G7NDdJHTGNom3r2UXs8YTYEJNc-Ch0yuyo/edit?usp=sharing awesome-sauce-function :: int -> int -> bool (define (awesome-sauce-function parm1 param2) (> (+ param1 param2) 0)) First, you have to realize that syntax would not "fit in" very well with a language that uses Lisp syntax (even one with as many extensions as Kawa). I think it would be quite difficult to parse. Second, it's not needed. Kawa already has a perfectly ok syntax for type signatures: (define (awesome-sauce-function parm1::int param2::int)::boolean (> (+ param1 param2) 0)) This project is not about typing and checking of specific functions, which Kawa does quite well. It's about typing of function *expressions* and variables - for example a function-valued parameter in a higher-order function. I.e. to express things like: "I don't know the value of this variable, but I know it some (unknown) 2-argument function that takes two ints and returns a boolean." Sorry, I don't think this proposal is salvageable in the amount of time we have. Maybe next year? -- --Per Bothner per@bothner.com http://per.bothner.com/