On Jul 30, 2013, at 06:58 , David Jeske <[email protected]> wrote:

> 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.
>  
        That's a good point.

>> 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.
> 
I think we could with a HotSpot patch:
http://classparser.blogspot.com/

I was watching that development for a while and it looked good to me.  I never 
saw any indication as to why they didn't include the work since it was finished.
I agree continuations are not a required language feature for a minimal 
language although I believe the ability to implement them in a library without 
runtime modification should be a requirement.  If tasks are part of the 
language/runtime (e.g. Rust, Go) and allow as much control then I think I would 
not be reaching for continuations.

-ipc
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to