-
Notifications
You must be signed in to change notification settings - Fork 35
Miking Meeting Notes 2023
Note-taker: Lars Hummelgren
Participants: Anders Ågren Thuné, Oscar Eriksson, Linnea Stjerna, Lars Hummelgren, Viktor Palmkvist, David Broman
Pull requests
- Linnea:
-
https://github.com/miking-lang/miking/pull/814
- Must be merged before the mi-ocaml PR below
- We like
-
https://github.com/miking-lang/mi-ocaml/pull/2
- We like, after moving code out of the if-expression
-
https://github.com/miking-lang/miking/pull/814
-
https://github.com/miking-lang/miking/pull/813
- Tests failed on GitHub (MacOS only) for network reasons, should pass if we re-run them
- We like
- Oscar:
-
https://github.com/miking-lang/miking/pull/804
- Update
digraphPrintDot
to use the newdigraphToDot
- Then we like
- Update
-
https://github.com/miking-lang/miking/pull/805
- Depends on PR 800
- We like
-
https://github.com/miking-lang/miking/pull/804
Discussion
- Anders mentioned an alternative approach to compilation to OCaml, which would more or less be able to avoid obj wrapping. Risks degrading performance compared to current approach, but could potentially improve readability.
- What to do next with the Miking paper; e.g., how to reuse the type checker for DSLs to get comprehensible type errors.
Note-taker: Anders Ågren Thuné
Participants: Anders Ågren Thuné, John Wikman, Oscar Eriksson, Linnea Stjerna, Lars Hummelgren, Viktor Palmkvist, David Broman
Pull requests
-
Linnea: https://github.com/miking-lang/miking/pull/812 We like, merge
-
Anders: https://github.com/miking-lang/miking/pull/807 We like provided that the new changes are disabled and do not incur a performance penalty by default. There should also be some extra tests/comments for the new features. Anders will make the changes and ping David once it's done.
In the future, we should come up with an approach for generating good error messages for syntactic sugar. There should be an explanation page in the documentation about the constructor types.
-
Viktor: https://github.com/miking-lang/mi-ocaml/pull/1 We like, merge.
Future discussion topics Packaging miking
Note-taker: Viktor Palmkvist
Participants: Anders Ågren Thuné, John Wikman, Oscar Eriksson, Linnea Stjerna, Lars Hummelgren
Pull requests
- Many: https://github.com/miking-lang/miking/pull/810
- We like, we think other repos should be up-to-date
- Also https://github.com/miking-lang/miking-dppl/pull/148, which contains the required fixes in miking-dppl.
- Viktor: https://github.com/miking-lang/miking/pull/811
- We like, but suspect that David wants to look at it before we merge
-
https://github.com/miking-lang/mi-ocaml
- We like, probably change access to the same as miking proper (Viktor currently has admin access to mi-ocaml, since he created it)
Note-taker: Linnea Stjerna
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, John Wikman, Linnea Stjerna, David Broman, Johan Adamsson, Gizem Çaylak
Pull requests
-
https://github.com/miking-lang/miking/pull/775
- Investigate problem with long compilation time when
specialize
is used - Check that there is no overhead when
specialize
is not used in a program - Add unit tests for
specialize
for different language constructs. Can add tests for unsupported language constructs but commented out.
- Investigate problem with long compilation time when
Note-taker: Linnea Stjerna
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, John Wikman, Oscar Eriksson, Linnea Stjerna, David Broman
Pull requests
-
https://github.com/miking-lang/miking/pull/802
- We like, merge (assuming that the tests pass)
-
https://github.com/miking-lang/miking-dppl/pull/147
- Lars pings Viktor S to check that TreePPL performance is not affected
- After that, we like
Discussion
- Miking workshop
- Miking documentation on website, installation should be updated
- Miking paper
Note-taker: Lars Hummelgren
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, John Wikman, Oscar Eriksson
Pull requests
-
https://github.com/miking-lang/miking/pull/798
- Replaces old PR
- We like
-
https://github.com/miking-lang/miking/pull/799
- We like
-
https://github.com/miking-lang/miking/pull/800
- Includes code from #798 and #799
- Oscar will check performance using constant folding
- Then, we like
-
https://github.com/miking-lang/miking/pull/801
- We like
Note-taker: Linnea Stjerna
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, Gizem Çaylak, Linnea Stjerna, John Wikman, Oscar Eriksson
PRs
- From last time: https://github.com/miking-lang/miking/pull/794 is not merged yet
Discussion
- Oscar is preparing a PR that needs to count the number of occurrences of each free variable, which would make the current implementation of free variable counting in
free-vars.mc
more complicated. We discussed if this would be an issue for the performance of k-CFA. Linnea will test the performance of k-CFA using both alternatives (keeping both versions, or rewriting to use the same code). - New issue: https://github.com/miking-lang/miking/issues/797
Note-taker: Oscar Eriksson
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, Gizem Çaylak, David Broman, Linnea Stjerna, John Wikman, Oscar Eriksson
Pull requests
-
Viktor: https://github.com/miking-lang/miking/pull/793
- This PR fixes two bugs related to the types of lifted lambdas, but there is still some error with the application order after lifting. Wait with merging until this issue has been resolved.
-
Oscar: https://github.com/miking-lang/miking/pull/795
- Move to optimization to a new constant-fold fragment and make it part of the standard compilation pipeline. Then we like, merge.
-
Oscar: https://github.com/miking-lang/miking/pull/794
- We like, merge.
Discussion We discussed testing compiler passes in a more rigorous way. One idea for lambda lifting is to compare the types of large programs before and after lambda lifting. They should remain the same. This methodology could also be applied to e.g. the ANF transform. The motivation for doing so is that some bugs are hard to cover with only utests.
We also decided to add negative literals to MExpr. This will, for example, allow us to pattern match on negative numbers, which is currently impossible.
Task Create an issue to add negative literals, and point to lexer.mc, bootparser, boot pprint, and pprint.mc, which are places that need to be updated. Mark it as a good starting issue.
Note-taker: Viktor Palmkvist
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, Gizem Çaylak, David Broman, Linnea Stjerna, Asta Olofsson
Pull requests
- Asta: https://github.com/miking-lang/miking/pull/710
- Change the large chained
match-then-else
on constants to asem
with a case per constant - A bit more detailed comments on why the excluded tests fail, for when someone wants to look into fixing them
- Documentation on the homepage: reference page and a how-to guide "How to compile with the JVM backend".
- Then we like (ping David when fixed)
- Change the large chained
Note-taker: Lars Hummelgren
Participants: Anders Ågren Thuné, Lars Hummelgren, Viktor Palmkvist, Gizem Çaylak, Oscar Eriksson, David Broman
Pull requests
- Viktor: https://github.com/miking-lang/miking-lang.github.io/pull/12
- We like
Discussion
- David will create a Slack channel for discussing documentation.
- Our goal is to move everything from the README to the website. David will make a first stab at this.
Note-taker: Linnea Stjerna
Participants: Anders Ågren Thuné, Viktor Palmkvist, Linnea Stjerna, Lars Hummelgren, David Broman, Oscar Eriksson
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/767
- We like, merge.
- We observed that the type checker is a nice use case for partial evaluation.
- Viktor S: https://github.com/miking-lang/miking/pull/786
- Already merged
- Viktor S: https://github.com/miking-lang/miking/pull/787
- Ideally, the extension should be made optional with a flag, but we suggest at least doing the following fixes:
- Document the divergence from the JSon specification
- At the top of the file
- Where nan/inf is parsed (there is currently just a TODO there)
- Where nan/inf is generated
- Also fix the failing test
- Viktor P: https://github.com/miking-lang/miking/pull/788
- Move .envrc file to misc + documentation how to move it to top directory and use it
- Add .envrc to .gitignore
- After that, we like.
Discussion
- Documentation on the website should be kept in sync with the documentation repo, and it should be easy for the core team to make fixes in the documentation. The hypothesis is that it should be doable with the current documentation repo + using Github actions to automate the updates to the website. Additionally, the documentation should follow this way of structuring https://documentation.divio.com/
Note-taker: John Wikman
Participants: Anders Ågren Thuné, John Wikman, Gizem Çaylak, Viktor Palmkvist, Linnea Stjerna, Lars Hummelgren
Pull requests
- Viktor P (on behalf of Viktor S) https://github.com/miking-lang/miking/pull/784
- Comment has wrong year, should be 2023 instead of 2022.
- Second test case should have a fraction that can fit in the mantissa, like 0.5 or 0.25.
- Then we like.
- Lars: https://github.com/miking-lang/miking/pull/783
- We like.
Discussion
- Create issue on consistent/predictable float2string output format.
Note-taker: Linnea Stjerna
Participants: Anders Ågren Thuné, Gizem Çaylak, John Wikman, Oscar Eriksson, Lars Hummelgren, Viktor Palmkvist, Linnea Stjerna, David Broman
Pull requests
- Lars: https://github.com/miking-lang/miking/pull/782
- We like, merge.
- John: https://github.com/miking-lang/miking-docker/pull/14
- We like, merge.
PR to Viktor's repo (not to be merged by David):
-
https://github.com/elegios/miking/pull/8
- John will double-check check the performance of bootstrapping. Will eventually be part of a larger PR from Viktor.
We discussed next steps for setting up periodic execution of `miking-benchmarks`
-
How to run benchmarks?
- External tool
- hyperfine
- perf
- rust-criterion?
- miking-benchmarks
- How to use the miking compiler as a benchmark?
- (git submodule?)
- script to download the code
- How to time the separate stages of bootstrapping within one benchmark?
- How to use the miking compiler as a benchmark?
- External tool
-
Which benchmarks to run?
- miking-benchmarks
- subset which doesn't include heaviest/weirdest paper benchmarks
- test/microbenchmark
make
-
make test-*
- Times are (maybe?) not so relevant, but we want to check that they pass
- We want to run the tests from the different repos in tandem to check that nothing breaks
- miking-benchmarks
-
What to store?
- Raw metrics
- Runtimes (wall time & cpu time)
- Peak memory usage
- Basic aggregates? (mean, variance)
- Program output (including stderr) / return code
- What benchmark: name? which command? (should be reproducible; nix? flake?)
- System information, miking/dependencies version (nix? flake?)
- When they ran
- The ability to change format without changing the data (some tag/folder name to indicate format)
- Raw metrics
-
How to store the benchmarks?
- Probably plain text
- Example structure
- v1/
- THE-DATE/
- system.json
- benchmark1.json
- benchmark2.json ...
- THE-DATE/
- v1/
-
How to sync the data from the benchmarks?
- Locally on the machine (text files / database?)
- In a git repo
- Dropbox
- Cloud solution
-
How to aggregate the data for visualization?
-
How to visualize the data from the benchmarks?
- No visualization
- Homegrown script
- Someone else's script (e.g., hyperfine)
- Full-scale solution (e.g., Grafana)
-
Next steps
- Modify miking-benchmarks to output (minimal subset of) what we need
- Setup a machine to run these periodically
- Add bootstrapping to the miking-benchmarks
- Add other external benchmarking targets (dppl, tests, ...)
- Add more/better
timing
options- Investigate how other benchmarking suites do timing (OCaml benchmarks, ...)
- Investigate options for how to run hyperfine/perf/... to get more accurate timing
Note-taker: Oscar Eriksson
Participants: Gizem Çaylak, John Wikman, Oscar Eriksson, Lars Hummelgren, Viktor Palmkvist
Pull requests
- John: https://github.com/miking-lang/miking/pull/781
- Change code so that it uses createList in ast-builder, then we like, merge.
Note-taker: Gizem Çaylak
Participants: Anders Ågren Thuné, Gizem Çaylak, John Wikman, David Broman, Oscar Eriksson, Lars Hummelgren, Viktor Palmkvist, Linnea Stjerna
Pull requests
- Oscar: https://github.com/miking-lang/miking/pull/780
- We like and merge instead of a previous PR, https://github.com/miking-lang/miking/pull/778, that is included.
Discussion
- On the next Miking meeting, Miking benchmarks will be discussed (leaded by Viktor, Oscar, Anders).
Note-taker: Anders Ågren Thuné
Participants: Anders Ågren Thuné, Daniel Lundén, John Wikman, David Broman, Oscar Eriksson, Lars Hummelgren, Viktor Palmkvist
Pull requests
-
Oscar: https://github.com/miking-lang/miking/pull/768
- We like, merge.
-
Oscar: https://github.com/miking-lang/miking/pull/778
- Change
onfail
keyword toelse
and add documentation, then we like.
- Change
-
Daniel: https://github.com/miking-lang/miking/pull/777
- We like, merge.
-
Daniel: https://github.com/miking-lang/miking-dppl/pull/141
- We like, merge.
-
Lars: https://github.com/miking-lang/miking/pull/770
- Add checking of frozen variables and test/document what happens with polymorphic recursion. Then we like (for the moment).
-
Lars: https://github.com/miking-lang/miking/pull/771
- We like, merge.
-
Anders: https://github.com/miking-lang/miking/pull/767
- Profile more in depth, and hopefully merge next time.
Note-taker: Viktor Palmkvist
Participants: Anders Ågren Thuné, Daniel Lundén, John Wikman, Gizem Çaylak, Linnea Stjerna, David Broman, Oscar Eriksson
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/767
- Sanity checking that performance hasn't degraded, and some negative tests (since that's now possible), then we like.
- Oscar: https://github.com/miking-lang/miking/pull/768
- Split out the code that replaces closures with references, since we suspect it might have bugs, then we like
- Oscar: https://github.com/miking-lang/miking/pull/769
- We like
- Oscar: https://github.com/miking-lang/miking-benchmarks/pull/48
- We like
- Daniel: https://github.com/miking-lang/miking/pull/772
- Check if the missing
Some
in the PR description is a bug, then we like
- Check if the missing
- Daniel: https://github.com/miking-lang/miking-dppl/pull/140
- We like
- John: https://github.com/miking-lang/miking/pull/773
- We like
Postponed pull requests
- Lars: https://github.com/miking-lang/miking/pull/770
- Lars: https://github.com/miking-lang/miking/pull/771
Note-taker: Lars Hummelgren
Participants: Anders Ågren Thuné, Daniel Lundén, John Wikman, Gizem Çaylak, Linnea Stjerna, Lars Hummelgren
Pull requests
- John: https://github.com/miking-lang/miking/pull/765
- We like, merge
Note taker: John Wikman
Participants: Anders Ågren Thuné, Daniel Lundén, John Wikman, David Broman, Gizem Çaylak
Pull requests
- Anders
- miking#763: We like
- Daniel
- miking#764: We like
- miking-dppl#139: We like
Note taker: Anders Ågren Thuné
Participants: Anders Ågren Thuné, Daniel Lundén, Viktor Palmkvist, Gizem Caylak
Pull requests
- Anders
- miking#759: We like, merge.
- Viktor
- miking#756: We like, merge.
- Daniel
- miking-dppl#138: We like, merge.
- miking-benchmarks#47: We like, merge.
-
miking#757: We like, merge. Daniel makes issues for some of the things touched by this PR:
-
arg.mc
argparser is order-dependent in some cases - Random seed is automatically initialized.
-
- David
-
miking#758: We like, but has a failing test (in
stdlib/matrix.mc
). Daniel has a quick look if it's something easy, and otherwise pings David.
-
miking#758: We like, but has a failing test (in
Note-taker: Viktor Palmkvist
Participants: David Broman, Viktor Palmkvist, Anders Ågren Thuné, Daniel Lundén, Lars Hummelgren, Gizem Caylak, John Wikman, Linnea Stjerna, Viktor Senderov
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/754
- We like
- Anders: https://github.com/miking-lang/miking/pull/755
- We like
Discussion
David presented his thoughts on prerun
and dive
as constructs for meta-programming.
Note-taker: Gizem Caylak
Participants: David Broman, Viktor Palmkvist, Anders Ågren Thuné, Daniel Lundén, Lars Hummelgren, Gizem Caylak
Pull requests
- Daniel:
-
https://github.com/miking-lang/miking/pull/752
- We liked, merge.
-
https://github.com/miking-lang/miking-dppl/pull/137
- We liked, merge.
-
https://github.com/miking-lang/miking/pull/752
- Anders
-
https://github.com/miking-lang/miking/pull/753
- We liked, but after the changes below merge
- change misk and moveout the documentation to readme with a subfolder
- handle error messages
-
https://github.com/miking-lang/miking/pull/753
Discussion:
- The next meeting starts at 15.30 on week 32.
- David is handing over the maintainer responsibility to Daniel over summer
Note-taker: Gizem Caylak
Participants: John Wikman, Anders Ågren Thuné, Daniel Lundén, Johan Adamsson, Lars Hummelgren, Gizem Caylak, Oscar Eriksson
Pull requests
- Johan:
-
https://github.com/miking-lang/miking/pull/748
- We liked, but the handled pattern match should be removed first, then merge.
-
https://github.com/miking-lang/miking/pull/749
- We liked, after refactorization merge
-
https://github.com/miking-lang/miking/pull/748
- Daniel:
-
https://github.com/miking-lang/miking/pull/750
- We liked, after the unknown fix merge
-
https://github.com/miking-lang/miking/pull/751
- We liked, after tests pass merge
-
https://github.com/miking-lang/miking/pull/750
Note-taker: Anders Ågren Thuné
Participants: John Wikman, Anders Ågren Thuné, Viktor Palmkvist, Daniel Lundén, Linnea Stjerna, Johan Adamsson, Lars Hummelgren
Pull requests
- Lars:
- https://github.com/miking-lang/miking/pull/746 We like, merge.
- https://github.com/miking-lang/miking-dppl/pull/136 We like, merge.
Discussions
- Lars made an issue about the design of the AST builder. He argued that the AST builder functions should take
Info
arguments by default since that's the common use case in code transformations. We agreed. In the future we want metaprogramming facilities, but we're not there yet. The issue with changing the AST builder is the big changes it would bring to the code base, but the changes should be relatively mechanical. We also discussed whether to use language fragments andsem
s for the AST builder. We agreed this seems nice, but this would be a less mechanical change. Viktor also argued there should be a macro-kind-of-thing for creating anInfo
object pointing to its own location in the file. We agreed this seems nice, but needs more concrete thought; Viktor makes a write-up. - Linnea made an observation that most uses of
distinct
in the standard library could be replaced by the more efficientdistinctSorted
. People usingdistinct
in their code should consider switching todistinctSorted
. This might be solved automatically once we have UCTs.
Note-taker: Oscar Eriksson
Participants: John Wikman, Oscar Eriksson, Anders Ågren Thuné, Viktor Palmkvist, Daniel Lundén, Linnea Stjerna, Johan Adamsson.
Pull requests
- Viktor:
- https://github.com/miking-lang/miking/pull/727, we like, merge.
- https://github.com/miking-lang/miking/pull/742, we like, merge.
- https://github.com/miking-lang/miking/pull/744, we like, merge.
- Daniel:
- https://github.com/miking-lang/miking-dppl/pull/131. When Lars and David have approved, we like merge.
- https://github.com/treeppl/treeppl/pull/8, we like merge. (merge after 131 in miking-dppl)
- Oscar:
-
https://github.com/miking-lang/miking/pull/739, Make sure that 2 correctly handles projections like (x.1).0 and remove 4 as it is already implemented as
filterOption
inseq.mc
. - https://github.com/miking-lang/miking/pull/740, we like, merge.
- https://github.com/miking-lang/miking/pull/741, we like, merge.
-
https://github.com/miking-lang/miking/pull/739, Make sure that 2 correctly handles projections like (x.1).0 and remove 4 as it is already implemented as
- Johan:
- https://github.com/miking-lang/miking/pull/732, we like merge.
- https://github.com/miking-lang/miking/pull/743, we like merge.
Discussion
-
Viktor thinks we should not merge https://github.com/miking-lang/miking/pull/708 since he is no longer convinced about the approach in this PR.
-
Viktor encourages all who feel obligated to take the new build-system https://github.com/miking-lang/miking/pull/738 for a spin.
-
Anders did a small presentation on using Guix to package Miking programs.
Note-taker: Linnea Stjerna
Participants: John Wikman, Oscar Eriksson, Anders Ågren Thuné, Viktor Palmkvist, Daniel Lundén, Linnea Stjerna, David Broman, Lars Hummelgren
Pull requests
- The following PRs should be merged atomically (we like all):
- #726 and #730 in Miking (https://github.com/miking-lang/miking/pull/726 and https://github.com/miking-lang/miking/pull/730)
- #134 in DPPL (https://github.com/miking-lang/miking-dppl/pull/134)
- #6 in TreePPL (https://github.com/treeppl/treeppl/pull/6)
-
https://github.com/miking-lang/miking/pull/731
- We like, merge.
-
https://github.com/miking-lang/miking/pull/734
- We like, merge.
-
https://github.com/miking-lang/miking/pull/735
- We like, merge.
-
https://github.com/miking-lang/miking/pull/736
- We like, merge.
-
https://github.com/miking-lang/miking/pull/737
- We like, merge.
-
https://github.com/miking-lang/miking/pull/733
- Add pruning of unparsable productions.
-
https://github.com/miking-lang/miking-docker/pull/13
- We like, merge.
Note-taker: Lars Hummelgren
Participants: John Wikman, Oscar Eriksson, Lars Hummelgren, Johan Adamsson, Anders Ågren Thuné, Viktor Palmkvist, Daniel Lundén, Wiktor Dobrosierdow
Pull requests
- Oscar
- https://github.com/miking-lang/miking/pull/725
- https://github.com/miking-lang/miking/pull/728
-
https://github.com/miking-lang/miking/pull/729
- We like, merge
-
https://github.com/miking-lang/miking/pull/731 (draft)
- OK to specialize now, could be generalized later. Update name as discussed.
- Anders
-
https://github.com/miking-lang/miking/pull/726
- May need updates in DPPL/TreePPL before merge
- We like
-
https://github.com/miking-lang/miking/pull/730
- Put helper functions in a language fragment to make them easier to reuse
- Extend the base environment instead of having flexible parameter, making it closer to how it will be after row polymorphism has been added
- May need updates in DPPL/TreePPL before merge
- We like
-
https://github.com/miking-lang/miking/pull/726
Discussions
- Wiktor presented FFI redesign proposal
Note-taker: Viktor Palmkvist
Participants: John Wikman, Lars Hummelgren, Oscar Eriksson, Anders Ågren Thuné, Linnea Stjerna, Daniel Lundén
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/724
- We like (probably merge before the others, since it updates
test-prs
)
- We like (probably merge before the others, since it updates
- Viktor P: https://github.com/miking-lang/miking/pull/719
- We like
- Viktor P: https://github.com/miking-lang/miking/pull/720
- We like
- Oscar: https://github.com/miking-lang/miking/pull/721
- Discussion of
binomial
name. Keeping it for now, thus we like.
- Discussion of
- Oscar: https://github.com/miking-lang/miking/pull/722
- It's a general enough analysis that we want it in its own file, and to merge uses of it. Wait for now.
- Linnea: https://github.com/miking-lang/miking/pull/723
- We like
- Viktor S: https://github.com/miking-lang/miking-dppl/pull/130
- We like (some discussion about warning to set PATH and MCORE_LIBS)
- Jan: https://github.com/miking-lang/miking-dppl/pull/132
- Should be moved to the new tppl repo, so this PR should not be merged
- Gizem: https://github.com/miking-lang/miking-dppl/pull/133
- Remove commented out line in
coreppl-to-mexpr/compile.mc
, then we like
- Remove commented out line in
Discussions
Note-taker: Johan Adamsson
Participants: John Wikman, Lars Hummelgren, Johan Adamsson, Oscar Eriksson, Anders Ågren Thuné, Linnea Stjerna, Viktor Palmkvist
Pull requests
- Anders: https://github.com/miking-lang/miking/pull/717
- Add some tests and change how leading ":" in env. variable is handled, then we like, merge
- Oscar: https://github.com/miking-lang/miking/pull/718
- Check if any AVL operation does this more closely (without finding node twice)
- Then we like, merge
Discussions
- If anyone has any tests that require specific dependencies or certain flags please put them under https://github.com/miking-lang/miking/issues/707 now
Note-taker: David Broman
Participants: David Broman, Oscar Eriksson, Viktor Palmkvist, Lars Hummelgren, Johan Adamsson, Anders Ågren Thuné
Pull requests
- https://github.com/miking-lang/miking/pull/713 We like.
- https://github.com/miking-lang/miking/pull/714 We like.
- https://github.com/miking-lang/miking/pull/715 We like.
Discussions
- Discussed issue https://github.com/miking-lang/miking/issues/716
Note-taker: Linnea Stjerna
Participants: Viktor Palmkvist, Gizem Caylak, Lars Hummelgren, Oscar Eriksson, Linnea Stjerna, David Broman
Pull requests
- Oscar: https://github.com/miking-lang/miking/pull/712. We like, merged during meeting.
Discussions
- (non-Miking) Oscar will present at the first group seminar next week.
- We discussed the need to prioritize full bootstrapping.
- We discussed future plans for metaprogramming in Miking.
Note-taker: Gizem Caylak
Participants: Viktor Palmkvist, Gizem Caylak, Lars Hummelgren, Oscar Eriksson, John Wikman, Linnea Stjerna, David Broman, Asta Olofsson, Johan Adamsson, Mattias Grenfeldt
Pull requests
- Viktor: https://github.com/miking-lang/miking/pull/711
- We liked, merge
Discussions
- If there are some issues with tests, put them under: https://github.com/miking-lang/miking/issues/707
- Proposal for the meetings:
- Miking meeting on Thursday
- Seminar meeting on Tuesday (first seminar on April 18th).
Note-taker: Lars Hummelgren
Participants: Viktor Palmkvist, Johan Adamsson, Lars Hummelgren, Oscar Eriksson, John Wikman, Linnea Stjerna, David Broman
Pull requests
- Johan: https://github.com/miking-lang/miking/pull/709
- Update eval function, then we like, merge
Discussions
- CLA vs. DCO
- We aim to join an open-source organization
- If you're interested, look up alternatives and form an opinion
- We should keep discussing during meetings and decide in the coming weeks and/or months
Note-taker: David Broman
Participants: Viktor Palmkvist, David Broman, Lars Hummelgren, Johan Adamsson, John Wikman, Anders Ågren Thuné, Linnea Stjerna, Oscar Eriksson, Asta Olofsson, and Mattias Grenfeldt
Pull requests
No pull requests this time.
Discussion
We discussed pros and cons of starting a non-profit organization called Miking Association. The benefit would be that we can transfer copyright using a Contributor License Agreement (CLA), and that this would enable us to change the license in the future (some open source organizations require that). The main downside is the extra administrative overhead. We made a poll, and it was clear that the core Miking group was not interested in more administration.
An alternative is to use a Developer Certificate of Origin (DSO) and that we state that "Miking Contributors" hold the copyright (part of the MIT license). This is a more lightweight process with both the pros and cons that it is hard to change the license in the future.
We will discuss this and hopefully take a decision on Thursday.
Note-taker: John Wikman
Participants: Viktor Palmkvist, David Broman, Lars Hummelgren, Johan Adamsson, John Wikman, Anders Ågren Thuné, Linnea Stjerna, Oscar Eriksson
Pull requests
- Viktor: https://github.com/miking-lang/miking/pull/708
- We like, some things need to be fixed and Viktor pings David when it is fixed, then merge.
- Oscar: https://github.com/miking-lang/miking/pull/691
- Presented it again now that David is present as well. We like, merge.
- Linnea: https://github.com/miking-lang/miking/pull/706
- We like, but Linnea adds some minor things first and pings David when fixed.
Discussion Discussed starting the Miking Organization. Plan to have first meeting on 2023-03-23. Lars and John will look at an contributor agreement beforehand. Also discussed future project management utilities.
Note-taker: Viktor Palmkvist
Participants: John Wikman, Johan Adamsson, Asta Olofsson, Lars Hummelgren, Viktor Palmkvist, Linnea Stjerna, Oscar Eriksson, Anders Ågren Thuné
Pull requests
- Viktor: https://github.com/miking-lang/miking/pull/702
- We like, merge
- Viktor: https://github.com/miking-lang/miking/pull/699
- We like, merge
- John: https://github.com/miking-lang/miking-docker/pull/12
- We like, merge
- Lars: https://github.com/miking-lang/miking/pull/704
- We like, merge
- Oscar: https://github.com/miking-lang/miking/pull/705
- Oscar will write a bit more in the description, then we like, merge
Discussion We decided to start documenting what we need for refactoring our tests and makefile setup, since it's making it a little bit tricky to setup the Java tests. Progress tracked in https://github.com/miking-lang/miking/issues/707. The first step is to document the tests that are a bit different from the normal tests (e.g., need dependencies, need to be built/run with other flags, etc.).
Note-taker: Lars Hummelgren
Participants: John Wikman, Johan Adamsson, Asta Olofsson, Lars Hummelgren, David Broman, Gizem Caylak, Viktor Palmkvist, Linnea Stjerna, Daniel Lundén
Pull requests
- John: https://github.com/miking-lang/miking/pull/696
- We like, merge
- Daniel: https://github.com/miking-lang/miking/pull/693
- Clarify that "some systems" includes Macs. Daniel will ping David after the fix.
- We like, merge
- Asta:
-
https://github.com/miking-lang/miking/pull/683
- Manually re-run tests on GitHub (again) and merge before #700
-
https://github.com/miking-lang/miking/pull/700
- Add utests for the compiler, then we like
-
https://github.com/miking-lang/miking/pull/683
Note-taker: Viktor Palmkvist
Participants: John Wikman, Johan Adamsson, Asta Olofsson, Lars Hummelgren, Oscar Eriksson, David Broman, Linnea Stjerna
Pull requests
- Lars: https://github.com/miking-lang/miking/pull/688
- Updated since last, ready to merge now
- John: https://github.com/miking-lang/miking/pull/694
- Break out
include
inExpr
then we like (John pings David)
- Break out
- John: https://github.com/miking-lang/miking-docker/pull/11
- We like (just a hash update, no presentation)
- John: https://github.com/miking-lang/miking/pull/695
- We like
- Lars: https://github.com/miking-lang/miking/pull/698
- Keep the
clean
functions in case of aborted runs, then we like
- Keep the
- Lars: https://github.com/miking-lang/miking/pull/697
- Test with
--debug-phases
to analyze the gains a little bit, then we most likely like
- Test with
Discussion Loose thoughts on dropping the builtin sequence type in favor of a more standard array, then implementing ropes on top of that and using universal collection types where we would previously have used ropes. Needs more detailed discussion, so we postpone for later.
Note-taker: Lars Hummelgren
Participants: John Wikman, Johan Adamsson, Asta Olofsson, Lars Hummelgren, Linnea Stjerna, Viktor Palmkvist, Gizem Caylak
Pull requests
- Linnea: https://github.com/miking-lang/miking/pull/690
- We like, but wait to see with PR 688
- Lars: https://github.com/miking-lang/miking/pull/688
- Try whether applying
smap
on thedisplay
ofTyAlias
fixes this (and PR 690)
- Try whether applying
Discussion
- Utest custom pretty-printing options (https://github.com/miking-lang/miking/issues/677)
- Has to be a record & we supply helper functions
- Syntactic distinction to show which case we're using
- Force use of "special" record syntax, we can't extract out the record
- Update type checker to not check consistency between using and test arguments (2nd pass in type check)
- John presented progress on MLang AST and pretty-printer
Note-taker: Viktor Palmkvist
Participants: Daniel Lundén, David Broman, Asta Olofsson, Johan Adamsson, Linnea Stjerna, John Wikman, Oscar Eriksson
Pull requests
- Lars, John presenting: https://github.com/miking-lang/miking/pull/688
- Postponing until Thursday due to questions on what we feel
smap
should do.
- Postponing until Thursday due to questions on what we feel
- Viktor: https://github.com/miking-lang/miking/pull/689
- We like
Discussion We'll have a separate meeting on the bootstrapping process and report on a miking meeting next week.
Note-taker: Linnea Stjerna
Participants: Daniel Lundén, David Broman, Asta Olofsson, Johan Adamsson, Linnea Stjerna, Lars Hummelgren, John Wikman, Elias Castegren, Anders Ågren Thuné
Pull requests
- Oscar: https://github.com/miking-lang/miking/pull/687. We like, merge.
- John: https://github.com/miking-lang/miking/pull/669. We like, merge. A follow-up PR should include automatic
utest
s for the generated parser.
Discussion We discussed compilation of functions to JVM.
Note-taker: Oscar Eriksson
Participants: Viktor Palmkvist, Daniel Lundén, David Broman, Asta Olofsson, Johan Adamsson, Linnea Stjerna, Lars Hummelgren, John Wikman, Mattias Grenfeldt, Wiktor Dobrosierdow, Gizem Caylak
Pull requests
- Viktor: https://github.com/miking-lang/miking-dppl/pull/129. We like, merge.
Discussion Wiktor presented his ideas on the FFI. The proposal was mainly based on https://github.com/miking-lang/miking/issues/586. During the discussion Viktor proposed to consider the interpreter as just another FFI backend. This suggestion was generally agreed to be a good idea as we would not have to special case how we handle externals in interpreted code.
Note-taker: Viktor Palmkvist
Participants: Daniel Lundén, David Broman, Asta Olofsson, Johan Adamsson, Linnea Stjerna, Oscar Eriksson, Lars Hummelgren, John Wikman
Pull requests (in merge order)
- Oscar: https://github.com/miking-lang/miking/pull/682. We like, merge.
- Asta: https://github.com/miking-lang/miking/pull/683.
- Add the bash scripts for compiling and running, as well as a new script for downloading the .jar files (temporary solutions, until the compiler and/or our build system deals with this stuff).
- Also minor documentation on how to run and test, but no need for automated tests yet.
- Asta pings Lars, Lars does a sanity-check, then we like, merge.
Discussion Thoughts on more automated testing of series of PRs. Viktor will make a first prototype of the thing. Some discussion on performance and oddities of the OCaml backend (it won't inline a condition that's let-bound just before an if).
Note-taker: Daniel Lundén
Participants: Daniel Lundén, David Broman, Asta Olofsson, Gizem Caylak, Johan Adamsson, Linnea Stjerna, Viktor Palmkvist, Oscar Eriksson.
Pull requests (in merge order)
- https://github.com/miking-lang/miking/pull/680. We like, merge.
- https://github.com/miking-lang/miking/pull/681. Ping Oscar after merging 680. After rebase, we like, merge.
- https://github.com/miking-lang/miking-dppl/pull/127. We like, merge.
- https://github.com/miking-lang/miking-dppl/pull/128. Ping Viktor after merging 127. After rebase, we like, merge.
Discussion
- Asta presented her progress on the JVM backend.
Note-taker: Lars Hummelgren
Participants: Lars Hummelgren, Daniel Lundén, Oscar Eriksson, Viktor Palmkvist, David Broman, Johan Adamsson, Gizem Çaylak, Linnea Stjerna, Asta Olofsson
Pull requests
- Daniel
-
https://github.com/miking-lang/miking/pull/679 (John's PR)
- We like, merge
-
https://github.com/miking-lang/miking-dppl/pull/126
- We like, merge
-
https://github.com/miking-lang/miking-benchmarks/pull/46
- Need to discuss the naming convention (and usability in general) at a later point
- We like, merge
-
https://github.com/miking-lang/miking/pull/679 (John's PR)
- Viktor
-
https://github.com/miking-lang/miking/pull/674
- Use as a development tool together with a simpler test system (currently make).
- Sketch different folder structure (in future PR) to decrease number of files in the root of repo.
- We like, merge
-
https://github.com/miking-lang/miking/pull/674
Discussions
- Build system and versioning discussions.
- Java bytecode generation.
Note-taker: John Wikman
Participants: Lars Hummelgren, Viktor Palmkvist, Daniel Lundén, John Wikman, Gizem Çaylak, David Broman, Oscar Eriksson, Linnea Stjerna
Pull requests
- Lars:
Discussions
- Issues
-
https://github.com/miking-lang/miking/issues/677
- Discussed the possibility of using non-standard pretty printers for utests
-
https://github.com/miking-lang/miking/issues/677
Note-taker: Lars Hummelgren
Participants: Lars Hummelgren, John Wikman, Viktor Palmkvist, Johan Adamsson, Oscar Eriksson
Discussions
- Issues
- #221 is resolved and can be closed
- #498 and #574 refer to the same issue (as stated in a comment in #574)
- Close #498 and refer to #574, as it identifies the problem
- Should use
eqString
, but could check and have a warning ifisPrefix
but noteqString
matches (did you mean...)
- #566 was fixed by PR #598 and should be closed
- We propose adding a label for good first issues
- #208 and #664
- We would like a better way to add labels
- LR(k) parser progress
- Constructing the parse table is done
- Remaining work is to construct an AST for the generated parser
- Remaining work for full bootstrapping
Note-taker: John Wikman
Participants: Lars Hummelgren, John Wikman, Johan Adamsson, Linnea Stjerna, Viktor Palmkvist
Pull requests
- Lars:
- John:
- Viktor P:
-
https://github.com/miking-lang/miking/pull/674
- We like. To be tested in parallel with the makefile setup. Will not replace
make test-all
as the primary test setup yet.
- We like. To be tested in parallel with the makefile setup. Will not replace
-
https://github.com/miking-lang/miking/pull/674
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 (in merge order)
- https://github.com/miking-lang/miking/pull/662. We like, merge. We would like to have options for verbosity of error messages in the future.
- https://github.com/miking-lang/miking/pull/667. We like, merge.
- https://github.com/miking-lang/miking-dppl/pull/122. We like, merge. Note: Should be merged simultaneously with 667!
- https://github.com/miking-lang/miking/pull/661. We like, merge.
- https://github.com/miking-lang/miking/pull/663. We like, merge.
- https://github.com/miking-lang/miking/pull/665. We like, but fix the path. Lars pings David when done.
- https://github.com/miking-lang/miking/pull/666. We like, merge.
- https://github.com/miking-lang/miking/pull/668. We like, merge.