On Tue, Jul 30, 2013 at 2:31 AM, Ian P. Cooke <[email protected]> wrote:

> On Jul 30, 2013, at 00:41 , David Jeske <[email protected]> wrote:
>
> On Mon, Jul 29, 2013 at 3:22 PM, Jonathan S. Shapiro <[email protected]>wrote:
>
>> I find this very interesting. The [performance] objective you are setting
>> makes sense, but some of the particulars strike me as challenging - notably
>> the vector computation goals.
>>
> I think you're taking my assertion just a bit too far. I simply mean
> approaching the envelope of hardware performance should not require
> wholesale jettisoning of the systems-runtime because of an achilles heel. I
> don't mean that the language or runtime needs to directly support every
> hardware capability itself.
>
>
> While it wasn't your intention, do you think that asking for
> BitC/Rust-level support for something like OpenCL's or Cilk's vector
> datatypes is too much to expect?
>

I think if a language system can't support OpenCL (with competitive
performance), it doesn't deserve to be called a systems programming
language. The abstraction level at which it injects this kind of
functionality is a bit irrelevant to me (intern vs library, etc. etc)

The net result of this is that it's necessary to *either* provide run-time
code generation in the language, or support run-time code generators in the
language. If neither of these is allowed then it's not possible to do many
many optimizations.


> AFAIK, the the stackless/first-class-continuations folks throwing stones
> at the C-stack doesn't feel like an achilles heel. It hasn't been shown
> that this is necessary to approach hardware performance potential. (it's
> more of a code-size and clarity issue)
>
> I agree in part but you're downplaying the combination of concurrent
> execution with sequential syntax - it's killer.  twisted's Deferred and
> other callback-based event models are so clunky and unfriendly to
> maintenance that they trip up beginners and experts alike.
>

I'm really not. I'm making a set of brutal and hopefully mostly-objective
culling rules for the minimum viable systems programming language must
include. In C we can author Python, and twisted, and stackless without
stop-the-world so C seems like it does not have any achilles heel WRT this
issue. We can't say the same about JVM.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to