Languages

There are six "tiers" of langauges recognized by GLS:

  1. Unknown
  2. Unsupported
  3. Best Guess
  4. Output Only
  5. Partial Input
  6. Full

Unknown

These languages each need to be investigated and assigned a higher tier.

Language Issue
D #361
emojicode #429
Groovy #454
Haxe #247
Kotlin #453
LLVM #381
LOLCODE #267
Objective C #191
PHP #102
Powershell #103
sh #436
Swift #105
Visual Basic #439

Unsupported

Language Unusual Classes Unusual Returns
C
Go
Matlab

Some languages will never be able to be accurately compiled to by GLS because of severe structural abnormalities in the language's design. These languages are so different from the norm that any attempt to output them from GLS would be horrendously overcomplicated and inaccurate.

These languages will never be output by GLS for the following common reasons (among others):

Best Guess

Some languages will never be able to be accurately compiled to by GLS, but the compiler can roughly come close.

These languages will never be guaranteed accurate GLS output for the following common reasons (among others):

Language Manual Pointers
C++

Why Try?

There are still some cases where it may be useful to have near-working output in an unsupported language. For example, when using GLS for snippets of code as sample answer guidelines to coding interview questions, it's not necessary for the result to be provably correct.

Again: GLS gives no guarantee of code working in these languages. They will almost certainly fail at more than a few lines.

Output Only

Language
JavaScript
Ruby
Python

These languages can be fully output by GLS but don't provide rich enough type information in their syntax to be statically converted to GLS.

Partial Input

Language Compiler int vs double
TypeScript TS-GLS Missing

These languages may be generally compiled from their native source code to GLS with a "best guess" approximation of the equivalent GLS code. They must have some kind of gradual or even static typing, but are not required to fully support differences between all GLS types.

Full

Language Compiler
C# CS-GLS
Java (not started)

These languages are capable of being compiled from their native source code to GLS and then back out to any supported language.

In order for a language to be fully supported, it must:

  • Completely support static typings via a programmable AST.
  • Recognize differences between all GLS types, including:
    • char vs. string
    • int vs. double

results matching ""

    No results matching ""