Next Sydney PLT / PLS / Discus meeting is on Tuesday 7th August.

3 views
Skip to first unread message

Ben Lippmeier

unread,
Aug 3, 2018, 5:52:57 AM8/3/18
to fp-...@googlegroups.com, discu...@googlegroups.com
We’re having a PLT / PLS / Discus meeting next week to talk about the various projects that we’re working on. This is an informal gathering and discussion without pre-prepared talks. All interested parties are welcome. 

Now that the UNSW Programming Language and Systems (PLS) group has dissolved, there are no longer weekly meetings at UNSW. Various programming languages diaspora are now meeting monthly on Tuesday evenings, two weeks after FP-Syd. Current projects include:

Discus: An experimental dialect of Haskell that investigates static typing and program transformation in the presence of computational effects. DDC is the compiler for it. More info at http://discus-lang.org/

Accelerate: An embedded language for accelerated array processing on GPGPUs. More info at http://hackage.haskell.org/package/accelerate.

[ I know what some of the other likely attendees are working on, but I don’t know if you want it publicised. I’ll update the project list in future announcements, or you can reply to this mail if you’re coming ]

The Local Taphouse
122 Flinders St, Darlinghurst NSW 2010
7pm Tuesday, 7th August 2018

If you arrive and can’t find us then call Ben Lippmeier +61 421 381 880.

Cheers,
Ben.


Ben Lippmeier

unread,
Aug 15, 2018, 2:56:39 AM8/15/18
to discu...@googlegroups.com, fp-...@googlegroups.com

On 3 Aug 2018, at 7:52 pm, Ben Lippmeier <be...@ouroborus.net> wrote:

We’re having a PLT / PLS / Discus meeting next week to talk about the various projects that we’re working on. This is an informal gathering and discussion without pre-prepared talks. All interested parties are welcome. 

Attendees (6)
Rohan Jacob-Rao, Andrae Muys, Max Swadling, Ben Lippmeier, Josh Meredith, Joshua Pratt

Updates
Rohan: Attended the EOS hackathon on the weekend. The task was to build something that helps the environment (on blockchain!). Ended up building a water quality monitoring system. Community water quality data is a good use case for distributed ledgers, as water quality affects everyone, but there is currently no open (and free) data provider.

Andrae: Mentioned that a similar natural use case for distributed ledgers is Uruguai’s system for managing land titles. The government is in flux, and they have a trust problem where records of title transfer sometimes get lost. Land title records are now being registered on the Bitcoin chain, where 1 satoshi transitions are added with extra data. Even during the December 2017 price spike, a transaction cost of ~27USD is not unreasonable for land title registration.

Max: Asked about whether new languages should be based around structural record and variant types, or nominal data types as per Haskell. The general consensus was that both are useful, as per the current situation in O’Caml. With only structural types it is hard to define mutually recursive data types, but with only nominal types it’s hard to express naturally open concepts, such as the set of exceptions thrown by a function. In O’Caml, exception handling is a prime use case for open variant types.

Josh M: Has been working towards supporting arbitrary algebraic data types in Accelerate. The system is now able to encode data types encoded as arrays and tuples, but currently a large number of type class instances need to be written by hand. Handling data types generically in the Accelerate is difficult due to the use of typed de Bruijn references in the AST representation. There may be a solution using GHC Generics, else Template Haskell is the fall-back option.

Ben: Merged the updated interface file framework into DDC master, and rewrote the DDC LLVM pretty printer to do direct write to file instead of going via a pretty printer library [2]. Both of these changes combined reduced compile time for the ddc demos tests to about 35% of what it was originally. Also the reflection library working for function closures, so we now have a generic Debug.trace function that works for any value without the need for Show type class constraints as in Haskell. Has now started work on generic SHA256 hashing of values.

Next meeting is on 4th September.

Cheers,
Ben.

Reply all
Reply to author
Forward
0 new messages