Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translate to Rust and add structured editor #33

Merged
merged 9 commits into from
Oct 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[target.x86_64-unknown-linux-gnu]
linker = "/usr/bin/clang"
rustflags = ["-Clink-arg=-fuse-ld=lld", "-Zshare-generics=y"]

[target.x86_64-apple-darwin]
rustflags = ["-C", "link-arg=-fuse-ld=/usr/local/bin/zld", "-Zshare-generics=y"]
45 changes: 21 additions & 24 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
name: 'workflow'

on:
schedule:
- cron: '0 0 * * 0'
release:
types: [created]

jobs:
linux-release:
release:
name: release ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- target: x86_64-pc-windows-gnu
archive: zip
- target: x86_64-unknown-linux-musl
archive: tar.gz tar.xz
- target: x86_64-apple-darwin
archive: zip
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'npm'
- name: Build
run: |
npm install --global esy
esy install
esy build
cp -f $(esy echo "{self.target_dir / 'default' / 'bin' / 'main.exe'}") ./mlatu

- uses: eine/tip@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
files: |
mlatu
LICENSE.md
- uses: actions/checkout@master
- name: Compile and release
uses: rust-build/rust-build.action@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUSTTARGET: ${{ matrix.target }}
ARCHIVE_TYPES: ${{ matrix.archive }}
15 changes: 6 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
.merlin
node_modules/
_build
_esy
_release
*.byte
*.native
*.install
.vscode
debug/
target/

**/*.rs.bk

.pdb
1 change: 0 additions & 1 deletion .ocamlformat

This file was deleted.

23 changes: 23 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Thank you

Thank you for contributing to mlatu! It is very important to us that the community is involved in the codebase and changes made; we don't want to fall into a "Benevolent Dictator for Life" model.

## Introduction and Overview

Pull requests are very welcome. For major changes, please open an issue first to discuss what you would like to change. You can also join the Discord server listed on the README for help setting up and making changes, as well as asking questions about the codebase.

## Setup

To create a local copy of mlatu with all necessary dependencies, you will need to install Rust and Swi-Prolog. To install Rust, follow the instructions at <https://rustup.rs>. To install Swi-Prolog, you can find a download at <https://www.swi-prolog.org/Download.html>.

To contribute to mlatu, it's easiest to install the GitHub CLI tool (instructions are at <https://github.com/cli/cli#installation>). After installation, authenticate yourself by running `gh auth login`. Then, fork and download a local copy of the repository by running `gh repo fork mlatu-lang/mlatu`.

## Making changes

Now, make any changes you wish to include in the PR. Make sure to run `cargo fmt` and `cargo clippy` to make sure formatting is correct and there are no lint warnings. To commit your changes, run `git add *` and `git commit -m "Commit message"`. Don't worry too much about the commit message being descriptive, as we will squash the commits before we merge. Then run `gh repo sync` to sync with the online version.

## Creating a pull request

Once you are satisfied with your changes, create a pull request by running `gh pr create`. This will prompt you for the title and the body of the pull request. Please make the title short and descriptive of the changes you've made. The description can be longer and should note any issues this pull request should close, any remaining issues, and anything the mlatu-lang team should know. This will output a URL where you can view the changes you've made and any comments made on that pull request.

Once the pull request is created, one of the mlatu-lang team members will come take a look at your changes and approve or request changes. If the pull request is approved, it will be merged into `main`. That's success! If there are changes requested, we'd ask that you do your best to fix them (asking clarifying questions or for help if you need it is great), and then we will review again.
Loading