Grace @ Splash

October 19th, 2012

Andrew Black, Kim Bruce & Michael Homer will be at SPLASH 19-26 October, in Tuscon, Arizona.

  • Michael will be workshopping Graceful Patterns for Patterns in Grace at PLoP, sometime between Friday & Sunday
  • Michael will be presenting Patterns as Objects in Grace at the Dynamic Languages Symposium, Mon 10:30-12:00 pm – Catalina Ballroom
  • Kim & Andrew (& Michael too?) will be presenting Grace: the absence of (inessential) difficulty at Onward!, Tue 3:30-5:00 pm – Salon B (GB)

This should be a good chance for people new to the project to hear about Grace — and for experienced people to find out more, especially about the implementation and Grace’s pattern matching.

There’s a bunch of other fun stuff at SPLASH this year — I’ll admit to a soft spot for the talks at RPG 2012 (Tue 7:30-9:30 pm – Salon C (GB)), and the great keynotes — it’s just a pity I can’t make it this year.

Grace @ ELC @ Strangeloop

September 13th, 2012

Michael Homer will be at Strange Loop 23-25 September, in St Loius. Michael is talking about Grace in this year’s Emerging Languages Camp on the 23rd.

This should be a good chance for people new to the project to hear about Grace — and for experienced people to find out more, especially about the implementation.

GOTO Grace

June 23rd, 2012

The latest issue of the GOTO Conference Magazine includes an article on Grace – along with other articles on Neo4J, NoSQL, and Kanban.

Grace @ ECOOP+PLDI

June 9th, 2012

Several Grace folks will be at ECOOP+PLDI in Beijing in this week.

In particular:

  • Mon 11 June – Michael Homer will talk about Grace at STOP
  • Wed 13 June – James Noble and Andrew Black will give a PLDI tutorial on Grace

Andrew will be in Beijing for the PLDI half of the week, and James and Michael around for the whole week. If you’re interested in Grace, come to one of these talks, or we’d love to catch up with you some other time this week.

James Bond, Logo, and Trees

May 30th, 2012

The latest “James Bond” release of minigrace (version 0.0.7.1010, thus James Bond) includes experimental support, written by Tim Jones, for generating Java code and calling Processing. Unfortunately this support really is very experimental, and will probably go away in the next release.

The main things we learned from the experiment is that while we can just about compile Grace to Java as a prototype, anything more serious either needs a global analysis to map Grace’s structural types to Java’s nominal types (a nice PhD thesis) or to generate byte codes and use invokedynamic to build Grace’s calling conventions (an MSc at least), or perhaps a mixture of the two.

Tim’s current plan – unless anyone volunteers to take over the Java side of things – is to concentrate on the JavaScript backend. Compiling to a dynamically typed substrate will be so much easier, and as a consequence, perhaps quicker too. Since Processing has a JavaScript implementation, if we can bind to that, we hope to be able to port Grace code calling the Processing API over to JavaScript without any change on the Grace side.

While playing with the experimental Java-backend I revisited some examples that was all the rage when I was starting out, fractal graphics done in Logo style. Stealing shamelessly from motivate.maths.org, all the images in this post were generated in Grace via the Processing API hosted on top of Java, running on a Mac OS 10.7.4. If you download the tarballs and install the files, you could play with something like this too – I mean, this is an example of Grace code that might actually be used, someday, to teach programming.

  method gasket(size : Number, limit : Number) -> Void {
    if (size < limit) then {return} 

    repeat 3 times {
      gasket(size/2, limit)
      forward(size/2)
      right(120)
    }
  }



This article is translated to Serbo-Croatian language by Jovana Milutinovich from Webhostinggeeks.com.