Languages update

To be fair… I wasn’t really wanting to use Swift or Rust… but now that they are there, I’m more inclined to actually check them out.

Yeah… I’ve been kind of not doing too much of them too quickly… but I’ve not really been doing much of anything on this website too quickly. To the point where I’ve mostly been sticking with C and Perl… even for situations using other languages would be the logical answer to do there (and mocking my own stubbornness with it, rather than actually justifying it).

1 Like

Hi

A rust update would be welcome.

Rust gets a new version every 6 weeks, a regular warning like a google calendar reminder would help you not miss any update :slight_smile:

Can we get an update to Swift 3? It’s a major change from Swift 2, and the app development community has already moved to it, with Apple dropping support for Swift 2 very aggressively.

Plese update Haskell too, I can’t use ghc 7.8.3 via stack (on Arch linux) anymore.

Now I have to blindly use 7.10.3 to test code locally and hope nothing will break when submit.

There is no major issue yet but update would be nice :slight_smile:

$ stack --resolver=lts-0.3 setup
Run from outside a project, using implicit global project config
Using resolver: lts-0.3 specified on command line
No information found for ghc-7.8.3.
Supported versions for OS key 'linux64-ncurses6': GhcVersion 7.10.3, GhcVersion 8.0.1

as you can see here, Rust and Haskell have been updated
@wizzup
@Flavius.A

1 Like

The following languages have been updated (just in time for the community contest \o/):

  • Bash: GNU Bash 4.4.5 => GNU Bash 4.4.12
  • C: gcc 4.9.2 mode C11 => gcc 7.2.0 mode C11
  • C++: g++ 4.9.2 mode C++11 => g++ 7.2.0 mode C++14
  • C#: C# 6.0 (Mono 4.6.2, .NET 4.5) => C# 6.0 (Mono 5.4.0, .NET 4.6)
  • Clojure: 1.6.0 - Oracle JVM 1.8 => 1.8.0 - Oracle JVM 1.8
  • Dart: 1.16.0 => 1.24.2
  • F#: F# Compiler for F# 4.0 (Open Source Edition) => F# Compiler 4.1 (Open Source Edition)
  • Java: Oracle Java 1.8.0_72 => Oracle Java 1.8.0_152
  • Javascript: SpiderMonkey 49.0 => SpiderMonkey 58.0 (ES6)
  • Go: 1.6.2 => 1.9.1
  • Groovy: 2.4.5 - Oracle JVM 1.8 => 2.4.12 - Oracle JVM 1.8
  • Haskell: GHC 7.10.3 => Haskell Platform 8.2.1
  • Kotlin, Objective-C, PHP: no update
  • Lua: 5.3.0 => 5.3.4
  • OCaml: 4.01.0 => 4.05.0
  • Pascal: Free Pascal Compiler 2.6.4 => Free Pascal Compiler 3.0.2
  • Perl: 5.20.2 => 5.24.1
  • Python 2: 2.7.13 => 2.7.14
  • Python 3: 3.5.3 => 3.6.3
  • Ruby: 2.1.5 => 2.4.2
  • Rust: 1.14 => 1.21.0
  • Scala: 2.12.1 => 2.12.4
  • Swift: 2.2.1 => 4.0
  • Swift 3: REMOVED (see Swift)
  • VB.NET: Compiler Visual Basic 2005 (Mono 4.2.3, .NET 4.5) => Compiler Visual Basic 2005 (Mono 5.4.0, .NET 4.6)

We’ll look into optimization flags next year (O3, Rust debug mode, etc)

PS: There has been some issues linked to this update, in particular with C++. Please check this thread

36 Likes

So good I can’t believe my eyes! Yay!

Nice!
Thank you!

Thanks, I was really waiting Python 3.6. Especially type hints and new format.

What happens to the swift3 badges?

There have never been any Swift3 badges, so no problem there.

Just for you know, 1.8.0_152 has some big regressions especially for Tomcat. I hope it won’t affect codingame puzzle. Oracle said that it will be fixed in the 1.8.0_153.

FYI while you were upgrading OCaml to 4.05.0, the new 4.06.0 version was released, which is quite unfortunate. :smiley:

1 Like

ES6 :heart_eyes: finally!

Could you please check Haskell installation? Some standard libraries are not found (Data.Random, Data.Vector). Just tried to compile code from past contests…

3 Likes

thanks for clojure :slight_smile:

Looks like all of them.

In fact, it looks like the Haskell setup actually went from platform 7.10.3 to ghc 8.2.1, instead of ghc 7.10.3 to platform 8.2.1.

The following code, that ought to do nothing (and yell about main missing), yields exactly one error per line:

import Control.Concurrent.Async
import Data.Attoparsec
import Data.CallStack
import Data.CaseInsensitive
import Network.CGI
import Control.Monad.Catch
import Data.Graph.Inductive
import Numeric.Fixed
import Graphics.GLU
import Graphics.UI.GLUT
import Numeric.Half
import Data.Hashable
import Language.Haskell.Syntax
import Text.Html
import Network.HTTP
import Test.HUnit
import Math.NumberTheory.Logarithms
import Control.Monad.Trans
import Network.Multipart
import Network
import Network.URI
import Data.ObjectName
import System.Locale
import System.Time
import Graphics.Rendering.OpenGL
import Graphics.GL
import Control.Parallel
import Text.Parsec
import Data.Primitive
import Test.QuickCheck
import System.Random
import Text.Regex.Base
import Text.Regex
import Text.Regex.POSIX
import Data.Scientific
import Data.List.Split
import Data.StateVar
import Control.Concurrent.STM
import Data.Generics
import Data.Text
import System.Random.TF
import Control.Monad.Trans.Identity
import Control.Monad.Trans.Instances
import Data.HashSet
import Data.Vector
import Text.XHtml
import Codec.Compression.Zlib
4 Likes

Ts’all better than nothing, so please excuse the misplaced curiosity on my side, but…

Perl 5.24 is the stable branch that forked about a year and a half ago. Stable perl 5.26 branched in May. Why do we get the older one?

It was easier to install. I don’t know the exact technical details.

The Scheme or Racket unavailability makes me feel sad. I hope there is still hope >^.^< Thanks for other languages, anyway

1 Like