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

Language support meta-issue #25

Open
raxod502 opened this issue Jun 15, 2021 · 21 comments
Open

Language support meta-issue #25

raxod502 opened this issue Jun 15, 2021 · 21 comments

Comments

@raxod502
Copy link
Member

raxod502 commented Jun 15, 2021

This issue tracks new languages which could be added to Riju. If your favorite language isn't supported, add a comment below and (provided it meets the criteria for inclusion) I'll put it in the list 📈

You can also feel free to file a separate issue, which is handy in case there is discussion about how to get the language working on Riju. I'll add the language to this list nonetheless.

Proposed

Blocked

Language Blocker Branch
AutoIt Runtime errors (see below) wip/autoit
Cobra Installation fails (see below) wip/cobra
Couchbase Does not support UNIX sockets wip/couchbase
Koka Excessive memory usage (see below) wip/koka
Maxima Does not support Docker (see below) wip/maxima
Mustache Runtime errors (see below) wip/mustache
Nemerle Compiler crashes (see below) wip/nemerle
Neo4j Does not support UNIX sockets wip/neo4j
Nix Does not support Docker (see below) wip/nix
POP-11 Installation fails (see below) wip/pop11
Q Does not support custom HOME (see below) wip/q

Rejected

Language Rejected because...
ABAP No free implementation
BrightScript No free implementation
Lingo No free implementation
Linotte Requires graphical environment
Logo Requires graphical environment
Processing Requires graphical environment
Svelte Requires browser environment

I've already added everything appropriate from the Quine Relay language list.

Diagnostics on blocked languages

AutoIt

wine client error:240: partial write 12288

This is when running ConsoleWrite("Hello, world" & @CRLF) with wine install/AutoIt3.exe with the ZIP from the official site.

Cobra

BackEndJvm/JvmType.cobra(109): error: The left expression ('`') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JvmType.cobra(244): error: The left expression (r'[') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JvmJarSig.cobra(239): error: The left expression ('`') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JvmJarSig.cobra(713): error: The left expression ('.') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JvmJarSig.cobra(771): error: The left expression ('.') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JvmJarSig.cobra(809): error: The left expression ('`') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JvmJarSig.cobra(834): error: The left expression ('Object') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JavaCompilationMessage.cobra(14): error: The left expression ('.java:') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JavaCompilationMessage.cobra(9): error: The left expression ('hello.cobra') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
BackEndJvm/JavaCompilationMessage.cobra(10): error: The left expression ('package Foo does not exist') cannot be "in" the right-hand expression because the left type is "String" and the right-hand expression contains type "char".
Compilation failed - 79 errors, 1 warning

Koka

See koka-lang/koka#34.

Maxima

See https://sourceforge.net/p/maxima/mailman/maxima-discuss/thread/CALHpz2Hu8Os_kdngazXy6w37F7S7Z42RgVD5xTtAfv0Ndfdu8Q%40mail.gmail.com/.

Mustache

See mustache/mustache#262.

Nemerle

* Assertion at sre-encode.c:290, condition `count > 0' not met

See mono/mono#18970.

Nix

error: the build users group 'nixbld' has no members

See NixOS/nix#697. Why this is so difficult for the Nix folks to straighten out I cannot quite fathom.

POP-11

WARNING: Couldn't re-execute Poplog with the proper personality flags (maybe /proc isn't mounted?). Trying to continue anyway.

<<<<<<< Access Violation: PC = 0000000001C11060, Addr = 0000000001C11060,
        Code = 2 >>>>>>>


;;; MISHAP - serr: MEMORY ACCESS VIOLATION (attempt to alter non-writeable
;;;     system structure?)
;;; PRINT DOING
;;; DOING    :  null nextitem pop_setpop_compiler

Q

'/home/riju2000/q/q.k. OS reports: No such file or directory
0::

Unfortunately, HOME, USER, USERNAME, and LOGNAME all seem to be totally ignored. That said, Q appears to be rather distastefully proprietary anyway, so perhaps it's for the best that it doesn't work.

@raxod502
Copy link
Member Author

raxod502 commented Jun 15, 2021

imported comment by @kwshi

Also, WebAssembly?

@raxod502
Copy link
Member Author

raxod502 commented Jun 15, 2021

imported comment by @kwshi

http://coconut-lang.org/
A functional-programmer-oriented flavor of Python, made by Harvey Mudd's own Evan Hubinger :)

@raxod502
Copy link
Member Author

raxod502 commented Jun 15, 2021

Those will both be excellent additions; added to the list.

@raxod502
Copy link
Member Author

raxod502 commented Jun 15, 2021

We could add Zig.

@raxod502
Copy link
Member Author

raxod502 commented Jun 15, 2021

@edubart
Copy link

edubart commented Jul 12, 2021

Nelua (main branch), Zig (already mentioned) and Odin.

Disclaimer: I am working on Nelua, if you add support for it, then please enable Lua syntax highlighting to have some syntax highlight (although it will be incomplete), because it is a language derived from Lua.

@braebo
Copy link

braebo commented Jul 13, 2021

Svelte already has it's own REPL, but when I saw "Every programming language", I had to check to see if svelte was here!

raxod502 added a commit that referenced this issue Jul 15, 2021
raxod502 added a commit that referenced this issue Jul 15, 2021
raxod502 added a commit that referenced this issue Jul 15, 2021
@raxod502
Copy link
Member Author

@raxod502
Copy link
Member Author

@fractalhq, "Svelte is a language" notwithstanding... is Svelte actually a language? What would "Hello, world" look like?

raxod502 added a commit that referenced this issue Jul 15, 2021
raxod502 added a commit that referenced this issue Jul 17, 2021
@braebo
Copy link

braebo commented Jul 17, 2021

It's considered a DSL for authoring web-based applications. At its core, it's a compiler that turns .svelte files containing a superset of HTML, vanilla JS (with utilities for automating reactivity and trivializing state management) and CSS, and spits out highly optimized vanilla JS and HTML. A hello world according to this cheeky Hello Worlds project could look like this.

That being said, I'd understand if it doesn't really align with the scope of this project considering it runs in the browser as opposed to having its own self contained runtime, and it already comes with it's own online REPL.

@raxod502
Copy link
Member Author

Yeah, in its current configuration Riju is limited to languages with a strictly textual input/output model. Anything dependent on a graphical frame or HTML rendering is kind of out of scope, unfortunately. I think things like configuration languages that "compile" to JSON are okay, because there's an obvious thing to print out when "executing" them, but for Svelte it's more like a general transpiler, which isn't the best match for this execution model. There are other applications (https://babeljs.io/repl, https://godbolt.org/, the Svelte REPL you linked) that are better suited for compiler-type tools.

@ryusatgat
Copy link

Hi, good to see this project. My site seems to similar with your project.
I'm making online compiler/interpreter site. I want to exchange skills with you to implement languages.
sorry about my poor english. I'm korean, so I'm not good at english.
If you see my site(although locale is korean you can execute many languages), you will get many ideas.
Thank you!

https://www.ryugod.com

@raxod502
Copy link
Member Author

Hey @adp-study! Sorry for the delay in response, I've been occupied by things outside of GitHub for a while. Your application looks super neat, and I've given it a shout-out in the README: https://github.com/raxod502/riju#similar-projects

Is it open-source?

@ryusatgat
Copy link

ryusatgat commented Sep 24, 2021

ryugod.com's security is very poor(it is experimental implimentation and private site). I will open source it to git soon with 400 or more syntax highlighting files. I'm just a securities company worker, not a developer. If you want see my sources, I will send you all of it.
and, you can download all files in docker(Ubuntu 20.04), with command "imshow [filename]" command. or FTP, ssh.
ex) tar cvf buzz.tar /opt/buzz; gzip buzz.tar; imshow buzz.tar.gz
if you see some server code, command "code [filename]"
ex) code .bashrc

@chunkybanana
Copy link

Vyxal?

@Calinou
Copy link

Calinou commented Jan 20, 2022

If anyone is interested in implementing GDScript support, feel free to look at GDScript Online which demonstrates a way to run arbitrary GDScript code in an exported project. The same approach can likely be used in headless mode, writing the output to a separate text file which can then be read (and keeping stdout/stderr tidy for errors).

@raxod502 raxod502 pinned this issue Apr 16, 2022
@ssantichaivekin
Copy link

TLA+
PlusCal

@elimisteve
Copy link

Janet

@keller
Copy link

keller commented May 19, 2022

Raku (Docker image)

@izzues
Copy link

izzues commented Jun 12, 2022

@wackbyte
Copy link

wackbyte commented Dec 1, 2023

Hare

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests