Skip to content

Miking Meeting Notes 2022

Daniel Lundén edited this page Dec 20, 2022 · 75 revisions

Meeting Notes 2022-12-20

Note-taker: Daniel Lundén

Participants: Daniel Lundén, David Broman, Lars Hummelgren, Anders Ågren Thuné, Gizem Caylak, John Wikman, Linnea Stjerna, Viktor Palmkvist, Oscar Eriksson

Pull requests

Goals for 2023 and beyond (sorted by priority, descending)

  • Add proper bootstrapping (https://github.com/miking-lang/miking/issues/624).
    • LR parser
    • MLang translation
    • Dead code elimination
  • Set up Miking association.
  • Arrange contributor introduction meeting.
  • Construct contributor agreement and add contribution guide to website.
  • Improve error messages generally.
  • Improve documentation (README, website).
    • Tutorials
    • Official installation page
  • Improve handling of externals.
  • Add REPL for mi, including work on mi eval.
  • Add MExpr with support for imperative constructs (loop, break, return, statements). Investigate join points.
  • Add dive operator with partial evaluation.
  • Add nested parsing.

Backlog

  • Discuss PR merging routines for Miking text editor repositories.

The first Miking meeting for 2023 will take place on January 12, 13:00.

Meeting Notes 2022-12-08

Note-taker: Gizem Caylak

Participants: Viktor Senderov, Gizem Çaylak, Viktor Palmkvist, Lars Hummelgren, John Wikman, Linnea Stjerna, Anders Ågren Thuné, David Broman

Pull requests

Discussion

  • Miking workshop planning

Meeting Notes 2022-12-06

Note-taker: John Wikman

Participants: Viktor Senderov, Gizem Çaylak, Viktor Palmkvist, Lars Hummelgren, John Wikman, Oscar Eriksson, Linnea Stjerna, Anders Ågren Thuné, David Broman

Pull requests

Discussion

  • Miking workshop planning

Meeting Notes 2022-11-29

Note-taker: Viktor Palmkvist

Participants: Lars Hummelgren, John Wikman, Oscar Eriksson Pull requests

Discussion:

Meeting Notes 2022-11-24

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, Gizem Caylak, John Wikman, Daniel Lunden, Oscar Eriksson, Viktor Palmkvist Pull requests

Meeting Notes 2022-11-17

Note-taker: Oscar Eriksson

Participants: Lars Hummelgren, Gizem Caylak, John Wikman, Daniel Lunden, Oscar Eriksson, David Broman, Viktor Palmkvist, Nikolaus Huber

Pull requests

Discussion Lars presented a proof of concept for dynamic loading of externals. It looks promising for the interpreter but a bit more thinking is required for the compilation. There are some issues with dynamic loading and the Owl library. Therefore, projects that depends on this library should consider moving awway from this dependecy.

Meeting Notes 2022-11-15

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, Gizem Caylak, John Wikman, Daniel Lunden, Oscar Eriksson, David Broman, Viktor Palmkvist, William Rågstad, Anders Ågren Thuné

Pull requests

Meeting Notes 2022-11-08

Note-taker: John Wikman

Participants: David Broman, Lars Hummelgren, Oscar Eriksson, John Wikman, Gizem Çaylak

(No pull requests)

Discussion

  • Planning for the Miking release workshop. David has set up a spreadsheet with the tasks to be performed.

Meeting Notes 2022-11-03

Note-taker: Viktor Palmkvist

Participants: Lars Hummelgren, Gizem Caylak, John Wikman, Daniel Lunden, Oscar Eriksson, David Broman, Oscar Eriksson

Pull requests

Discussion

  • It would be nice to be able to run inference things and interactively end it, and/or be able to resume an earlier run if you end up needing to run for longer.

Meeting Notes 2022-10-25

Note-taker: Oscar Eriksson

Participants: Lars Hummelgren, Gizem Caylak, John Wikman, Daniel Lunden, Oscar Eriksson, David Broman, William Rågstad, Viktor Palmkvist

Pull requests

Meeting Notes 2022-10-18

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, Gizem Caylak, John Wikman, Daniel Lunden, Oscar Eriksson, Anders Ågren Thuné

Pull requests

Meeting Notes 2022-10-13

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, Viktor Palmkvist, Gizem Caylak, John Wikman, Oscar Eriksson, David Broman

Pull requests

Meeting Notes 2022-09-29

Note-taker: Lars Hummelgren

Participants: Lars Hummelgren, Viktor Palmkvist, Daniel Lundén

Pull requests

Meeting Notes 2022-09-22

Note-taker: Oscar Eriksson

Participants: Lars Hummelgren, Gizem Çaylak, Daniel Lundén, David Broman, Lars Hummelgren Online: Anders Ågren Thuné

Pull requests

Merge order 635, 108, 42, whatever

Meeting Notes 2022-09-15

Note-taker: Lars Hummelgren

Participants: Lars Hummelgren, Gizem Çaylak, Daniel Lundén, David Broman Online: Viktor Palmkvist

Pull requests

Discussions

Meeting Notes 2022-09-13

Note-taker: Lars Hummelgren

Participants: Lars Hummelgren, John Wikman, Daniel Lundén, Viktor Palmkvist, David Broman Online: Oscar Eriksson

Pull requests

Discussions

  • We discussed an approach for merging ASTs.

Meeting Notes 2022-09-08

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, John Wikman, Daniel Lundén, Gizem Çaylak

Pull requests General note: there is a problem with the Owl package that causes tests to fail on Mac. Merge PRs after fixing Owl problem.

Meeting Notes 2022-08-30

Note-taker: Linnea Stjerna

Online: Linnea Stjerna, David Broman, Oscar Eriksson, Lars Hummelgren, William Rågstad, John Wikman, Viktor Palmkvist, Anders Ågren Thuné, Daniel Lundén, Gizem Çaylak

Pull requests

Discussion

  • The tuple projection construct in AST builder (tupleproj_) generates a non-symbolized name. We see no drawback in symbolizing the name if it introduces no overhead. Viktor P will try out the bootstrapping with and without symbolizing enabled. Long-term policy: the AST builder (and code transformations using them) should maintain the invariant that names are symbolized.
  • Task force for full bootstrapping (we went through the notes in the open issue). We like the proposal. We agreed that the improved include handling should not allow transitive includes. This will mean that we will have to add a lot of includes in the stdlib files that depend transitively on e.g. bool.mc right now.

Meeting Notes 2022-08-23

Note-taker: Viktor Palmkvist

Participants: John Wikman, Gizem Çaylak, Daniel Lundén, Viktor Palmkvist, David Broman Online: Linnea Stjerna, Anders Ågren Thuné

Pull requests

Discussion True bootstrapping task force, not requiring the boot-parser hack

  • Goal: implement the current system, with minor improvements, rather than include research efforts
  • Current main members: Viktor and John, plan out the tasks some time next week

Meeting Notes 2022-08-18

Note-taker: Oscar Eriksson

Participants: Lars Hummelgren, John Wikman, Gizem Çaylak, Daniel Lundén, Viktor Palmkvist Online: William Rågstad

Pull requests

Meeting Notes 2022-08-16

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, John Wikman, Gizem Çaylak, Daniel Lundén, Viktor Palmkvist, David Broman Online: Anders Ågren Thuné, William Rågstad

Pull requests

Meeting Notes 2022-07-07

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, John Wikman, Gizem Çaylak, Daniel Lundén, Viktor Senderov, Anders Ågren Thuné, David Broman

Pull requests

Next Miking meeting is planned to be on August 16th.

Meeting Notes 2022-07-05

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, John Wikman, Gizem Çaylak, Daniel Lundén, Viktor Senderov

Online: Anders Ågren Thuné, Linnea Ingmar

Pull requests

Meeting Notes 2022-06-30

Note-taker: John Wikman

Participants: Lars Hummelgren, John Wikman, Linnea Ingmar, Gizem Çaylak, Daniel Lundén

Online: Anders Ågren Thuné

Pull requests

Discussion

  • Discussed the need to handle the all type syntax in the transformations after the type checking. It has been causing some issues for Lars. Various approaches were discussed. Might need to revisit this in the future.

Meeting Notes 2022-06-28

Note-taker: Lars Hummelgren

Participants: Daniel Lundén, John Wikman, Lars Hummelgren, Oscar Eriksson, Linnea Ingmar, Gizem Çaylak

Online: Anders Ågren Thuné

Pull requests

Meeting Notes 2022-06-23

Note-taker: John Wikman

Participants: David Broman, Daniel Lundén, Viktor Senderov, Lars Hummelgren, Gizem Çaylak, John Wikman

Online: Linnea Ingmar, Anders Ågren Thuné

Pull requests

Discussion

  • Utest generation with variant types. Lars should be able to fix this issues on his own.

Meeting Notes 2022-06-21

Note-taker: Viktor Palmkvist

Participants: Viktor Senderov, Gizem Çaylak, Oscar Eriksson, David Broman, Linnea Ingmar, John Wikman

Online: Anders Ågren Thuné, William Rågstad, Lars Hummelgren

Pull requests

Meeting Notes 2022-06-16

Note-taker: Oscar Eriksson

Participants: Daniel Lundén, Viktor Senderov, Gizem Çaylak, Oscar Eriksson

Online: Linnea Ingmar, Anders Ågren Thuné, Viktor Palmkvist

Pull requests

Meeting Notes 2022-06-14

Note-taker: Gizem Çaylak

Participants: Daniel Lundén, Viktor Senderov, Viktor Palmkvist, Linnea Ingmar

Online: Gizem Çaylak, Anders Ågren Thuné, William Rågstad

Pull requests

Meeting Notes 2022-06-09

Note-taker: Viktor Palmkvist

Participants: Daniel Lundén, Viktor Senderov, Gizem Çaylak, David Broman, Lars Hummelgren, Oscar Eriksson

Online: Anders Ågren Thuné, Linnea Ingmar

Pull requests

Meeting Notes 2022-05-31

Note-taker: Linnea Ingmar

Participants: Daniel Lundén, Viktor Senderov, Gizem Çaylak, David Broman, Lars Hummelgren, Linnea Ingmar, John Wikman

Online: William Rågstad, Anders Ågren Thuné

Pull requests

Meeting Notes 2022-05-24

Note-taker: Gizem Çaylak

Participants: Daniel Lundén, Viktor Senderov, Oscar Eriksson, Lars Hummelgren

Online: Gizem Çaylak, Linnea Ingmar, William Rågstad, Anders Ågren Thuné, Viktor Palmkvist, David Broman

Pull requests

Discussion

  • Miking meetings are 1-2 pm directly after lunch from now on.

Meeting Notes 2022-05-19

Note-taker: Viktor Palmkvist Participants: John Wikman, Daniel Lundén, Linnea Ingmar, Viktor Senderov, Oscar Eriksson, Lars Hummelgren Online: Gizem Çaylak

Pull requests

Discussion

Meeting Notes 2022-05-17 syttende mai

Note-taker: Viktor S Participants: Anmol D, John W, Daniel L, Gizem C, Linnea I, Viktor S, Oscar E, David B, Lars H Online: Viktor P, William R

Pull requests

Discussion

  • we like #587 miking
  • we like #583 miking
  • we like #589 mikinig
  • we like #5 trellis
  • #588 miking introduces --typecheck to tool.mc. tpplc will need to be re-compiled with this flag after merging this PR; we like after tests have passed and ping David afterwards
  • #590 miking uses Comby tool to rewrite a lot of the code, to make use of the "Better errors"; err as a top-level name is clashing with what John uses normally, he will provide comments first; we like but err needs to be discussed and the previous PR needs to be merged, then ping David
  • #92 miking-dppl changes to the Makefile for RootPPL, CorePPL, and TreePPL; possibly will conflict, Daniel will resolve. mapPostAccumL, mapPreAccumL, etc. will be moved to the other PR #591
  • #591 miking we like, some stuff will have to be moved into it from #92 before merging

Meeting Notes 2022-05-12

Note-taker: Linnea Ingmar

Participants: Lars Hummelgren, John Wikman, Linnea Ingmar, Viktor Palmkvist, Oscar Eriksson, Gizem Çaylak, Viktor Senderov, Anmol Dhawan, David Broman, Daniel Lundén

Pull requests

Discussion

  • Viktor and Oscar presented the ideas about the new design for externals.

Meeting Notes 2022-05-10

Note-taker: Lars Hummelgren

Participants: William Rågstad, Lars Hummelgren, Anders Ågren Thuné, John Wikman, Linnea Ingmar, Viktor Palmkvist, Oscar Eriksson, Gizem Çaylak, Viktor Senderov, Anmol Dhawan, Daniel Lundén

Pull requests

Discussion

  • Daniel will update https://github.com/miking-lang/miking/issues/570 since the mentioned problem is solved by #580 (but not the one mentioned by Linnea).
  • Viktor P and Oscar presented proposed approach for externals. More discussions needed.
  • Viktor S showed working TreePPL example.

Meeting Notes 2022-05-03

Note-taker: John Wikman

Participants: William Rågstad, Lars Hummelgren, Viktor Palmkvist, Oscar Eriksson, Daniel Lundén, Gizem Çaylak, Viktor Senderov, David Broman, John Wikman.

Pull requests

Discussion

Started discussing https://github.com/miking-lang/miking/issues/562 regarding serialization of data in MCore. Got side-tracked and started talking about the externals system This is important and needed by many. To be discussed further at another meeting.

Meeting Notes 2022-04-28

Note-taker: Oscar Eriksson

Participants: Linnea Ingmar, Gizem Çaylak, Viktor Palmkvist, David Broman, Oscar Eriksson, Lars Hummelgren, Viktor Senderov, John Wikman, Daniel Lundén.

Pull requests

Discussion

We discussed https://github.com/miking-lang/miking/issues/574. We will leave this issue open.

Meeting Notes 2022-04-26

Note-taker: Daniel Lundén

Participants: Daniel Lundén, Viktor Senderov, Viktor Palmkvist, Oscar Eriksson, John Wikman, Linnea Ingmar, Gizem Caylak, Lars Hummelgren

Pull requests

Discussion

  • We discussed problems with unordered and ordered records. Ordered MExpr records are currently used for OCaml externals.

Meeting Notes 2022-04-21

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, Viktor Palmkvist, Oscar Eriksson, Daniel Lunden, Viktor Senderov, John Wikman, Gizem Caylak, Ander Ågren Thuné, William Rågstad

Pull requests

Meeting Notes 2022-04-14

Note-taker: Viktor Senderov

Participants: Lars Hummelgren, Viktor Palmkvist, Oscar Eriksson, Daniel Lunden, Viktor Senderov, John Wikman

Discussed PR Re-write OCaml data conversion into a more modular language fragment # 569

We like.

Meeting Notes 2022-04-07

Note-taker: John Wikman

Participants: Lars Hummelgren, Linnea Ingmar, Viktor Palmkvist, John Wikman, Oscar Eriksson

Pull requests

Discussion

  • https://github.com/miking-lang/miking/issues/566
    • Problem with performance if too many temp directories are created due to the suffix index being incremented.
    • Agreed upon using a randomized suffix instead of an incremented one.
    • Linnea will look into implementing this.

Meeting Notes 2022-04-05

Note-taker: Lars Hummelgren

Participants: William Rågstad, Lars Hummelgren, Linnea Ingmar, Viktor Palmkvist, John Wikman, Oscar Eriksson, Ander Ågren Thuné

Pull requests

Discussion

Meeting Notes 2022-03-31

Note-taker: Viktor Palmkvist

Participants: David Broman, Lars Hummelgren, Anders Ågren Thuné, Daniel Lundén, Viktor Palmkvist, William Rågstad, Viktor Senderov, John Wikman, Linnea Ingmar, Gizem Çaylak

Pull requests

Meeting Notes 2022-03-24

Note-taker: Gizem Çaylak

Participants: Viktor Palmkvist, John Wikman, Gizem Çaylak, William Rågstad,Viktor Senderov, Daniel Lunden, and Lars Hummelgren

Pull requests

Meeting Notes 2022-03-22

Note-taker: Lars Hummelgren

Participants: Daniel Lundén, Lars Hummelgren, William Rågstad, John Wikman, Viktor Palmkvist, Gizem Çaylak, Oscar Eriksson, David Broman, Linnea Ingmar

Pull requests

Discussion

  • Syntax for expressing types of match argument and return of sem.
    • Add optional type declaration style for sems like sem fn : Int -> () -> (), in addition to the existing style.
    • Empty sems are deprecated: sem fn (a : Int) = -- Intentionally empty.
    • Viktor will investigate how much work it would take.
    • Accepted formats:
sem leftAllowed_DeclOp : Int -> {parent : ()} -> ()
  
sem leftAllowed_DeclOp : Int -> {parent : ()} -> ()
sem leftAllowed_DeclOp thing =
  
sem leftAllowed_DeclOp : Int -> {parent : ()} -> ()
sem leftAllowed_DeclOp (thing : Int) =

sem leftAllowed_DeclOp thing = -- Intentionally empty

sem leftAllowed_DeclOp (thing : Int) =

Meeting Notes 2022-03-17

Note-taker: Oscar Eriksson

Participants: Viktor Palmkvist, Linnea Ingmar, David Broman, John Wikman, Anders Ågren Thuné, Gizem Çaylak, Oscar Eriksson, Viktor Senderov, Daniel Lunde, and Lars Hummelgren

Pull requests

Discussion Explicit or implicit universal quantification (based on this issue https://github.com/miking-lang/miking/issues/554). Viktor presented the problem and we decided on fully explicit quantification.

Meeting Notes 2022-03-10

Note-taker: John Wikman

Participants: Viktor Palmkvist, Linnea Ingmar, David Broman, John Wikman, Anders Ågren Thuné, Gizem Çaylak, Oscar Eriksson

Pull requests

Discussion

  • Discussed whether or not to force explicit for-all quantification on annotations of unbound types. Arguments were brought up for and against. Viktor presented an example where it might be good to have explicit for-all quantifiers in the type annotation. He will create an issue in GitHub about this where the discussion can be had further.

Meeting Notes 2022-03-03

Note-taker: Viktor Palmkvist

Participants: Daniel Lundén, John Wikman, Gizem Caylak, Linnea Ingmar, Viktor Palmkvist, Lars Hummelgren, Anders Ågren Thuné, William Rågstad, Oscar Eriksson

Pull requests

Meeting Notes 2022-03-01

Note-taker: Daniel Lundén

Participants: Daniel Lundén, Lars Hummelgren, Gizem Caylak, Linnea Ingmar, Oscar Eriksson, John Wikman, William Rågstad, Viktor Palmkvist

Pull requests

Discussion

  • Viktor presented his work on the parsing framework.

Meeting Notes 2022-02-22

Note-taker: Gizem Caylak

Participants: Linnea Ingmar, Daniel Lundén, Gizem Caylak, Anders Agren Thune, David Broman, Viktor Palmkvist

Pull requests

Discussion

  • Lars will make an urgent PR on dppl crush and Daniel will check it.
  • Linnea will change the documentation and add (some) PR to fix opam pin.

Meeting Notes 2022-02-17

Note-taker: Linnea Ingmar

Participants: Linnea Ingmar, Daniel Lundén, Gizem Caylak, Oscar Eriksson, David Broman, Viktor Palmkvist

Pull requests

Discussion

  • We discussed new agreements about the office (when to be there and who sits in which room).
  • Next time we'll discuss Viktor's parser generator DSL.

Meeting Notes 2022-02-15

Note-taker: Lars Hummelgren

Participants: Lars Hummelgren, Linnea Ingmar, Anders Ågren Thuné, Daniel Lundén, Gizem Caylak, Oscar Eriksson

Pull requests

Discussion

Meeting Notes 2022-02-10

Note-taker: Gizem Caylak

Participants: Lars Hummelgren, Gizem Caylak, Linnea Ingmar, Oscar Eriksson, David Broman

Pull requests

Meeting Notes 2022-02-08

Note-taker: Daniel Lundén

Participants: Daniel Lundén, Anders Ågren Thuné, Lars Hummelgren, Gizem Caylak, Linnea Ingmar, Oscar Eriksson

Issues

Meeting Notes 2022-02-03

Note-taker: Viktor Palmkvist

Participants: Lars Hummelgren, Gizem Caylak, Daniel Lunden, Linnea Ingmar, David Broman, William Rågstad.

Pull requests

Discussion

  • Lars: how to control the size of integers/floats in MExpr? Lots of back and forth discussion on what to do.

    Concrete conclusions:

    • Accelerate will choose size through a flag, using 64 bit as the default size.
    • Default ints in MExpr are at least 53 bits, with undefined behavior if a value gets too large to fit.

    Other thoughts and relevant things:

    • A new kind of expression that specifies the minimum size required for the contained expression, using some form of dynamic scoping (i.e., it's not just the precise expression, but also functions called from there etc.). These would nest by choosing the smallest size sufficient for all such constraints that are "in scope". However, this would most likely not affect things that are not under any constraint, these would instead use the 53 bit default size.
    • We could have a subset of MExpr that is extremely explicit in sizes, including conversion functions etc. Programs would be compiled from something more high level into MExpr that uses something more convenient (the previous point or something else), then transformed into something that only uses these extremely specific types, presumably by a pass that knows what backend we're compiling towards.
    • Attach possible range information to an int type, propagate appropriately through arithmetic and the like, then provide explicit wrap and check operations for getting the range down to a smaller range. The compiler would choose a backing type based on what's required, and choose appropriate instructions for the combination of wrap/check and arithmetic being done. Inspiration: https://blog.polybdenum.com/2021/10/03/implicit-overflow-considered-harmful-and-how-to-fix-it.html
    • One relevant point is that it may be useful to switch precision in a quite granular manner: https://ieeexplore.ieee.org/abstract/document/8443735

Meeting Notes 2022-02-01

Note-taker: Oscar Eriksson

Participants: Linnea Ingmar, Lars Hummelgren, Gizem Caylak, Viktor Palmkvist, David Broman, Oscar Eriksson.

Pull requests

Discussion We again discussed the semantics of sequence intrinsic (summarized here https://github.com/miking-lang/miking/issues/531). The conclusion is that we like it but it needs more testing.

Meeting Notes 2022-01-27

Note-taker: Gizem Caylak

Participants: Linnea Ingmar, Lars Hummelgren, Gizem Caylak, Viktor Palmkvist

Pull requests

Discussion

Meeting Notes 2022-01-25

Note-taker: Daniel Lundén

Participants: Daniel Lundén, Viktor Palmkvist, Anders Ågren Thuné, Lars Hummelgren, Gizem Caylak, Linnea Ingmar, Oscar Eriksson, David Broman

Pull requests

Discussions

  • We discussed compiler performance issues discovered by Linnea and Lars.
  • We discussed adding unique symbols to the AST as a substitute for ANF (which is currently used for this purpose).

Meeting Notes 2022-01-20

Note-taker: Gizem Caylak

Participants: Linnea Ingmar, Lars Hummelgren, Oscar Eriksson, Gizem Caylak, Daniel Lundén

Pull requests

Discussion

Meeting Notes 2022-01-18

Note-taker: Lars Hummelgren

Participants: Linnea Ingmar, Lars Hummelgren, Viktor Palmkvist, Oscar Eriksson, Anders Ågren Thuné, David Broman, Daniel Lundén

Pull requests

Meeting Notes 2022-01-11

Note-taker: Viktor Palmkvist

Participants: Viktor Palmkvist, Anders Ågren Thuné, Lars Hummelgren, Gizem Caylak, Linnea Ingmar, David Broman, Oscar Eriksson

Pull requests

Discussion

  • Viktor: create an issue to rename the smap functions to not use snake case.

Pull requests postponed

Clone this wiki locally