

LLVM 3.1 released - octopus
http://llvm.org/releases/3.1/docs/ReleaseNotes.html

======
program
Collections subscripting operator [] and boxed C strings are life-savers.
Instantiating obj-c object is always a pain cause the syntax is very verbose,
expecially for NSString:

    
    
      NSString *s = [NSString stringWithCString:"hello" encoding:NSUTF8StringEncoding];
      NSString *s = @("hello");
    

it's 11 characters vs 67. Now what I really, really miss is the implementation
of the NSString concatenation operator. stringWithFormat isn't always the
answer nor appendString. Please forgive me if you find that my idea is silly:

    
    
      // String concatenation
      NSString *s = @+(@"hello ", @"world");
    

Or maybe some concise dictionary operators.

    
    
      NSDictionary *d1 = @{ @"first":@"Hello", @("second"):@"World" };
      NSDictionary *d2 = @{ @"third":@"Greetings" };
      
      NSDictionary *cd = @|(d1, d2); // Dictionary merge
      NSDictionary *id = @&(d1, d2); // Dictionary intersect
      NSDictionary *dd = @^(d1, d2); // Dictionary difference

~~~
Someone
I think that would be inconsistent. All existing @<whatever> fragments are
evaluated at compile-time. Your @+, @|, @&, @^ feel more appropriate as proper
functions (the compiler could still know of them, so it could optimize calls
away)

Also: dictionary merge/intersect/difference aren't easily defined. For
example, what should

    
    
      @&( @{ @"a":@"aye", @"b":@"bee" }, @{ @"a":@"ai ai", @"Bee":@"bee" })
    

return?

------
bobbypage
Sweet, especially the Objective-C Literals:
<http://clang.llvm.org/docs/ObjectiveCLiterals.html>

~~~
misnome
Yes, I am ridiculously excited about this, especially the ability to create
single-item NSArray's without a tonne of messy typing - this is probably the
largest cleaning effect it will have.

Any idea how long it has historically taken apple to move the newer Clang
releases?

~~~
Someone
I don't know, but I guess that the compiler itself has been seriously tested
on Mac OS X, and WWDC is June 11-15. Esepcially if they want/dare to use this
for compiling Mountain Lion, I expect there to be some kind of release around
that time.

------
Rickasaurus
Oh cool! I didn't know Julia was LLVM backed! Now if only it had a good IDE
package.

------
jvoorhis
Looking forward to playing with autovectorization in ruby-llvm.
<https://github.com/jvoorhis/ruby-llvm>

------
luriel
A cool, seems to include the changes that were needed by llgo:
<https://github.com/axw/llgo>

------
seunosewa
Is there any successful language/runtime that runs primarily on LLVM?

~~~
cristiantincu
What do you mean by “primarily”? Do you mean “specifically”? “Succesful” how?

<http://en.wikipedia.org/wiki/Llvm>

