Languages update

sadly the new bash version still doesn’t solve this problem: https://www.codingame.com/forum/t/community-puzzle-gravity-in-bash-passes-tests-but-not-validators/1888

thought we fixed everything. We’ll look into it

Still waiting for Powershell.

Great work! But unfortunately it seems that after last languages update, the Clojure solutions of the “Power of Thor - Episode 1” puzzle are not accepted by the automatic grader any more. Neither the practice, nor the Code Golf solutions are accepted. I tried some mine and then some of other published solutions, and none of them passed the grader :frowning: Actually, I discovered that sometimes some tests are accepted, but when the same test is rerun, then it got rejected again. The grader just times out. I have just tested “Don’t Panic” puzzle, and it has the same problem.

1 Like

Any news on updating C# environment?

@TwoSteps Are there any chances to get C# 7.3/.NET Core 2.1 before Code of Kutulu begins?

No chance. I’m sorry. We’ll try to make a language update this summer.

4 Likes

Looking forward to updated language/library/runtime on next contest!

Any progress on this?

Will you add Scratch? It would allow my daughter to participate too :wink:

1 Like

There was some progress made. Should happen during August.

1 Like

I doubt that Scratch will be implemented any time soon. The Editor requires lots of changes, since it would be graphical instead of plain code. Theoretically it could be transpiled to JavaScript or Python. But what kind of code do you submit then? And how about submit size :wink:

Algobox is easier to implement here than a pure graphical Scratch (you can write scripts for Algobox).

The following languages have been updated:

  • Bash: GNU Bash 4.4.12 => GNU Bash 4.4.23
  • C: gcc 7.2.0 mode C11 => gcc 8.2.0 mode C17
  • C++: g++ 7.2.0 mode C++14 => g++ 8.2.0 mode C++17
  • C#: C# 6.0 (Mono 5.4.0, .NET 4.6) => C# 6.0 (Mono 5.12.0, .NET 4.6)
  • Clojure: 1.8.0 - Oracle JVM 1.8 => 1.9.0 - Oracle JVM 1.8
  • Dart: 1.24.2 => 1.24.3
  • F#: no update
  • Java: no update (waiting for Java 11)
  • Javascript: SpiderMonkey 58.0 (ES6) => SpiderMonkey 63.0 (ES6)
  • Go: 1.9.1 => 1.10.3
  • Groovy: 2.4.12 - Oracle JVM 1.8 => 2.5.1 - Oracle JVM 1.8
  • Haskell: GHC 8.2.1 => Haskell Platform 8.4.3
  • Kotlin: no update (no answer from the Kotlin team)
  • Lua: 5.3.4 => 5.3.5
  • Objective C: Clang 3.4 -> Clang 4.0
  • OCaml: 4.05.0 => 4.07.0
  • Pascal: Free Pascal Compiler 3.0.2 => Free Pascal Compiler 3.0.4
  • Perl: no update
  • PHP: 7.1.9 => 7.2.8
  • Python 2: 2.7.14 => 2.7.15
  • Python 3: 3.6.3 => 3.6.6
  • Ruby: 2.4.2 => 2.5.1
  • Rust: 1.21.0 => 1.27.2
  • Scala: 2.12.4 => 2.12.6
  • Swift: 4.0.3 => 4.1.3
  • VB.NET: Compiler Visual Basic 2005 (Mono 5.4.0, .NET 4.5) => Compiler Visual Basic 2005 (Mono 5.12.0, .NET 4.6)

@qbit86 about C# 7, the Mono support is only partial support

7 Likes

about C# 7, the Mono support is only partial support

@TwoSteps Why Mono, and not .NET Core 2.1 for Linux? Does this version of Mono support ArrayPool<T>, Span<T>, Memory<T> from both runtime/library and language perspective? (Cannot try by myself at the moment.)

Why jumping straight from 8 to 11, rather than incremental updates ?

Edit: OK, I guess LTS…

Wondering if Mono can handle features like these:

using System;
using System.Buffers;

internal static class Program
{
    private static void Main()
    {
        int dynamicLength = DateTime.Now.Second;
        Span<double> span = stackalloc double[dynamicLength];
        bool[] array = ArrayPool<bool>.Shared.Rent(dynamicLength);
        using (IMemoryOwner<int> owner = MemoryPool<int>.Shared.Rent(dynamicLength)) { }
        ReadOnlySpan<char> slice = "{ i: 1729 }".AsSpan().Slice(5, 4);
        bool valid = int.TryParse(slice, out int result);
        Console.WriteLine($"{nameof(result)}: {result}");
    }
}

Hello Thibaud,
Have you ever considered adding the Cython module?
Could be useful for bot contest…

2 Likes

@TwoSteps Unfortunately, Mono cannot compile this code :(

error CS0122: `System.Span<T>' is inaccessible due to its protection level
error CS0122: `System.Buffers.ArrayPool<T>' is inaccessible due to its protection level

Could you please add latest .NET Core as an alternative to Mono?

1 Like

about C# 7, the Mono support is only partial support

Link mentions that following C# 7 features are supported:

  • Default literal expressions
  • Readonly struct

But using them in IDE renders errors:

  • “error CS1644: Feature `default literal’ cannot be used because it is not part of the C# 7.0 language specification”
  • “error CS1644: Feature `readonly structs’ cannot be used because it is not part of the C# 7.0 language specification”

Is there some switch in your build script that fixes version to be 7.0 and not the latest supported (7.2 or 7.3)?