public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
From: list+org.sourceware.kawa@io7m.com
To: Per Bothner <per@bothner.com>
Cc: kawa@sourceware.org
Subject: Re: Are types checked statically?
Date: Thu, 16 Mar 2017 17:39:00 -0000	[thread overview]
Message-ID: <20170316173830.59958bf8@copperhead.int.arc7.info> (raw)
In-Reply-To: <eb4581b6-2c47-9f80-f7d4-596d6a473d30@bothner.com>

[-- Attachment #1: Type: text/plain, Size: 1619 bytes --]

On 2017-03-16T10:23:24 -0700
Per Bothner <per@bothner.com> wrote:
> 
> Kawa does support JSR223, though the latter is not a good match for a statically typed language.

Good to know, thanks. I've heard this sentiment expressed (of JSR223)
elsewhere too.

> Kawa does type-checking at compile-time, and you can either compile in
> advance (to class files) or on-the-fly.
> You can fine-tune this to some extent:
> https://www.gnu.org/software/kawa/Options.html#Options-for-warnings-and-errors

Very nice! This is good news.

> Kawa does optimistic/lenient typing, though I'd be interested in
> adding an option for strict typing:
> https://www.gnu.org/software/kawa/Ideas-and-tasks.html#Optional-strict-typing-along-with-an-explicit-dynamic-type

I've not used Kawa yet, so I don't know how the current typing rules
feel. Stricter checking is typically a plus in my book though.

> Kawa currently doesn't have "function types" - the type of all
> functions is just 'procedure' without any specification of
> argument or result types.  However, the following is on the wish-list:
> https://www.gnu.org/software/kawa/Ideas-and-tasks.html#Optimized-function-types-and-values-using-MethodHandles

I'm not sure I understand this fully. I'm familiar with JVM internals,
including method handles, but the above is more an issue of efficiency
than of correctly checking the types of functions, isn't it? Unless I'm
mistaken, Kawa lambda expressions have the proper types and the types
are checked statically, right? They just may not have an efficient
underlying representation on the JVM.

M

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 854 bytes --]

  reply	other threads:[~2017-03-16 17:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-16 17:02 list+org.sourceware.kawa
2017-03-16 17:23 ` Per Bothner
2017-03-16 17:39   ` list+org.sourceware.kawa [this message]
2017-03-16 22:57     ` Per Bothner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170316173830.59958bf8@copperhead.int.arc7.info \
    --to=list+org.sourceware.kawa@io7m.com \
    --cc=kawa@sourceware.org \
    --cc=per@bothner.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).