Skip to content

Meeting minutes

Daniel Hillerström edited this page Mar 28, 2022 · 14 revisions

2022-03-28, version 0.9.6

  • 0.9.6 released (dhil)
  • JavaScript runtime changes (dhil)
    • More changes to come.
  • DPMT.links (sam)
    • Degree Project Management Tool (DPMT), the current revision is implemented by Tom Spink.
    • There is room for improvement. Ohad suggested to re-implement DPMT in Links.
    • In its essence: a database with a frontend.
    • Potential Links related issues: security and stability.
      • Integration with DICE authentication.
      • Serialised continuations should be encrypted (maybe we don't need serialised continuations at all?).
      • An option to disable RPC features of Links?
    • Deadline? Ask Sid.
  • Links compiler infrastructure (dhil)
  • Misc
    • Option or Maybe? We go with Maybes.
    • Anybody got a figure for Links that lists/connects its various features? Yes, Simon does.
      • More generally, we should create/collect materials for presenting Links to various audiences.

2022-02-28, version 0.9.5

  • Preparing 0.9.6 (or 0.10.0?) release
    • Sticking with 0.9.6 for this release.
  • Updates to CHANGES.md [sent to [email protected]] (wilmer)
    • Moving forward we will add an "Unreleased" section to CHANGES.md, where we can record changes that have not yet been bundled into a release.
  • JavaScript runtime changes (dhil)
    • A thorough Spring cleaning of the JavaScript/client side stuff.
  • Misc

2022-01-31, version 0.9.5

  • 0.9.5 release
    • Pull-requesters: remember to modify CHANGES.md accordingly!!
  • Temporal database stuff (simonj)
    • In essence a simple thing, but touches most of the code base (new keywords, parsing, typechecking, ir nodes, evaluation rules)
    • How many database flags do we have (mixing_norm, more?)?
      • Many of our database features are controlled via code annotations, e.g. query [nested] { ... }.
      • We need a flag for toggling temporality.
      • Potential problem with temporal joins in nested queries.
      • Emit warnings for potential problematic interactions between temporality and shredding.
    • We have interested users(/use-cases?).
  • Communicating over secure connections (https/wss) (sam)
    • We need a way to configure Links to admit secure and non-secure connections.
    • Flag to instruct Links to only operate over secure connections?
  • Next release: When? What version number?
    • ASAP after merge of temporal database stuff.
  • Misc
    • It'd be useful to be able to detect when a user closes their web browser / tab. We can sort of do this with session exceptions, however, it is somewhat troublesome as it changes the type signatures of all communication-primitives.
    • MVU has its own HTML data type for building components. It lacks support for manipulating the DOM, e.g. attaching a video.
    • (Alien) abstract types.
    • Document the previously used release names.
      • 0.6: Gorgie
      • 0.7: Dalry
      • 0.8: Merchiston
      • 0.9: Burghmuirhead

2021-11-29, version 0.9.4

  • Preparation of next release
    • Release condition: Temporal database stuff. It is not quite ready yet.
    • PR #1061 needs to implement a value restriction check before merge.
    • Issue #1067 is prioritised for release 0.9.5
    • Version number? Increment revision number for hotfixes, and increment minor for significant changes / features added.
  • Misc
    • UG students wishlist: Ability to detect dropped connections
      • We can possibly add a facility to the prelude which uses session types under the hood to propagate failures.
    • SSL/secure connections: set up an apache proxy server with lets encrypt

2021-10-25, version 0.9.4

  • Links hackathon (Frank&Daniel)

    • Frank has implemented F system-style type abstractions (PR #1061)
    • Daniel has been working on hygienic names.
  • Flaky headless CI (Daniel)

    • Transient failures due to incompatibility between Selenium web drivers and web browser versions
    • Temporary solution: disable Firefox step (until someone dedicates time to iron out the issues). Open issue on links-lang/links.
  • Misc

    • Temporal database queries: it's coming together. Still needs more polishing before it's in a mergeable state. The type checking needs to be refactored, the IR and related stuff is done.
    • Gather.town clone / WebRTC support in Links: Both UG students have managed to get Links up and running with WebRTC via the alien interface. Possibly want to make one version using the MVU library. The MVPs will have two different APIs, which we'll reconcile later (maybe).
    • Dump compilation artifacts to disk: IR, AST, JS code, HTML, Value.t, Queries, compilation units?
      • Concrete wish: "Static" webpage generation from Links

2021-09-27, version 0.9.4

  • 0.9.4 release
    • Release pipeline easier than ever!
  • Admin: organisation/repository privileges for past members
    • Garbage collected students and interns.
  • Headless testing
    • Test workshop in a (near) future?
  • 0.9.5 roadmap
    • Temporal database stuff (!)
    • Effect handlers enabled by default (!)
  • Misc
    • Undergrad projects (MInf):
      • Zulip channel #links-webrtc
      • Update Links INSTALL.md for opam version 2.1.0 (no depext)
      • Simon has an IT student, who will do a project in Links (TBD)
    • Location inference (Kwanghoon)
      • PolyRPC -- prototype compiler for the poly rpc calculus
      • Locations need only be written down in type signature, not terms
      • Some locations can be omitted altogether as the compiler is capable of inferring them.
      • Location types to appear in the IR of Links?
      • Location inference can be done with ordinary type inference: A -> B L ~ ((L * A) -> B) Is the location a capability?
      • Separate meeting about location inference/PolyRPC
      • SF: The current realisation of locations in Links are a bit of a mess spawnClient, here, there Space for a nicer design
    • Wasm backend. Daniel and Sam are working on MULTIPLE Wasm backends for Links Motivation: Compiling functional languages to Wasm Experimentations with effect handlers on Wasm One "unified" backend for client & server side Links programs
Backends: Links IR -> JankyScript
          Links IR -> NotWasm
          Links IR -> Wasm bytecode
          \
          | Direct style
          | CPS

2021-08-30, version 0.9.3

  • End-to-end tests (PR #1035)
  • Preparation of release 0.9.4
    • Release responsible: Dee and dhil
    • Change changelog with PRs
  • Miscellaneous
    • Minor issue: Emit a warning when shadowing a binding
    • Next meeting: 27th September 2021
    • Two undergraduate students to work on "gather.town clone in Links"
    • Dee to work on wasm compilation

2021-07-26, version 0.9.3

  • Links benchmarks (dhil)

  • Pull request updates

    • Fix error with global let bound anonymous functions #1009, #1015, #1023 (Dee & dhil)
    • Coping with deeply nested literal JSON objects #1019 (dhil)
    • Roundtrip printer patch to handle current shared effect sugar #1006 (Samo)
    • Surface syntax for Presence type arguments #1000 (dhil)
    • Run interpreter testsuite on ubuntu-latest and macos-latest #981 (dhil)
    • Heterogeneous queries and delateralization #936 (wricciot)
  • Temporal database update? (simonjf)

  • Progress on version 0.9.4

  • Miscellaneous

2021-06-28, version 0.9.3

  • Release 0.9.3 (dhil)

    • Simplified release process
    • Possibly change license from GPL-2 to GPL-3
      • Let's try GPL3-only
  • Migration of continuous integration from Travis to GitHub Actions (dhil)

    • Changes to the test infrastructure
    • Potential enhancements
  • Up-to-date documentation (slindley)

    • (slindley): Poorly maintained documentations Various "competing" unmaintained documentations We need the documentation on the webpage, up-to-date.
    • (simonfowler): Quite a bit of effort has already been invested into Sphinx * Markdown-like syntax * expressions.rst is fairly complete * Structure in place for most things, for more advanced things only stubs are in place
    • (rudihorn): Use Pull Request templates, e.g. have a checkbox for "Have you updated the documentation?" CI to automatically deploy documentation
    • (vashti): GitHub wiki already records the basic, and ought to be merged into more complete documentation Happy to spend some time to make sure the documentation is meaningful

    Simon Fowler will take the lead on documentation maintaince

  • Pull request updates

    • Parsing recursive rows #993 (Samo)
    • New round-tripping pretty printer #982 (Samo)
    • Heterogeneous queries and delateralization #936 (wricciot)
    • Permissive escape bodies #981 (dhil)

Closed pull requests

  • In DesugarInners, don't patch already frozen variables #988 (merged by frank-emrich)
  • Sugartoir: Fix setting ambient effect when traversing zero-ary function #972 (merged by frank-emrich)
  • Freshen generalized type variables after turning lambda into named function #971 (by frank-emrich, merged by dhil)
  • fix #967 #968 (by kwanghoon, merged by dhil)
  • fix #895 #965 (by jamescheney, merged by dhil)
  • Consolidate primitive row labels and type informations #984 (merged by dhil)
  • Move the function tt to typeUtils.ml #983 (merged by dhil)