Skip to content

Commit

Permalink
Nick's talk info
Browse files Browse the repository at this point in the history
  • Loading branch information
lkuper committed Sep 27, 2023
1 parent 858f552 commit e019f87
Showing 1 changed file with 26 additions and 7 deletions.
33 changes: 26 additions & 7 deletions content/lsd-seminar/2023fa.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ Talks will be advertised on the [ucsc-lsd-seminar-announce](https://groups.googl

| Date | Speaker | Title |
|------- |--------- |--------- |
| [Sept. 29](#sept-29)| Vikram Narayanan | Towards fine-grained compartmentalization of operating system kernels|
| [Oct. 6](#oct-6) | Nick Rioux | TBD |
| [Sept. 29](#sept-29)| Vikram Narayanan | Towards fine-grained compartmentalization of operating system kernels |
| [Oct. 6](#oct-6) | Nick Rioux | Compositional & Scalable Programming in Granite |
| [Oct. 13](#oct-13) | Harrison Goldstein | TBD |
| [Oct. 20](#oct-20) | TBD | TBD |
| [Oct. 27](#oct-27) | TBD | TBD |
Expand Down Expand Up @@ -64,11 +64,30 @@ kernels, and heterogeneous systems.

**Speaker:** Nick Rioux

**Title:** TBD

**Abstract:** TBD

**Bio:** TBD
**Title:** Compositional & Scalable Programming in Granite

**Abstract:** Granite is a strict and untyped programming language under development with the
goal of enhancing functional programming along a number of axes.
It aims to provide a basis for general-purpose programming that is:

1. Compositional: It is easy to extend (mutually) recursive functions to
support new cases.
2. Expressive: Programmers can work with both the rich data structures common
in functional programming as well as cyclic data more naturally supported by
Datalog.
3. Scalable: Programs naturally incorporate parallelism in a manner reminiscent
of LVars. This should also extend to eventually consistent-by-design distributed
computation a la CRDTs.

Perhaps surprisingly, these three aspects of language design are related:
Granite's design is emerging from the observation that the key to achieving each
of the above-mentioned goals is a join-semilattice. Granite makes semilattice
structure a first-class language feature; we'll see what this means by example.

**Bio:** Nick is a PhD student at the University of Pennsylvania. He applies mathematical
concepts from abstract algebra to make it more practical for programmers to
break their code into smaller reusable components while also scaling their
programs across a distributed system.

# Oct. 13

Expand Down

0 comments on commit e019f87

Please sign in to comment.