Skip to content

Commit

Permalink
Release 2024-02-10
Browse files Browse the repository at this point in the history
  • Loading branch information
cardillan committed Feb 10, 2024
1 parent f59ef0c commit ec4c35f
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 6 deletions.
12 changes: 11 additions & 1 deletion CHANGELOG.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,20 @@

All notable changes to this project will be documented in this file.

## Unreleased
## 2024-02-10

### Added

* Added [Loop Hoisting](doc/syntax/SYNTAX-6-OPTIMIZATIONS.markdown#loop-hoisting) optimization. This optimization
moves invariant code out of loops.
* Added new reserved keywords `elseif` and `elif`. Using these keywords will result in a compilation error (see
[#121](https://github.com/cardillan/mindcode/issues/121)).

### Changed

* Schemacode decompiler now ignores some block-specific configurations that aren't supported yet (see
[#122](https://github.com/cardillan/mindcode/issues/122)). This is a temporary measure to prevent the decompiler
crashing on such schematics until these configurations are fully supported.

## 2024-01-28

Expand Down
2 changes: 1 addition & 1 deletion README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Welcome to **Mindcode**, a high-level language for [Mindustry](https://github.co
game in the tower-defense genre. Mindustry added Logic in late 2020. Logic is a programming language, closer to
assembly than a high-level language. Mindcode aims to make Mindustry programming easier for everyone.

Mindcode development focuses of the following priorities:
Mindcode focuses of the following priorities:

* Keeping terminology and naming convention close to Mindustry Logic.
* Providing language constructs that are not prohibitively expensive given the astonishingly slow speeds
Expand Down
10 changes: 7 additions & 3 deletions ROADMAP.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ This documents servers as a scratch pad to track ideas and possible enhancements

# Incremental improvements

* Loop Hoisting improvements
* Support for list iteration loops
* Support for hoisting entire loop invariant if statements
* Support for hoisting parts of if statements (maybe)
* Expand handling of expressions by the Data Flow Optimization:
* handle multiplication by zero, multiplication/division by one, and addition/subtraction of zero directly (i.e.
independently of the Expression Optimization).
Expand All @@ -23,10 +27,10 @@ This documents servers as a scratch pad to track ideas and possible enhancements
* Add factoring-out capability to more complex expressions.
* Utilizing the new `id` property:
* Schemacode
* replace the `Item` and `Liquid` enums with metadata, possibly utilize units).
* replace the `Item` and `Liquid` enums with metadata, utilize units.
* Mindcode
* recognize item/liquid built-in constants (possibly others),
* [Case switching over built-in constants](#case-switching-over-built-in-constants)
* [Case switching over built-in constants](#case-switching-over-built-in-constants).
* Create a documentation about diagnosing and resolving syntax errors, duplicate it into a discussion

# Other small or internal improvements
Expand Down Expand Up @@ -306,7 +310,7 @@ Two basic approaches
recognized as such.
* Identify uninitialized global variables (now only reported when they are never written to; use the same logic as
for main/local variables instead).
* Pulling invariant code out of loops/if branches.
* Pulling invariant code out of if branches.
* Generalized constant folding on expression tree, including factoring constants out of complex expressions.
* Instruction reordering for better constant folding/subexpression optimization
* If an expression being assigned to a user variable is identical to a prior expression assigned to a temporary
Expand Down
2 changes: 1 addition & 1 deletion webapp/src/main/resources/templates/common.ftlh
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
<#macro footer>
<footer class="mt-8 text-xs text-center border border-t-2 border-l-0 border-r-0 border-b-0 border-gray-700">
<div class="mt-4 flex justify-between">
<div><strong>2024-01-28</strong></div>
<div><strong>2024-02-10</strong></div>
<div><strong>PRIVACY POLICY</strong>: This website does not track its users. The Mindcode and schematics you submit for compilation is kept for later analysis.
No other information is kept about you or your actions on the site.</div>
<div>Created by François (<a class="underline text-blue-500" href="https://github.com/francois">GitHub</a>,
Expand Down

0 comments on commit ec4c35f

Please sign in to comment.