-
Notifications
You must be signed in to change notification settings - Fork 31
Miking Meeting Notes 2024
Note-taker: Lars Hummelgren
Participants: Lars Hummelgren, Didrik Munther, Oscar Eriksson, Viktor Palmkvist, Marten Voorberg, John Wikman, David Broman
Pull Requests
- Didrik
- https://github.com/miking-lang/miking/pull/879
-
https://github.com/miking-lang/miking/pull/881
- We like, merge
- David: Approve PRs to run the workflow
Discussion
-
https://github.com/miking-lang/miking/issues/880
- Viktor should check the proposed solution
- Design of extensible compiler interface
Note-taker: Marten Voorberg
Attendees: John, Viktor P., David, Lars, Oscar, Gizem, Marten, Tim
Pull Requests
- Viktor P.
-
https://github.com/miking-lang/miking/pull/738
- John is concerned that Miking is now the only thing that is tested Miking. See also the comment on PR. A long discussion followed by a "We like" but there should be a sanity check.
-
https://github.com/miking-lang/miking/pull/876
- We like (I love)
- There is a performance issue when generating the entire string first before printing it. This much more performant (especially using less space). Maybe we should look at this for compilation.
-
https://github.com/miking-lang/miking/pull/738
- Oscar:
- https://github.com/miking-lang/miking/pull/877 - We like
- https://github.com/miking-lang/miking/pull/878 - We like but check that the flushing is necessary.
- https://github.com/miking-lang/miking-dppl/pull/190 - We like
Note-taker: Gizem Caylak
Participants: John Wikman, Didrik Munther, Marten Voorberg, John Wikman, Viktor Palmkvist, Anders Ågren Thuné, Gizem Caylak, Lars Hummelgren, David Broman
Pull Requests
- Gizem:
-
https://github.com/miking-lang/miking-dppl/pull/188
- We like, merge.
-
https://github.com/miking-lang/miking-dppl/pull/188
- Viktor
-
https://github.com/miking-lang/miking/pull/738
- We like, but should be tested on more machines before merging.
-
https://github.com/miking-lang/miking/pull/738
Discussions
- Deadcode elimination in boot is not conservative: https://github.com/miking-lang/miking/issues/875
Note-taker: Marten Voorberg
Participants: John Wikman, Didrik Munther, Marten Voorberg, Oscar Eriksson, John Wikman, Viktor Palmkvist, Tim Virgoulay, Gizem Caylak, Lars Hummelgren
Pull Requests
- Gizem: https://github.com/miking-lang/miking/pull/872
- We like, but functions in
file-ext.mc
should have thefile
prefix. E.g.readLine
should be named something likefileReadLine
. - Problems occur relating to pprinting and shadowing of intrinsics. We should handle shadowing of intrinsics in the pretty printer. Probably want to make an issue for this. Oskar will make an issue about this
- We like, but functions in
- Tim: https://github.com/miking-lang/miking-dppl/pull/187/files
- The runtime is around 70s so it can be slow. It should fall under a slow test target.
- Tim is a little unsure about the code since he is new to Miking-DPPL. It would be good if someone else reviews the code. Viktor can help form the coding side, although he cannot help much with the probability theory.
- We like, but we wait for it to be reviewed by Viktor P.
- Viktor P: https://github.com/miking-lang/miking/pull/873
- Dune removed from
mi
. It is however still used when usingboot
. This means there is one less dependency after bootstrapping. - We like, but check that performance is not affected or improved.
- Dune removed from
- Didrik: https://github.com/miking-lang/miking/pull/868
- The same stuff as 872 about prefixing applies.
- We like, but a prefix should be added.
Note-taker: Lars Hummelgren
Participants: John Wikman, Didrik Munther, David Broman, Lars Hummelgren, Anders Ågren Thuné, Marten Voorberg, Benjamin Driscoll
Pull Requests
- Didrik
-
https://github.com/miking-lang/miking/pull/868
- Update
readBytes
to return a sequence of integers instead of a String, because using strings may lead to issues with the encoding. - Add a timeout to
readBytesBuffered
.
- Update
-
https://github.com/miking-lang/miking/pull/868
Discussion
- Result of a long discussion on syntax:
-
syn
is used for extensible sum and product types. -
erec
is used specifically when we want product types, for convenience. -
sem
andcosem
are used for deconstruction and construction of types.
-
Note-taker: John Wikman
Participants: John Wikman, Anders Ågren Thuné, David Broman, Marten Voorberg, Lars Hummelgren, Didrik Munther, Oscar Eriksson
Pull-Requests:
- Lars
-
https://github.com/miking-lang/miking-dppl/pull/182
- We like, but consider to refactor the runtime in the future
-
https://github.com/miking-lang/miking-dppl/pull/182
- Didrik
-
https://github.com/miking-lang/miking/pull/868
- Put on hold, review again when we have more time
-
https://github.com/miking-lang/miking/pull/868
- Oscar
- NOTE: Oscar's miking PRs should be merged before miking-dppl PRs
-
https://github.com/miking-lang/miking/pull/869
- We like
-
https://github.com/miking-lang/miking/pull/870
- We like
-
https://github.com/miking-lang/miking-dppl/pull/183
- We like, but check the name on smap first
-
https://github.com/miking-lang/miking-dppl/pull/186
- We like
-
https://github.com/miking-lang/miking-dppl/pull/184
- We like
Note-taker: Marten Voorberg
Participants: John Wikman, Anders Ågren Thuné, David Broman, Marten Voorberg, Gizem Çaylak
Pull-Requests:
- Marten
-
https://github.com/miking-lang/miking/pull/865
- MacOS tests fail due to time-out. We like.
-
https://github.com/miking-lang/miking/pull/865
- John
-
https://github.com/miking-lang/miking-docker/pull/17/files
- We like
-
https://github.com/miking-lang/miking/pull/866
- We like, but there should be a test case that uses the function in question.
-
https://github.com/miking-lang/miking-docker/pull/17/files
Note-taker: Lars Hummelgren
Participants: Lars Hummelgren, John Wikman, Anders Ågren Thuné, David Broman, Marten Voorberg, Didrik Munther, Gizem Çaylak, Oscar Eriksson, Benjamin Driscoll
Pull Requests
- Gizem
-
https://github.com/miking-lang/miking-dppl/pull/178
- Includes PR #177 which should be closed
- Rename files in
PaperFigures
, explain what they are doing, and move them - After that, we like
-
https://github.com/miking-lang/miking-dppl/pull/178
- Oscar
Note-taker: Oscar Eriksson
Participants: John Wikman, David Broman, Oscar Eriksson, Didrik Munther, and Marten Voorberg
Pull Requests
- Marten
-
https://github.com/miking-lang/miking/pull/859
- We like, merge
-
https://github.com/miking-lang/miking/pull/860
- We like, merge
-
https://github.com/miking-lang/miking/pull/863
- Add documentation to tuple operations, then we like merge
-
https://github.com/miking-lang/miking/pull/859
- John
-
https://github.com/miking-lang/miking/pull/864
- We like, merge
-
https://github.com/miking-lang/miking-dppl/pull/176
- We like, merge
-
https://github.com/miking-lang/miking/pull/864
Discussions
We should add an external file-ext.mc
that reads a bounded number of bytes from stdin.
Note-taker: Marten Voorberg
Participants: Lars Hummelgren, John Wikman, Gizem Çaylak and Marten Voorberg
Pull Requests
Ready to be merged:
- https://github.com/miking-lang/miking/pull/858/files
- https://github.com/miking-lang/miking/pull/857
- https://github.com/miking-lang/miking-dppl/pull/175
Marten:
- https://github.com/miking-lang/miking/pull/856/files We like, but clarify docstring wrt changing size Add more test cases (e.g. empty set)
- https://github.com/miking-lang/miking/pull/858/files We like.
Gizem:
- https://github.com/miking-lang/miking/pull/857 We like.
- https://github.com/miking-lang/miking-dppl/pull/175 We like.
Note-taker: Gizem Caylak
Participants: David Broman, Lars Hummelgren, John Wikman, Gizem Çaylak, Marten Voorberg, Yang
Discussions
- Yang is a new member of Miking 🥳
- Wait until someone decides to work on it: https://github.com/miking-lang/miking/issues/832
Note-taker: Lars Hummelgren
Participants: Viktor Palmkvist, David Broman, Lars Hummelgren, Oscar Eriksson, John Wikman, Gizem Çaylak, Marten Voorberg, Anders Ågren Thuné
Pull Requests
- PRs ready to be merged:
- Viktor
-
https://github.com/miking-lang/miking/pull/854
- We like, merge
-
https://github.com/miking-lang/miking/pull/855
- Document new functions, add tests, add versions without keys
- Then we like, merge
-
https://github.com/miking-lang/miking/pull/854
- Revisited old PRs ready to be merged:
- https://github.com/miking-lang/miking/pull/848
-
https://github.com/miking-lang/miking/pull/833
- Sanity check pretty-printed output, double-check that it is tested, merge if it looks good
Note-taker: Oscar Eriksson
Participants: Viktor Palmkvist, Lars Hummelgren, Oscar Eriksson, Anders Ågren Thuné, Marten Voorberg, David Broman
Pull Requests
- Viktor:
-
https://github.com/miking-lang/miking/pull/852
- We like, merge
-
https://github.com/miking-lang/miking/pull/853
- We like, merge after tests pass
-
https://github.com/miking-lang/miking/pull/852
Note-taker: Gizem Caylak
Participants: Viktor Palmkvist, Lars Hummelgren, Gizem Caylak, Oscar Eriksson, Anders Ågren Thuné, Marten Voorberg, David Broman, John Wikman
Pull Requests
- Anders:
- https://github.com/miking-lang/miking/pull/845
- We liked, merge
- David:
-
https://github.com/miking-lang/miking/pull/846
- Change empty -> emptyPA
- Look into the type error, and then we liked merge.
-
https://github.com/miking-lang/miking/pull/846
- Lars:
- https://github.com/miking-lang/miking/pull/847
- We liked, merge
- Martin:
-
https://github.com/miking-lang/miking/pull/842
- Resolve Viktor's comments
- We liked, but PRs for other repos should be up; then ping David and merge all PRs
-
https://github.com/miking-lang/miking/pull/842
- Viktor: Look at the documentation for debugging
- https://github.com/miking-lang/miking/pull/848
- We liked, merge
- https://github.com/miking-lang/miking/pull/793
- We liked, merge
- https://github.com/miking-lang/miking-dppl/pull/169
- We liked, merge
- Gizem:
-
https://github.com/miking-lang/miking-dppl/pull/173
- We liked, merge
-
https://github.com/miking-lang/miking-dppl/pull/173
Note-taker: Viktor Palmkvist
Participants: Viktor Palmkvist, Lars Hummelgren, Gizem Caylak, Oscar Eriksson, Anders Ågren Thuné, Marten Voorberg, David Broman
Pull Requests
- Viktor: https://github.com/miking-lang/miking/pull/841
- Flag for exit code if anything failed
- Flag to move logs to a given directory when things fail
- After that we like
- Gizem: https://github.com/miking-lang/miking-dppl/pull/167
- We like. There's a known bug and lack of documentation, but both of those will get a new PR.
- Lars: https://github.com/miking-lang/miking/pull/843
- We like
Note-taker: Gizem Caylak
Participants: Viktor Palmkvist, Lars Hummelgren, John Wikman, David Broman, Oscar Eriksson, Anders Ågren Thuné, Gizem Caylak, Didrik Munther
Pull Requests
- Oscar
Note-taker: Oscar Eriksson
Participants: Viktor Palmkvist, Lars Hummelgren, John Wikman, David Broman, Marten Voorberg, David Broman (last half)
Pull Requests
- Viktor
- Marten
-
https://github.com/miking-lang/miking/pull/838
- We like, David needs enable the github action pipeline.
-
https://github.com/miking-lang/miking/pull/838
Discussion
We discussed Martins proposed extensions to the MLang syntax.
Note-taker: John Wikman
Participants: Viktor Palmkvist, Lars Hummelgren, John Wikman, David Broman, Marten Voorberg, Anders Ågren Thuné, Gizem Çaylak, Oscar Eriksson
Pull Requests
- Lars
- Oscar
-
https://github.com/miking-lang/miking/pull/831
- Concerned about the performance of cmpf. Should look at implementing this as an external in the future.
- Oscar should add a OPT comment for cmpf, then we like.
- Should be merged together with https://github.com/miking-lang/miking-dppl/pull/161
-
https://github.com/miking-lang/miking/pull/834
- We like
-
https://github.com/miking-lang/miking-dppl/pull/158
- Already approved, but should be merged after https://github.com/miking-lang/miking/pull/831
-
https://github.com/miking-lang/miking-dppl/pull/161
- We like
-
https://github.com/miking-lang/miking/pull/831
- Gizem
-
https://github.com/miking-lang/miking-dppl/pull/164
- Add description from PR as documentation in the repository.
- We like, but make new PR with the documentation.
-
https://github.com/miking-lang/miking-dppl/pull/164
Discussion
- We want to have a hard requirement on documentation
- Always require a comment at the top of the file, which describes the file
- We should continue this discussion at a further time to get a agree on a list of requirements for comments.
Note-taker: John Wikman
Participants: Viktor Palmkvist, Lars Hummelgren, Gizem Çaylak, John Wikman, David Broman, Marten Voorberg
Pull Requests
- Gizem
-
https://github.com/miking-lang/miking-dppl/pull/163
- This also includes https://github.com/miking-lang/miking-dppl/pull/162.
- We like
-
https://github.com/miking-lang/miking-dppl/pull/163
- Oscar
-
https://github.com/miking-lang/miking-dppl/pull/162
- Not necessary to merge this anymore due to Gizem's PR.
-
https://github.com/miking-lang/miking-dppl/pull/157
- Oscar should explain this to David, don't merge this now.
- https://github.com/miking-lang/miking/pull/831
-
https://github.com/miking-lang/miking/pull/834
- These 2 above are on hold until Oscar is present
-
https://github.com/miking-lang/miking-dppl/pull/162
Note-taker: Lars Hummelgren
Participants: Oscar Eriksson, John Wikman, Anders Ågren Thuné, Marten Voorberg, Lars Hummelgren, Didrik Munther, Gizem Çaylak
Pull Requests
- Oscar
-
https://github.com/miking-lang/miking/pull/831
- Rename comparison function to
cmpf
- Move the code to the same place as the
cmpfApprox
function (inmath.mc
) - Add test cases
- Then, we like
- Rename comparison function to
-
https://github.com/miking-lang/miking-dppl/pull/157
- We like
-
https://github.com/miking-lang/miking-dppl/pull/158
- Depends on #831 in Miking
- In the future, it might be nice to put the implementation in the Miking repo
- We like
-
https://github.com/miking-lang/miking/pull/831
- John
Note-taker: Viktor Palmkvist
Participants: David Broman, Viktor Senderov, Gizem Caylak, Oscar Eriksson, John Wikman, Anders Ågren Thuné, Marten Voorberg, Lars Hummelgren
PRs
- Viktor S: https://github.com/miking-lang/miking/pull/829
- Create issue in treeppl and reference in the fix, since the error is probably there, then we like.
- Viktor S: https://github.com/miking-lang/miking-dppl/pull/154
- Handle the
n
parameter in the function, even if there's no command line parameter to specify it, remove changelog for now, then we like.
- Handle the
- Oscar: https://github.com/miking-lang/miking/pull/828
- Wait with changing copyright, add complexity documentation for the added functions, then we like
- Oscar: https://github.com/miking-lang/miking-dppl/pull/155
- Check for commented out code, and create an issue specifying the dependencies that created the weird parameter order type error problem, and talk with Gizem. After that ping David and we like.
- Lars: https://github.com/miking-lang/miking/pull/827
- We like
Discussion
- Changelog: is this a thing we want to have, given the extra work? At what point would we commit to keeping such a thing updated?
Note-taker: Oscar Eriksson
Participants: Gizem Çaylak, Viktor Palmkvist, Lars Hummelgren, Oscar Eriksson, John Wikman, Marten Voorberg
Pull requests
- Gizem: https://github.com/miking-lang/miking-dppl/pull/152 (draft)
- We discussed the PR and like the draft after adding
--prune
versions of all coreppl-to-mexpr tests run withmake test
.
- We discussed the PR and like the draft after adding
Discussion For the task force working on MLang parsing to make progress, we propose the following steps going forward.
- Extend bootparser with MLang
- Extend symbolize with MLang
- Extend type-checker (check that compositions are valid)
- Add generation of MExpr from MLang
At a later stage, we need to port some or all things related to externals from boot.
Note-taker: John Wikman
Participants: Gizem Çaylak, David Broman, Viktor Palmkvist, Lars Hummelgren, Oscar Eriksson, John Wikman, Anders Ågren Thuné
Pull requests
- Gizem: https://github.com/miking-lang/miking-dppl/pull/152
- We like
Discussion
- John:
- Externals system, recap and discussed next steps
- David will open a GitHub issue with some initial ideas and requirements
- David:
- Miking paper next steps
- Issue for previous deadline was that we could not boostrap the compiler with the type system implementation at that time
- Discussed using the effects system
- Proposal is to go ahead with the effects system
Note-taker: Viktor Palmkvist
Participants: Anders Ågren Thuné, John Wikman, Oscar Eriksson, Lars Hummelgren, Linnea Stjerna
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/807
- Needs integration into automatic testing, then we like
Other We'd like a short reference description on the documentation site, but we don't think the PR should be blocked on that.
Note-taker: Anders Ågren Thuné
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, John Wikman, David Broman
Pull requests None
Discussion We discussed the tuple projection issue, and decided to adopt John's first suggestion since it would be self-consistent and remove one case of syntactic sugar.
We decided to not adopt his third suggestion for now.
We discussed how to prevent breakage in dependent projects. We talked about adopting proper versioning and (hopefully stable) releases that third-party projects can depend on.
Note-taker: Viktor Palmkvist
Participants: Anders Ågren Thuné, Oscar Eriksson, Linnea Stjerna, Lars Hummelgren, David Broman, John Wikman, Gizem Çaylak
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/822
- We like
- Oscar: https://github.com/miking-lang/miking/pull/821
- Change to use
Result
rather thanEither
, then we like - CorePPL needs a corresponding change (@Gizem will do it), the other repos seem to be fine.
- Change to use
Discussion We discussed the tuple projection issue, and we are leaning towards John's first suggestion since it would be self-consistent and remove one case of syntactic sugar.
We're kind of liking his third suggestion, in the same post, independently of the first, but that can be a separate discussion.
Note-taker: Lars Hummelgren
Participants: Anders Ågren Thuné, Oscar Eriksson, Linnea Stjerna, Lars Hummelgren, David Broman, John Wikman, Gizem Çaylak
Pull requests
- Gizem
-
https://github.com/miking-lang/miking-dppl/pull/149
- Use utests to catch wrong return codes, then we like
-
https://github.com/miking-lang/miking/pull/820
- We like
-
https://github.com/miking-lang/miking-dppl/pull/149
- Oscar
-
https://github.com/miking-lang/miking/pull/819
- We had a long discussion on the syntax
- Ultimately, we decided to postpone the decision to next week
-
https://github.com/miking-lang/miking/pull/819
Note-taker: Oscar Eriksson
Pull requests
Participants: Anders Ågren Thuné, Oscar Eriksson, Linnea Stjerna, Lars Hummelgren, David Broman, John Wikman
- Linnea:
-
https://github.com/miking-lang/miking/pull/817
- We like
-
https://github.com/miking-lang/mi-ocaml/pull/3
- We like, depends on #817
-
https://github.com/miking-lang/mi-ocaml/pull/4
- We like, depends on #3
-
https://github.com/miking-lang/miking/pull/817
- Oscar:
-
https://github.com/miking-lang/miking/pull/815
- We like
-
https://github.com/miking-lang/miking/pull/816
- We like
-
https://github.com/miking-lang/miking/pull/818
- Separate out negative number literals, we like on that part, see motivation below. We will discuss the tuple projection label at a later meeting.
-
https://github.com/miking-lang/miking/pull/815
Discussion
We add negative number literals because:
- We can then match on negative integers (right now we can only match on positive integers).
- We do not have to re-discover negative numbers after transformations, such as constant folding or partial evaluation, and translate these to applications of
negi
ornegf
on positive numbers before, e.g., pretty printing. - There is no ambiguity between negative number literals and applications of negation operations
negi
andnegf
.