Log message

This commit is contained in:
plondon 2021-09-21 19:40:19 -04:00
parent 071ab9973e
commit 73577af762
224 changed files with 6 additions and 8351 deletions

View File

@ -1,4 +1,4 @@
FROM ubuntu:rolling
FROM --platform=amd64 ubuntu:rolling
COPY docker/admin/install.bash /tmp/
RUN /tmp/install.bash

View File

@ -19,7 +19,7 @@ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
ubuntu_ver="$(lsb_release -rs)"
ubuntu_name="$(lsb_release -cs)"
node_repo="$(curl -sS https://deb.nodesource.com/setup_current.x | grep NODEREPO= | grep -Eo 'node_[0-9]+\.x' | head -n1)"
node_repo="node_14.x"
tee -a /etc/apt/sources.list.d/custom.list >/dev/null <<EOF
deb [arch=amd64] https://apt.releases.hashicorp.com ${ubuntu_name} main

View File

@ -134,6 +134,9 @@ async function main() {
fitAddon.fit();
window.addEventListener("resize", () => fitAddon.fit());
window.addEventListener("message", (msg) => {
console.log(msg)
})
await new Promise((resolve) =>
term.write("Connecting to server...", resolve)

View File

@ -1,37 +0,0 @@
id: "abc"
name: "ABC"
install:
apt:
- libtinfo5:i386
manual: |
wget https://homepages.cwi.nl/~steven/abc/implementations/abc.tar.gz
install -d "${pkg}/opt/abc"
tar -xf abc.tar.gz -C "${pkg}/opt/abc" --strip-components=1
chmod +x "${pkg}/opt/abc/abc" "${pkg}/opt/abc/abckeys"
install -d "${pkg}/usr/local/bin"
tee "${pkg}/usr/local/bin/abc" >/dev/null <<"EOF"
#!/usr/bin/env bash
cd /opt/abc
exec ./abc "$@"
EOF
chmod +x "${pkg}/usr/local/bin/abc"
repl: |
abc
input: |
DELAY: 2
WRITE 123 * 234
main: "main.abc"
template: |
WRITE "Hello, world!" /
run: |
abc "$PWD/main.abc" -
scope:
code: |
PUT 123 * 234 IN x
input: |
WRITE x

View File

@ -1,45 +0,0 @@
id: "ada"
aliases:
- "adb"
- "gnat"
name: "Ada"
info:
impl: "GNAT"
year: 1980
desc: "Structured, statically typed, imperative, and object-oriented high-level programming language, extended from Pascal and other languages"
ext:
- adb
- ads
web:
wiki: "https://en.wikipedia.org/wiki/Ada_(programming_language)"
home: "https://www.adaic.org/"
impl: "https://www.gnu.org/software/gnat/"
source: "https://gcc.gnu.org/git.html"
category: general
mode: compiled
platform: []
syntax: pascal
typing: static
paradigm:
- imperative
- oo
usage: popular
install:
apt:
- gnat
main: "main.adb"
template: |
with Ada.Text_IO;
procedure Main is
begin
Ada.Text_IO.Put_Line("Hello, world!");
end Main;
compile: |
gnatmake main.adb
run: |
./main

View File

@ -1,24 +0,0 @@
id: "afnix"
aliases:
- "als"
- "axc"
- "axi"
name: "Afnix"
install:
apt:
- afnix
- afnix-doc
repl: |
LD_LIBRARY_PATH=/usr/lib/afnix axi
input: |
DELAY: 1
println (* 123 234)
main: "main.als"
template: |
println "Hello, world!"
run: |
LD_LIBRARY_PATH=/usr/lib/afnix axi main.als; LD_LIBRARY_PATH=/usr/lib/afnix axi

View File

@ -1,39 +0,0 @@
id: "aheui"
aliases:
- "aheui"
- "aheuis"
- "rpaheui"
- "caheui"
- "naheui"
- "goaheui"
- "jsaheui"
- "pyaheui"
- "rsaheui"
- "as3aheui"
- "raheui"
- "아희"
name: "아희"
install:
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/aheui/caheui.git
pushd caheui
make
cp aheui "${pkg}/usr/local/bin/"
popd
main: "main.aheui"
template: |
밤밣따빠밣밟따뿌
빠맣파빨받밤뚜뭏
돋밬탕빠맣붏두붇
볻뫃박발뚷투뭏붖
뫃도뫃희멓뭏뭏붘
뫃봌토범더벌뿌뚜
뽑뽀멓멓더벓뻐뚠
뽀덩벐멓뻐덕더벅
run: |
aheui main.aheui

View File

@ -1,38 +0,0 @@
id: "algol"
aliases:
- "alg"
- "a68g"
- "genie"
- "a68genie"
name: "ALGOL 68"
info:
impl: "ALGOL 68 Genie"
version: "ALGOL 68"
year: 1958
desc: "Seminal imperative programming language which introduced lexical scope and formal grammar specification"
ext: alg
web:
wiki: "https://en.wikipedia.org/wiki/ALGOL"
home: "http://algol68.sourceforge.net/"
source: "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html"
category: general
mode:
- interpreted
- compiled
platform: []
syntax: pascal
typing: static
paradigm: imperative
usage: []
install:
apt:
- algol68g
main: "main.alg"
template: |
print(("Hello, world!",new line))
run: |
a68g main.alg

View File

@ -1,43 +0,0 @@
id: "ante"
aliases:
- "an"
name: "Ante"
install:
prepare:
apt:
- cargo
- cmake
- libssl-dev
- pkg-config
- python3-distutils
manual: |
export PATH="$HOME/.cargo/bin:$PATH"
cargo install llvmenv
llvmenv init
# If compiler is not explicitly set to LLVM, then we get an
# error: unrecognized command-line option -Wnewline-eof.
CC=/usr/bin/clang CXX=/usr/bin/clang++ llvmenv build-entry -G Makefile -j$(nproc) 10.0.0
llvmenv global 10.0.0
manual: |
git clone https://github.com/jfecher/ante.git
pushd ante
LLVM_SYS_100_PREFIX="$(llvmenv prefix)" cargo build --release
install -d "${pkg}/opt/ante"
install -d "${pkg}/usr/local/bin"
cp target/release/ante "${pkg}/usr/local/bin/"
cp -R stdlib "${pkg}/opt/ante/"
popd
setup: |
mkdir -p "$HOME/.config/ante"
cp -R /opt/ante/stdlib "$HOME/.config/ante/"
main: "main.an"
template: |
print "Hello, world!"
compile: |
ante main.an
run: |
./main

View File

@ -1,16 +0,0 @@
id: "antecards"
name: "Ante (Cards)"
install:
manual: |
wget https://github.com/michaeldv/ante/raw/master/ante.rb
chmod +x ante.rb
install -d "${pkg}/usr/local/bin"
mv ante.rb "${pkg}/usr/local/bin/ante-cards"
main: "main.ante"
template: |
9♦8♥J♦A♦2♣3♥7♠J♦A♦7♦J♦J♦A♦3♦J♦5♥6♦4♥J♥A♥6♠6♠J♥A♦8♦J♦A♦8♠J♦A♦3♦J♦A♦6♠J♦A♦8♠J♦A♥3♦2♠J♥A♥2♣6♠J♥
run: |
RUBYOPT="-W0" ante-cards main.ante

View File

@ -1,50 +0,0 @@
id: "apl"
name: "APL"
info:
impl: "GNU APL"
year: 1966
desc: "Array-based programming language using large range of special symbols for concision"
ext: apl
web:
wiki: "https://en.wikipedia.org/wiki/APL_(programming_language)"
impl: "https://www.gnu.org/software/apl/"
source: "https://savannah.gnu.org/svn/?group=apl"
category:
- general
mode: interpreted
platform: []
syntax:
- golf
- symbol
typing: dynamic
paradigm:
- array
- functional
- imperative
usage: []
install:
apt:
- libtinfo5
manual: |
path="$(curl -sS ftp://ftp.gnu.org/gnu/apl/ | grep -Eo 'apl_[-0-9.]+_amd64.deb$' | sort -rV | head -n1)"
wget "ftp://ftp.gnu.org/gnu/apl/${path}" -O apl.deb
deb:
- apl.deb
repl: |
apl
input: |
123 × 234
main: "main.apl"
template: |
'Hello, world!'
run: |
apl -f main.apl
scope:
code: |
x ← 123 × 234

View File

@ -1,29 +0,0 @@
id: "aplus"
aliases:
- "a+"
- "ap"
- "aplus"
name: "A+"
install:
apt:
- aplus-fsf
- aplus-fsf-doc
- rlwrap
repl: |
rlwrap a+
input: |
2 * 16
output: |
65536
main: "main.a+"
template: |
'Hello, world!'
run: |
rlwrap a+ main.a+
skip:
- scope

View File

@ -1,47 +0,0 @@
id: "arm"
name: "ARM"
info:
impl: "GCC"
year: 1985
desc: "Popular RISC architecture used in mobile devices"
ext: S
web:
wiki: "https://en.wikipedia.org/wiki/ARM_architecture"
home: "https://developer.arm.com/architectures/cpu-architecture"
impl: "https://gcc.gnu.org/"
source: "https://gcc.gnu.org/git.html"
category: assembly
mode: compiled
platform: []
syntax: assembly
typing: weak
paradigm: imperative
usage: []
install:
apt:
- gcc-arm-linux-gnueabihf
- qemu-user-static
main: "main.S"
template: |2
.text
.globl main
main:
mov r7, #4
mov r0, #1
ldr r1, =message
mov r2, #14
swi 0
mov r7, #1
mov r0, #0
swi 0
.data
message:
.string "Hello, world!\n"
compile: |
arm-linux-gnueabihf-gcc main.S -o main -static
run: |
qemu-arm-static main

View File

@ -1,36 +0,0 @@
id: "asciidoc"
aliases:
- "adoc"
- "asc"
name: "AsciiDoc"
info:
year: 2002
desc: "Human-readable document format, semantically equivalent to DocBook XML, but using plain-text mark-up conventions"
ext: adoc
web:
wiki: "https://en.wikipedia.org/wiki/AsciiDoc"
home: "https://asciidoc.org/"
source: "https://github.com/asciidoc/asciidoc"
category: markup
mode: []
platform: []
syntax: text
typing: []
paradigm: []
usage: []
install:
apt:
- asciidoctor
riju:
- prettier
main: "main.adoc"
template: |
Hello, world!
compile: |
asciidoctor -s main.adoc
run: |
prettier --no-config main.html

View File

@ -1,24 +0,0 @@
id: "aspectcpp"
aliases:
- "aspectc++"
- "aspectcplusplus"
name: "AspectC++"
install:
apt:
- aspectc++
- libstdc++-9-dev
main: "main.cpp"
template: |
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
compile: |
CPLUS_INCLUDE_PATH=/usr/include/c++/9 ag++ main.cpp -o main
run: |
./main

View File

@ -1,21 +0,0 @@
id: "aspectj"
aliases:
- "aj"
name: "AspectJ"
install:
apt:
- aspectj
main: "Main.aj"
template: |
public class Main {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
compile: |
ajc Main.aj
run: |
java Main

View File

@ -1,18 +0,0 @@
id: "asymptote"
aliases:
- "asy"
name: "Asymptote"
install:
apt:
- asymptote
repl: |
asy
main: "main.asy"
template: |
write("Hello, world!");
run: |
asy main.asy; asy

View File

@ -1,49 +0,0 @@
id: "ats"
aliases:
- "dats"
- "sats"
- "cats"
- "hats"
name: "ATS"
monacoLang: postiats
info:
impl: "ATS2/Postiats"
year: 2007
desc: "Programming language designed to unify programming with formal specification"
ext:
- sats
- dats
- cats
- hats
web:
wiki: "https://en.wikipedia.org/wiki/ATS_(programming_language)"
home: "http://www.ats-lang.org/"
source: "https://github.com/githwxi/ATS-Postiats"
category: general
mode: compiled
platform: []
syntax:
- c
- haskell
typing:
- static
- theorem
paradigm:
- imperative
- declarative
usage: []
install:
apt:
- ats2-lang
main: "main.dats"
template: |
val _ = print ("Hello, world!\n")
implement main0 () = ()
compile: |
patscc main.dats -o main
run: |
./main

View File

@ -1,34 +0,0 @@
id: "awk"
aliases:
- "gawk"
- "mawk"
- "nawk"
name: "Awk"
info:
impl: "GNU Awk"
year: 1977
desc: "Domain-specific language designed for text processing and typically used as a data extraction and reporting tool"
ext: awk
web:
wiki: "https://en.wikipedia.org/wiki/AWK"
impl: "https://www.gnu.org/software/gawk/manual/gawk.html"
source: "https://savannah.gnu.org/git/?group=gawk"
category: tool
mode: interpreted
platform: []
syntax: c
typing: weak
paradigm: imperative
usage: []
install:
apt:
- mawk
main: "main.awk"
template: |
BEGIN { print "Hello, world!" }
run: |
awk -f main.awk

View File

@ -1,55 +0,0 @@
id: "bash"
aliases:
- "bashrc"
- "bourneshell"
name: "Bash"
monacoLang: shell
info:
impl: "GNU Bash"
year: 1989
desc: "Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell"
ext:
- bash
- sh
web:
wiki: "https://en.wikipedia.org/wiki/Bash_(Unix_shell)"
impl: "https://www.gnu.org/software/bash/"
source: "https://savannah.gnu.org/projects/bash/"
category: shell
mode: interpreted
platform: []
syntax: pascal
typing: weak
paradigm: imperative
usage: []
install:
apt:
- bash
npm:
- bash-language-server
repl: |
bash --rcfile /dev/null
input: |
expr 123 \* 234
main: "main.bash"
template: |
echo "Hello, world!"
run: |
bash --rcfile main.bash
scope:
code: |
x="$(expr 123 \* 234)"
input: |
echo "$x"
lsp:
start: |
bash-language-server start
code: "read"
item: "readonly"

View File

@ -1,47 +0,0 @@
id: "basic"
aliases:
- "bas"
- "qbasic"
name: "BASIC"
info:
impl: "Bywater BASIC"
year: 1964
desc: "General-purpose, high-level programming language whose design philosophy emphasizes ease of use"
ext: bas
web:
wiki: "https://en.wikipedia.org/wiki/BASIC"
impl: "https://sourceforge.net/projects/bwbasic/"
source: "https://sourceforge.net/projects/bwbasic/files/bwbasic/"
category: general
mode: interpreted
platform: []
syntax:
- basic
- column
- whitespace
typing: static
paradigm: imperative
usage: []
install:
apt:
- bwbasic
repl: |
bwbasic
input: |
PRINT 123 * 234
main: "main.bas"
template: |
PRINT "Hello, world!"
run: |
bwbasic main.bas
scope:
code: |
x = 123 * 234
input: |
PRINT x

View File

@ -1,45 +0,0 @@
id: "battlestar"
aliases:
- "battlestarc"
- "bts"
name: "Battlestar"
info:
year: 2014
desc: "A different take on assembly, with the goal of creating tiny executables"
ext: bts
web:
source: "https://github.com/xyproto/battlestar"
category: assembly
mode: compiled
platform: []
syntax: assembly
typing: weak
paradigm: imperative
usage: personal
install:
prepare:
apt:
- golang
apt:
- yasm
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/xyproto/battlestar.git
pushd battlestar
make
cp cmd/battlestarc/battlestarc "${pkg}/usr/local/bin/"
cp scripts/bts.sh "${pkg}/usr/local/bin/bts"
popd
main: "main.bts"
template: |
const message = "Hello, world!\n"
fun main
syscall(1, 1, message, len(message))
end
run: |
bts main.bts

View File

@ -1,17 +0,0 @@
id: "bc"
name: "bc"
install:
apt:
- bc
repl: |
bc
main: "main.bc"
template: |
"Hello, world!
"
run: |
bc main.bc

View File

@ -1,27 +0,0 @@
id: "beanshell"
aliases:
- "bsh"
name: "Beanshell"
install:
apt:
- bsh
repl: |
CLASSPATH=/usr/share/java/jline.jar:/usr/share/java/bsh.jar java -Duser.home="$PWD" jline.ConsoleRunner bsh.Interpreter
input: |
print(123 * 234);
main: ".bshrc"
template: |
print("Hello, world!");
createEmpty: ""
run: |
CLASSPATH=/usr/share/java/jline.jar:/usr/share/java/bsh.jar java -Duser.home="$PWD" jline.ConsoleRunner bsh.Interpreter
scope:
code: |
x = 123 * 234;
input: |
print(x);

View File

@ -1,124 +0,0 @@
id: "beatnik"
name: "Beatnik"
info:
impl: "Cat's Eye Beatnik"
year: 2001
desc: "Stack-based esoteric programming language created by Cliff L. Biffle"
ext: beatnik
web:
wiki: "https://en.wikipedia.org/wiki/Beatnik_(programming_language)"
esolang: "https://esolangs.org/wiki/Beatnik"
home: "https://cliffle.com/esoterica/beatnik/"
source: "https://github.com/catseye/Beatnik"
category: esoteric
mode: interpreted
platform: []
syntax: []
typing: integer
paradigm: stack
usage: []
install:
apt:
- python2
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/catseye/Beatnik.git
sed -i 's#env python#env python2#' Beatnik/script/beatnik.py
cp Beatnik/script/beatnik.py "${pkg}/usr/local/bin/beatnik"
main: "main.beatnik"
template: |
Soars, larkspurs, rains.
Indistinctness.
Mario snarl (nurses, natures, rules...) sensuously retries goal.
Agribusinesses' costs par lain ropes (mopes) autos' cores.
Tuner ambitiousness.
Flit.
Dour entombment.
Legals' saner kinking lapse.
Nests glint.
Dread, tied futures, dourer usual tumor grunts alter atonal
garb tries shouldered coins.
Taste a vast lustiness.
Stile stuns gad subgroup gram lanes.
Draftee insurer road: cuckold blunt, strut sunnier.
Rely enure pantheism: arty gain groups (genies, pan) titters, tattles, nears.
Bluffer tapes? Idle diatom stooge!
Feted antes anklets ague? Remit goiter gout!
Doubtless teared toed alohas will dull gangs' aerials' tails' sluices;
Gusset ends! Gawkier halo!
Enter abstruse rested loser beer guy louts.
Curtain roams lasso weir lupus stunt.
Truant bears animate talon. Entire torte originally timer.
Redo stilt gobs.
Utter centaurs;
Urgent stars;
Usurers (dilute);
Noses;
Bones;
Brig sonar graders;
Utensil silts;
Lazies.
Fret arson veterinary rows.
Atlas grunted: "Pates, slues, sulfuric manor liaising tines,
trailers, rep... unfair! Instant snots!"
Sled rested until eatery fail.
Ergs fortitude
Indent spotter
Euros enter egg.
Curious tenures.
Torus cutlasses.
Sarong torso earns cruel lags it reeled.
Engineer: "Erase handbag -- unite ratification!"
oaring oaten donkeys unsold, surer rapid saltest tags
BUTTERED TIBIA LUGS REWIRING TOILETS
anion festers raring edit epilogues.
DIRGE ROTOR.
linnet oaring.
GORE BOOTIES.
Ironed goon lists tallest sublets --
Riots,
Raucous onset.
Ignobly, runners' diet anguishes sunrise loner.
Erode mob, slier switcher!
Loaners stilt drudge pearl atoll, risking hats' ends.
Rebind sitters.
Toga epistles -- crud lard. (Pager purse dons souls.)
glob title a curio hired rites shed suds lade grease strut arctic revs toad
unless idlers rind stilt region land GERMICIDES SULTANA GUTS gill siting leans
nice spurs
tests gloves
roused asp
Holes! Moles! (Sores!)
Hygienists! Scars! (Asses!)
Smells spell rares.
Cubs instant sing in parse goodies.
Rosin. Unhelpful sisal acres. Slope told.
MALENESS PASTA LAB. "Infirmary vine," rang illiterates (beans).
Rosin sours, insults truss abalones, nailed rules, helical atlases.
Dear remodeling stings mar rents.
Sunless shiner orb (silly idol.)
Clarity disses senna.
Vagabonds sauted; sloes performed gelds.
Alter post radial lip sectioning gums.
Saint Towellings.
Larger aeons telephone stolid char, pal!
Boats Dean forsook, rosters, tunas, terrariums -- united, traced.
Nude pagoda careens.
run: |
beatnik main.beatnik

View File

@ -1,70 +0,0 @@
id: "befunge"
aliases:
- "be"
name: "Befunge"
info:
impl: "amicloud Befunge-93"
version: "Befunge-93"
year: 1993
desc: "Two-dimensional esoteric programming language invented in 1993 by Chris Pressey with the goal of being as difficult to compile as possible"
ext:
- be
- bf
- b93
- b98
- befunge
web:
wiki: "https://en.wikipedia.org/wiki/Befunge"
esolang: "https://esolangs.org/wiki/Befunge"
home: "https://catseye.tc/article/Languages.md#befunge-93"
source: "https://github.com/amicloud/befunge93"
category: esoteric
mode: interpreted
platform: []
syntax:
- golf
- 2d
typing: integer
paradigm: stack
usage: []
install:
npm:
- befunge93
- prompt-sync
scripts:
befunge: |
#!/usr/bin/env -S NODE_PATH=/opt/befunge93/lib/node_modules:/opt/prompt-sync/lib/node_modules node
const fs = require("fs");
const Befunge = require("befunge93");
const prompt = require("prompt-sync")();
const befunge = new Befunge();
befunge.onInput = prompt;
befunge.onOutput = (output) => {
if (typeof output === "string") {
process.stdout.write(output);
} else {
process.stdout.write(output + " ");
}
};
const args = process.argv.slice(2);
if (args.length !== 1) {
console.error("usage: befunge FILE");
process.exit(1);
}
befunge.run(fs.readFileSync(args[0], { encoding: "utf-8" })).catch((err) => {
console.error(err);
process.exit(1);
});
main: "main.be"
template: |
64+"!dlrow ,olleH">:#,_@
run: |
befunge main.be

View File

@ -1,54 +0,0 @@
id: "blc"
aliases:
- "binarylambdacalculus"
- "lc"
- "binary"
- "lambdacalculus"
- "lambda"
name: "Binary Lambda Calculus"
info:
year: 2004
desc: "Minimal, pure functional programming language invented by John Tromp in 2004, based on a binary encoding of the untyped lambda calculus in De Bruijn index notation"
ext: blc
web:
wiki: "https://en.wikipedia.org/wiki/Binary_combinatory_logic"
esolang: "https://esolangs.org/wiki/Binary_lambda_calculus"
home: "https://tromp.github.io/cl/Binary_lambda_calculus.html"
impl: "https://www.ioccc.org/2012/tromp/hint.html"
source: "https://www.ioccc.org/2012/tromp/tromp.c"
category: esoteric
mode: interpreted
platform: []
syntax: []
typing: lambda
paradigm: functional
usage: []
install:
scripts:
binary-to-text: |
#!/usr/bin/env python3
import re
import sys
text = re.sub(r"[^01]", "", sys.stdin.read())
out = []
for m in re.finditer(r"([01]{8})", text):
out += chr(int(m.group(0), 2))
print("".join(out), end="")
manual: |
install -d "${pkg}/usr/local/bin"
wget https://www.ioccc.org/2012/tromp/tromp.c
clang tromp.c -Wno-everything -DInt=long -DX=8 -DA=500000 -o "${pkg}/usr/local/bin/tromp"
main: "main.blc"
template: |
001010100100100001100101011011000110110001101111001011000010
000001110111011011110111001001101100011001000010000100001010
run: |
cat main.blc | binary-to-text | tromp

View File

@ -1,56 +0,0 @@
id: "boo"
aliases:
- "booc"
name: "Boo"
info:
year: 2003
desc: "Object-oriented, statically typed, general-purpose programming language on Microsoft's Common Language Infrastructure"
ext: boo
web:
wiki: "https://en.wikipedia.org/wiki/Boo_(programming_language)"
home: "https://boo-language.github.io/"
source: "https://github.com/boo-lang/boo"
category: general
mode: compiled
platform: clr
syntax:
- python
- extensible
- whitespace
typing:
- static
- dynamic
paradigm:
- imperative
- oo
usage: []
install:
apt:
- mono-runtime
- mono-devel
manual: |
install -d "${pkg}/usr/local/lib"
install -d "${pkg}/usr/local/bin"
wget https://github.com/boo-lang/boo/releases/download/unstable/boo-latest.zip
unzip boo-latest.zip
mv -T boo-latest "${pkg}/usr/local/lib/boo"
chmod +x "${pkg}/usr/local/lib/boo/booc" "${pkg}/usr/local/lib/boo/booish"
ln -s /usr/local/lib/boo/booc /usr/local/lib/boo/booish "${pkg}/usr/local/bin/"
setup: |
mkdir -p "$HOME/.local/share"
touch "$HOME/.local/share/booish_history"
repl: |
booish
main: "main.boo"
template: |
print "Hello, world!"
compile: |
booc main.boo
run: |
mono main.exe; booish

View File

@ -1,101 +0,0 @@
id: "brainf"
aliases:
- "brainfuck"
- "bf"
name: "Brainf***"
info:
impl: "Beef"
year: 1993
desc: "Famous esoteric programming language created in 1993 by Urban Müller"
ext:
- b
- bf
web:
wiki: "https://en.wikipedia.org/wiki/Brainfuck"
esolang: "https://esolangs.org/wiki/Brainfuck"
impl: "https://kiyuko.org/software/beef"
source: "https://github.com/andreabolognani/beef"
category: esoteric
mode: interpreted
platform: bf
syntax: golf
typing: integer
paradigm: turing
usage: []
install:
apt:
- beef
scripts:
brainf: |
#!/usr/bin/env python3
import argparse
import readline
import subprocess
import tempfile
parser = argparse.ArgumentParser()
parser.add_argument("file", nargs="?")
args = parser.parse_args()
if args.file:
subprocess.run(["beef", args.file])
while True:
try:
code = input("bf> ")
except KeyboardInterrupt:
print("^C")
continue
except EOFError:
print("^D")
break
if not code:
continue
with tempfile.NamedTemporaryFile(mode="w") as f:
f.write(code)
f.flush()
subprocess.run(["beef", f.name])
repl: |
brainf
input: |
>++>+[>++++[-<++++>]<<]> [>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<
output: |
86
main: "main.bf"
template: |
++++++++
[
>++++
[
>++
>+++
>+++
>+
<<<<-
]
>+
>+
>-
>>+
[<]
<-
]
>>.
>---.
+++++++..+++.
>>.
<-.
<.
+++.------.--------.
>>+.
>++.
run: |
brainf main.bf
hello: |
Hello World

View File

@ -1,15 +0,0 @@
id: "bython"
aliases:
- "by"
name: "Bython"
install:
pip:
- bython
main: "main.by"
template: |
print("Hello, world!")
run: |
bython main.by

View File

@ -1,49 +0,0 @@
id: "carp"
name: "Carp"
info:
year: 2015
desc: "Programming language designed to work well for interactive and performance sensitive use cases like games, sound synthesis and visualizations"
ext: carp
web:
source: "https://github.com/carp-lang/Carp"
category: general
mode: interpreted
platform: []
syntax: lisp
typing: static
paradigm:
- functional
- imperative
usage: []
install:
manual: |
install -d "${pkg}/opt/carp"
install -d "${pkg}/usr/local/bin"
ver="$(curl -sSL "https://api.github.com/repos/carp-lang/Carp/releases" | jq '.[].tag_name' -r | grep Linux | sort -rV | grep -Eo '[0-9.]+' | head -n1)"
wget "https://github.com/carp-lang/Carp/releases/download/v${ver}_Linux/v${ver}.zip" -O carp.zip
unzip carp.zip
mv "v${ver}/bin"/* "${pkg}/usr/local/bin/"
mv "v${ver}/core" "${pkg}/opt/carp/"
repl: |
CARP_DIR=/opt/carp carp
input: |
(* 123 234)
main: "main.carp"
template: |
(use IO)
(println "Hello, world!")
run: |
CARP_DIR=/opt/carp carp main.carp
scope:
code: |
(def x (* 123 234))
timeoutFactor: 8

View File

@ -1,58 +0,0 @@
id: "cat"
aliases:
- "cat-language"
name: "Cat"
info:
year: 2006
desc: "Statically typed stack-based programming language in C#"
ext: cat
web:
source: "https://github.com/cdiggins/cat-language"
category: pure
mode: interpreted
platform: []
syntax: tokens
typing: static
paradigm: stack
usage: []
install:
scripts:
cat-lang: |
#!/usr/bin/env -S NODE_PATH=/opt/cat node
const fs = require("fs");
const repl = require("repl");
const args = process.argv.slice(2);
if (args.length > 1) {
console.error("usage: cat-lang [FILE]");
process.exit(1);
}
const program = args.length === 1 ? fs.readFileSync(args[0], "utf-8") : null;
const cat = require("cat");
const ce = new cat.CatLanguage.CatEvaluator();
if (program !== null) {
ce.eval(program);
}
repl.start({prompt: "cat> ", eval: (cmd, context, filename, callback) => callback(null, ce.eval(cmd))});
manual: |
git clone https://github.com/cdiggins/cat-language "${pkg}/opt/cat"
repl: |
cat-lang
input: |
123 234 mul
main: "main.cat"
template: |
72 101 108 108 111 44 32 119 111 114 108 100 33 10
run: |
cat-lang main.cat
hello: |
72,101,108,108,111,44,32,119,111,114,108,100,33,10

View File

@ -1,42 +0,0 @@
id: "ceylon"
name: "Ceylon"
info:
year: 2011
desc: "Object-oriented, strongly statically typed programming language with an emphasis on immutability, created by Red Hat"
ext: ceylon
web:
wiki: "https://en.wikipedia.org/wiki/Ceylon_(programming_language)"
home: "https://ceylon-lang.org/"
source: "https://ceylon-lang.org/code/source/"
category: general
mode: compiled
platform: jvm
syntax: c
typing: static
paradigm:
- imperative
- oo
usage: []
install:
prepare: &add-ceylon-repo
cert:
- "https://cacerts.digicert.com/DigiCertTLSRSASHA2562020CA1.crt.pem"
aptKey:
- "https://downloads.ceylon-lang.org/apt/ceylon-debian-repo.gpg.key"
aptRepo:
- "deb [arch=amd64] https://downloads.ceylon-lang.org/apt/ unstable main"
<<: *add-ceylon-repo
apt:
- $(grep-aptavail -F Package ceylon -s Package -n | sort -rV | head -n1)
- openjdk-8-jdk-headless
main: "source/main.ceylon"
template: |
shared void run() {
print("Hello, world!");
}
run: |
PATH="/usr/lib/jvm/java-8-openjdk-amd64/bin:$PATH" ceylon run --compile=force default

View File

@ -1,90 +0,0 @@
id: "chef"
name: "Chef"
info:
impl: "Acme::Chef"
year: 2002
desc: "Stack-based language where programs look like cooking recipes"
ext: chef
web:
esolang: "https://esolangs.org/wiki/Chef"
home: "https://www.dangermouse.net/esoteric/chef.html"
source: "http://search.cpan.org/author/SMUELLER/Acme-Chef/"
category: esoteric
mode:
- compiled
- interpreted
platform: []
syntax: text
typing: integer
paradigm: imperative
usage: []
install:
cpan:
- Acme::Chef
main: "main.chef"
template: |
Hello World Cake with Chocolate Sauce.
Ingredients.
33 g chocolate chips
100 g butter
54 ml double cream
2 pinches baking powder
114 g sugar
111 ml beaten eggs
119 g flour
32 g cocoa powder
0 g cake mixture
Cooking time: 25 minutes.
Pre-heat oven to 180 degrees Celsius.
Method.
Put chocolate chips into the mixing bowl.
Put butter into the mixing bowl.
Put sugar into the mixing bowl.
Put beaten eggs into the mixing bowl.
Put flour into the mixing bowl.
Put baking powder into the mixing bowl.
Put cocoa powder into the mixing bowl.
Stir the mixing bowl for 1 minute.
Combine double cream into the mixing bowl.
Stir the mixing bowl for 4 minutes.
Liquefy the contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
bake the cake mixture.
Wait until baked.
Serve with chocolate sauce.
Chocolate Sauce.
Ingredients.
111 g sugar
108 ml hot water
108 ml heated double cream
101 g dark chocolate
72 g milk chocolate
Method.
Clean the mixing bowl.
Put sugar into the mixing bowl.
Put hot water into the mixing bowl.
Put heated double cream into the mixing bowl.
dissolve the sugar.
agitate the sugar until dissolved.
Liquefy the dark chocolate.
Put dark chocolate into the mixing bowl.
Liquefy the milk chocolate.
Put milk chocolate into the mixing bowl.
Liquefy contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Refrigerate for 1 hour.
run: |
chef main.chef
hello: |
Hello world!

View File

@ -1,29 +0,0 @@
id: "cil"
aliases:
- "msil"
- "il"
- "ilasm"
name: "CIL"
install:
apt:
- mono-devel
main: "main.il"
template: |
.assembly main {}
.class Main
{
.method static void Main() cil managed
{
.entrypoint
ldstr "Hello, world!"
call void [mscorlib]System.Console::WriteLine(string)
ret
}
}
compile: |
ilasm main.il
run: |
mono main.exe

View File

@ -1,68 +0,0 @@
id: "clean"
aliases:
- "icl"
- "clm"
- "dcl"
name: "Clean"
info:
year: 1987
desc: "General-purpose purely functional computer programming language"
ext:
- icl
- dcl
- abc
web:
wiki: "https://en.wikipedia.org/wiki/Clean_(programming_language)"
home: "https://clean.cs.ru.nl/Clean"
source: "https://gitlab.science.ru.nl/clean-compiler-and-rts/compiler"
category: general
mode: compiled
platform: []
syntax: haskell
typing: static
paradigm:
- declarative
- functional
usage: []
install:
manual: |
install -d "${pkg}/opt/clean"
install -d "${pkg}/usr/local/bin"
url="$(curl -fsSL https://clean.cs.ru.nl/Download_Clean | grep linux/clean | grep -F 64.tar.gz | grep -Eo "https://[^>]+\.tar\.gz")"
wget "${url}"
sudo mkdir /opt/clean
sudo chown riju:riju /opt/clean
tar -xf clean*_64.tar.gz -C /opt/clean --strip-components=1
pushd /opt/clean
make
popd
mv /opt/clean/* "${pkg}/opt/clean/"
sudo rmdir /opt/clean
ln -s /opt/clean/bin/clm "${pkg}/usr/local/bin/"
sleep 2
find "${pkg}/opt/clean" -name '*.o' -exec touch '{}' ';'
main: "main.icl"
template: |
module main
import StdEnv
Start world
#(console, world) = stdio world
#console = fwrites "Hello, world!\n" console
#(ok, world) = fclose console world
= world
compile: |
clm main -o main
run: |
./main

View File

@ -1,67 +0,0 @@
id: "clojure"
aliases:
- "clj"
name: "Clojure"
monacoLang: clojure
info:
impl: "Java Clojure"
year: 2007
desc: "Modern, dynamic, and functional dialect of the Lisp programming language on the Java platform"
ext:
- clj
- cljc
- edn
web:
wiki: "https://en.wikipedia.org/wiki/Clojure"
home: "https://clojure.org/"
source: "https://github.com/clojure/clojure"
category: general
mode: interpreted
platform: jvm
syntax:
- lisp
- extensible
typing: dynamic
paradigm:
- declarative
- functional
- imperative
- oo
usage: []
install:
apt:
- clojure
manual: |
install -d "${pkg}/usr/local/bin"
ver="$(latest_release snoe/clojure-lsp)"
wget "https://github.com/snoe/clojure-lsp/releases/download/${ver}/clojure-lsp"
chmod +x clojure-lsp
cp clojure-lsp "${pkg}/usr/local/bin/"
repl: |
clojure
input: |
(* 123 234)
main: "main.clj"
template: |
(println "Hello, world!")
run: |
clojure -i main.clj -r
scope:
code: |
(def x (* 123 234))
lsp:
start: |
clojure-lsp
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,52 +0,0 @@
id: "clojurescript"
aliases:
- "cljs"
- "lumo"
name: "ClojureScript"
monacoLang: clojure
info:
year: 2011
desc: "Compiler for Clojure that targets JavaScript"
ext: cljs
web:
wiki: "https://en.wikipedia.org/wiki/Clojure#Platforms"
home: "https://clojurescript.org/"
source: "https://github.com/clojure/clojurescript"
category: general
mode:
- compiled
- interpreted
platform: js
syntax:
- lisp
- extensible
typing:
- dynamic
- weak
paradigm:
- declarative
- functional
- imperative
- oo
usage: []
install:
npm:
- lumo-cljs
repl: |
lumo -r
input: |
(* 123 234)
main: "main.cljs"
template: |
(println "Hello, world!")
run: |
lumo -i main.cljs -r
scope:
code: |
(def x (* 123 234))

View File

@ -1,15 +0,0 @@
id: "cmake"
aliases:
- "cmakelists"
name: "CMake"
install:
apt:
- cmake
main: "main.cmake"
template: |
message("Hello, world!")
run: |
cmake -P main.cmake

View File

@ -1,46 +0,0 @@
id: "cmd"
aliases:
- "bat"
- "batch"
- "wine"
name: "Cmd"
monacoLang: bat
info:
year: 1987
desc: "Obsolete (but still default) command-line interpreter for Microsoft Windows"
ext: bat
web:
wiki: "https://en.wikipedia.org/wiki/Cmd.exe"
home: "https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands"
source: null
category: shell
mode: interpreted
platform: windows
syntax: basic
typing: weak
paradigm: imperative
usage: []
install:
apt:
- wine
- wine32:i386
repl: |
wine cmd
input: |
set /a 123 * 234
main: "main.bat"
template: |
echo "Hello, world!"
run: |
wine cmd /k main.bat
scope:
code: |
set /a x = 123 * 234
input: |
echo %x%

View File

@ -1,47 +0,0 @@
id: "cobol"
aliases:
- "cbl"
- "cob"
- "cobc"
- "cpy"
name: "COBOL"
info:
impl: "GnuCOBOL"
version: "COBOL 2014"
year: 1959
desc: "Compiled English-like computer programming language designed for business use"
ext:
- cbl
- cob
- cpy
web:
wiki: "https://en.wikipedia.org/wiki/COBOL"
impl: "https://sourceforge.net/projects/gnucobol/"
source: "https://sourceforge.net/p/gnucobol/_list/svn"
category: general
mode: compiled
platform: []
syntax: basic
typing: weak
paradigm:
- imperative
- oo
usage: popular
install:
apt:
- gnucobol
main: "main.cbl"
template: |
IDENTIFICATION DIVISION.
PROGRAM-ID. MAIN.
PROCEDURE DIVISION.
DISPLAY "Hello, world!".
STOP RUN.
compile: |
cobc -free -x main.cbl -o main
run: |
./main

View File

@ -1,53 +0,0 @@
id: "coconut"
aliases:
- "coco"
- "coconutlang"
- "coconut-lang"
name: "Coconut"
monacoLang: python
info:
year: 2014
desc: "Simple, elegant, Pythonic functional programming"
ext:
- coco
web:
home: "https://coconut-lang.org/"
source: "https://github.com/evhub/coconut"
category: general
mode: interpreted
platform: python
syntax:
- haskell
- python
- whitespace
typing: dynamic
paradigm:
- functional
- imperative
- oo
usage: []
install:
pip:
- coconut
repl: |
coconut
input: |
DELAY: 3
123 * 234
main: "main.coco"
template: |
print("Hello, world!")
run: |
coconut -i main.coco
scope:
code: |
x = 123 * 234
input: |
DELAY: 3
x

View File

@ -1,54 +0,0 @@
id: "coffeescript"
aliases:
- "coffee"
- "litcoffee"
name: "CoffeeScript"
monacoLang: coffee
info:
year: 2009
desc: "Compile-to-JavaScript programming language adding syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability"
ext:
- coffee
- litcoffee
web:
wiki: "https://en.wikipedia.org/wiki/CoffeeScript"
home: "https://coffeescript.org/"
source: "https://github.com/jashkenas/coffeescript"
category: general
mode:
- interpreted
- compiled
platform: js
syntax:
- c
- haskell
typing: weak
paradigm:
- declarative
- functional
- imperative
usage: []
install:
npm:
- coffeescript
repl: |
coffee
main: "main.coffee"
template: |
console.log "Hello, world!"
compile: |
coffee -b -c main.coffee
run: |
node -e '
eval.apply(this, [require("fs").readFileSync("main.js", {encoding: "utf-8"})])
require("/opt/coffeescript/lib/node_modules/coffeescript/repl").start()
'
scope:
code: |
x = 123 * 234

View File

@ -1,59 +0,0 @@
id: "commonlisp"
aliases:
- "lisp"
- "sbcl"
name: "Common Lisp"
info:
impl: "SBCL"
year: 1984
desc: "Modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the Lisp family"
ext:
- lisp
- lsp
- l
- cl
- fasl
web:
wiki: "https://en.wikipedia.org/wiki/Common_Lisp"
home: "https://common-lisp.net/"
impl: "http://www.sbcl.org/"
source: "https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/"
category: general
mode:
- compiled
- interpreted
platform: []
syntax:
- lisp
- extensible
typing:
- static
- dynamic
paradigm:
- declarative
- functional
- imperative
- oo
usage: []
install:
apt:
- sbcl
- rlwrap
repl: |
rlwrap sbcl
input: |
(* 123 234)
main: "main.lisp"
template: |
(format t "Hello, world!")
run: |
rlwrap sbcl --userinit main.lisp
scope:
code: |
(defvar x (* 123 234))

View File

@ -1,38 +0,0 @@
id: "confluence"
aliases:
- "jira"
- "atlassian"
name: "Confluence"
info:
impl: "Pandoc"
year: 2004
desc: "Markup format for a popular web-based corporate wiki developed by Atlassian"
ext: []
web:
wiki: "https://en.wikipedia.org/wiki/Confluence_(software)"
home: "https://confluence.atlassian.com/doc/confluence-wiki-markup-251003035.html"
impl: "https://pandoc.org/"
source: "https://github.com/jgm/pandoc"
category: markup
mode: []
platform: []
syntax: text
typing: []
paradigm: []
usage: []
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!
compile: |
pandoc main.txt -f jira -o main.html
run: |
prettier --no-config main.html

View File

@ -1,97 +0,0 @@
id: "cpp"
aliases:
- "c++"
- "g++"
- "clang++"
- "c++98"
- "c++03"
- "c++11"
- "c++14"
- "c++17"
- "c++20"
- "cpp98"
- "cpp03"
- "cpp11"
- "cpp14"
- "cpp17"
- "cpp20"
- "hpp"
- "cxx"
- "hxx"
- "cplusplus"
name: "C++"
monacoLang: cpp
info:
impl: "LLVM"
version: "C++20"
year: 1985
desc: "General-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language"
ext:
- C
- cc
- cpp
- cxx
- c++
- h
- hh
- hpp
- hxx
- h++
web:
wiki: "https://en.wikipedia.org/wiki/C%2B%2B"
impl: "https://llvm.org/"
source: "https://github.com/llvm/llvm-project"
category: general
mode: compiled
platform: []
syntax: c
typing: static
paradigm:
- functional
- imperative
- oo
usage: popular
install:
apt:
- clang
- clang-format
- clangd
main: "main.cpp"
template: |
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
compile: |
clang++ -std=c++17 -pedantic -Wall -Wextra main.cpp -o main
run: |
./main
format:
run: |
clang-format --assume-filename=format.cpp
input: |
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
lsp:
setup: |
echo '-Wall -Wextra' | sed -E 's/\s+/\n/g' > compile_flags.txt
start: |
clangd
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,35 +0,0 @@
id: "crystal"
aliases:
- "cr"
name: "Crystal"
info:
year: 2014
desc: "General-purpose, object-oriented programming language with syntax inspired by the language Ruby"
ext: cr
web:
wiki: "https://en.wikipedia.org/wiki/Crystal_(programming_language)"
home: "https://crystal-lang.org/"
source: "https://github.com/crystal-lang/crystal"
category: general
mode: compiled
platform: []
syntax: pascal
typing: static
paradigm: oo
usage: []
install:
aptKey:
- "https://keybase.io/crystal/pgp_keys.asc"
aptRepo:
- "deb [arch=amd64] https://dist.crystal-lang.org/apt crystal main"
apt:
- crystal
main: "main.cr"
template: |
puts "Hello, world!"
run: |
crystal main.cr

View File

@ -1,36 +0,0 @@
id: "csharp"
aliases:
- "cs"
- "mcs"
name: "C#"
monacoLang: csharp
install:
apt:
- mono-mcs
- clang-format
main: "main.cs"
template: |
class main {
static void Main(string[] args) {
System.Console.WriteLine("Hello, world!");
}
}
compile: |
mcs main.cs
run: |
mono main.exe
format:
run: |
clang-format --style="{BasedOnStyle: llvm, IndentWidth: 4}" --assume-filename=format.cs
input: |
class main
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello, world!");
}
}

View File

@ -1,45 +0,0 @@
id: "curry"
aliases:
- "curry2prolog"
- "pakcs"
name: "Curry"
install:
prepare:
apt:
- swi-prolog
# We are installing from upstream because the Ubuntu 20.10 package
# was broken (pakcs wouldn't start up due to swi-prolog being bumped
# from 7.x to 8.x, causing a ZIP decoding error).
apt:
- swi-prolog
manual: |
install -d "${pkg}/opt"
install -d "${pkg}/usr/local/bin"
path="$(curl -fsSL https://www.informatik.uni-kiel.de/~pakcs/download.html | sed '0,/Current release:/d' | grep 'href="download' | grep Linux | grep -Eo 'download/[^"]+' | head -n1)"
wget "https://www.informatik.uni-kiel.de/~pakcs/${path}" -O pakcs.tar.gz
mkdir pakcs
tar -xf pakcs.tar.gz -C pakcs --strip-components=1
pushd pakcs
make PAKCSINSTALLDIR=/opt/pakcs
popd
cp -R pakcs "${pkg}/opt/"
ln -s /opt/pakcs/src/pakcs "${pkg}/usr/local/bin/"
repl: |
SWIPL=swipl pakcs
main: "main.curry"
template: |
main :: IO ()
main = putStrLn "Hello, world!"
run: |
SWIPL=swipl pakcs :load main.curry :eval main
scope:
code: |
x = 123 * 234

View File

@ -1,45 +0,0 @@
id: "d"
aliases:
- "dmd"
name: "D"
install:
prepare: &add-d-cert
cert:
- "https://letsencrypt.org/certs/lets-encrypt-r3.pem"
manual: |
file="$(curl -fsSL https://dlang.org/download.html | grep -Eo '"https://[^"]+amd64.deb"' | grep -v pre-release | tr -d '"')"
wget "${file}" -O dmd.deb
sudo --preserve-env=DEBIAN_FRONTEND apt-get install -y ./dmd.deb
<<: *add-d-cert
manual: |
install -d "${pkg}/usr/local/bin"
dub fetch dfmt@~master
dub run dfmt -- --version
cp "$HOME/.dub/packages/dfmt-master/dfmt/bin/dfmt" "${pkg}/usr/local/bin/"
deb:
- dmd.deb
main: "main.d"
template: |
import std.stdio;
void main()
{
writeln("Hello, world!");
}
compile: |
dmd main.d
run: |
./main
format:
run: |
dfmt
input: |
import std.stdio;
void main() {
writeln("Hello, world!");
}

View File

@ -1,20 +0,0 @@
id: "dafny"
aliases:
- "dfy"
name: "Dafny"
install:
apt:
- dafny
- mono-runtime
main: "main.dfy"
template: |
method Main() {
print "Hello, world!\n";
}
compile: |
dafny main.dfy
run: |
mono main.exe

View File

@ -1,31 +0,0 @@
id: "dart"
name: "Dart"
monacoLang: dart
install:
aptKey:
- "https://dl-ssl.google.com/linux/linux_signing_key.pub"
aptRepo:
- "deb [arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main"
apt:
- dart
main: "main.dart"
template: |
void main() {
print('Hello, world!');
}
run: |
dart main.dart
lsp:
start: |
dart /usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot --lsp
disableDynamicRegistration: true
lang: "dart"
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,24 +0,0 @@
id: "dc"
name: "dc"
install:
apt:
- dc
repl: |
echo 'Reading from stdin...' >&2; dc
input: |
123 234 * p
main: "main.dc"
template: |
[Hello, world!] p
run: |
echo 'Reading from stdin...' >&2; dc main.dc -
scope:
code: |
123 234 *
input: |
p

View File

@ -1,23 +0,0 @@
id: "dhall"
name: "Dhall"
install:
apt:
- dhall
manual: |
install -d "${pkg}/usr/local/bin"
ver="$(latest_release dhall-lang/dhall-haskell)"
file="$(curl -sSL "https://api.github.com/repos/dhall-lang/dhall-haskell/releases/tags/${ver}" | jq -r '.assets | map(select(.name | (contains("dhall-json") and contains("x86_64-linux.tar.bz2")))) | .[0].name')"
wget "https://github.com/dhall-lang/dhall-haskell/releases/download/${ver}/${file}"
mkdir dhall-json
tar -xf dhall-json-*-x86_64-linux.tar.bz2 -C dhall-json
cp dhall-json/bin/dhall-to-json dhall-json/bin/json-to-dhall "${pkg}/usr/local/bin/"
main: "main.dhall"
template: |
{ output = "Hello, world!" }
compile: |
cat main.dhall | dhall-to-json > main.json
run: |
cat main.json | jq .

View File

@ -1,20 +0,0 @@
id: "dogescript"
aliases:
- "doge"
- "ds"
- "wow"
name: "Dogescript"
install:
npm:
- dogescript
repl: |
dogescript
main: "main.djs"
template: |
plz console.loge with "Hello, world!"
run: |
dogescript main.djs | node; dogescript

View File

@ -1,19 +0,0 @@
id: "dokuwiki"
aliases:
- "doku"
name: "DokuWiki"
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!
compile: |
pandoc main.txt -f dokuwiki -o main.html
run: |
prettier --no-config main.html

View File

@ -1,58 +0,0 @@
id: "dylan"
aliases:
- "opendylan"
name: "Dylan"
install:
apt:
- libunwind-dev
manual: |
install -d "${pkg}/opt/dylan"
install -d "${pkg}/usr/local/bin"
ver="$(latest_release dylan-lang/opendylan)"
wget "https://github.com/dylan-lang/opendylan/releases/download/${ver}/opendylan-$(grep -Eo '[0-9]+\.[0-9]+' <<< "$ver")-x86_64-linux.tar.bz2" -O opendylan.tar.bz2
tar -xf opendylan.tar.bz2 -C "${pkg}/opt/dylan" --strip-components=1
ln -s /opt/dylan/bin/dylan-compiler /opt/dylan/bin/make-dylan-app "${pkg}/usr/local/bin/"
export PATH="${pkg}/opt/dylan/bin:$PATH"
pushd "${pkg}/opt/dylan"
make-dylan-app main
mv main skel
pushd skel
cat <<"EOF" > main.dylan
Module: main
define function main
(name :: <string>, arguments :: <vector>)
format-out("Hello, world!\n");
exit-application(0);
end function main;
main(application-name(), application-arguments());
EOF
dylan-compiler -build main.lid
rm main.dylan
popd
popd
setup: |
cp -R /opt/dylan/skel/* ./
main: "main.dylan"
template: |
Module: main
define function main
(name :: <string>, arguments :: <vector>)
format-out("Hello, world!\n");
exit-application(0);
end function main;
main(application-name(), application-arguments());
compile: |
dylan-compiler -build main.lid && echo
run: |
_build/bin/main

View File

@ -1,61 +0,0 @@
id: "ec"
aliases:
- "ecere"
- "ecp"
- "ecs"
- "ecc"
name: "eC"
install:
prepare:
apt:
- libasound2-dev
- libcurl4-openssl-dev
- libfontconfig1-dev
- libgif-dev
- libgl-dev
- libglx-dev
- libjpeg-dev
- libpng-dev
- libsqlite3-dev
- libssl-dev
- libxext-dev
- libxrender-dev
apt:
- libfontconfig1
- libfreetype6
- libgif7
- libgl1
- libjpeg-turbo8
- libpng16-16
- libxrender1
# Release 0.44.15 failed to compile with "multiple definition"
# errors from ld, so use the master branch instead.
manual: |
git clone https://github.com/ecere/ecere-sdk.git
pushd ecere-sdk
make
make install prefix="${pkg}/usr/local"
popd
main: "main.ec"
template: |
class Main : Application
{
void Main()
{
PrintLn("Hello, world!");
}
}
compile: |
export LD_LIBRARY_PATH=/usr/local/lib/ec
ecp -c main.ec -o main.sym
ecc -c main.ec -o main.c
ecs -console main.sym main.imp -o main.main.ec
ecp -c main.main.ec -o main.main.sym
ecc -c main.main.ec -o main.main.c
clang main.c main.main.c -lecereCOM -o main
run: |
./main
helloStatus: 139

View File

@ -1,56 +0,0 @@
id: "elm"
name: "Elm"
install:
npm:
- "@kachkaev/run-elm"
- "@elm-tooling/elm-language-server"
manual: |
install -d "${pkg}/opt/elm"
install -d "${pkg}/usr/local/bin"
ver="$(latest_release elm/compiler)"
wget "https://github.com/elm/compiler/releases/download/${ver}/binary-for-linux-64-bit.gz"
gunzip binary-for-linux-64-bit.gz
chmod +x binary-for-linux-64-bit
cp binary-for-linux-64-bit "${pkg}/usr/local/bin/elm"
mkdir elm-project
pushd elm-project
(yes || true) | "${pkg}/usr/local/bin/elm" init
cat elm.json | jq '."source-directories" = ["."]' > "${pkg}/opt/elm/elm".json
popd
repl: |
elm repl
main: "Main.elm"
template: |
module Main exposing (..)
output : String
output = "Hello, world!"
run: |
cp /opt/elm/elm.json elm.json || exit
run-elm Main.elm
elm repl
scope:
code: |
x = 123 * 234
input: |
import Main
Main.x
lsp:
setup: |
cp /opt/elm/elm.json elm.json
start: |
elm-language-server --stdio
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,27 +0,0 @@
id: "elvish"
aliases:
- "elv"
name: "Elvish"
install:
apt:
- elvish
repl: |
SHELL=/usr/bin/elvish HOME="$PWD" elvish
input: |
* 123 234
main: ".elvish/rc.elv"
template: |
echo "Hello, world!"
createEmpty: ""
run: |
SHELL=/usr/bin/elvish HOME="$PWD" elvish
scope:
code: |
x = (* 123 234)
input: |
echo $x

View File

@ -1,38 +0,0 @@
id: "emacslisp"
aliases:
- "elisp"
- "emacs"
- "gnuemacs"
- "xemacs"
- "ielm"
name: "Emacs Lisp"
install:
apt:
- emacs-nox
repl: |
emacs --eval "(progn (require 'package) (push '("melpa" . "https://melpa.org/packages/") package-archives) (package-initialize) (ielm))"
input: |
(* 123 234)
main: "main.el"
template: |
(message "Hello, world!")
run: |
emacs --load main.el --eval "(progn (require 'package) (push '("melpa" . "https://melpa.org/packages/") package-archives) (package-initialize) (ielm))"
scope:
code: |
(defvar x (* 123 234))
pkg:
install: |
emacs -Q --batch --eval "(progn (require 'package) (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) (package-initialize) (unless (ignore-errors (>= (length (directory-files \"~/.emacs.d/elpa/archives\")) 4)) (package-refresh-contents)) (package-install 'NAME))"
uninstall: |
ls ~/.emacs.d/elpa | grep -- - | grep '^NAME-[0-9]' | while read pkg; do emacs -Q --batch --eval "(progn (require 'package) (push '(\"melpa" . "https://melpa.org/packages/\") package-archives) (package-initialize) (unless (ignore-errors (>= (length (directory-files \"~/.emacs.d/elpa/archives\")) 4)) (package-refresh-contents)) (call-interactively 'package-delete))" <<< "$pkg"; done
all: |
(curl -sS https://elpa.gnu.org/packages/ | grep '<td>' | grep -Eo '[^>]+</a>' | grep -Eo '^[^<]+' && curl -sS https://melpa.org/archive.json | jq -r 'keys | .[]') | sort | uniq

View File

@ -1,34 +0,0 @@
id: "emojicode"
aliases:
- "emoji"
- "emojic"
- "emojicodec"
name: "Emojicode"
install:
apt:
- libtinfo5
manual: |
install -d "${pkg}/usr/local/bin"
install -d "${pkg}/usr/local/include/emojicode"
install -d "${pkg}/usr/local/EmojicodePackages"
ver="$(latest_release emojicode/emojicode)"
wget "https://github.com/emojicode/emojicode/releases/download/${ver}/Emojicode-$(sed 's/^v//' <<< "$ver")-Linux-x86_64.tar.gz"
tar -xf Emojicode-*-Linux-x86_64.tar.gz
pushd Emojicode-*-Linux-x86_64
cp emojicodec "${pkg}/usr/local/bin/"
cp -R include/* "${pkg}/usr/local/include/emojicode/"
cp -R packages/* "${pkg}/usr/local/EmojicodePackages/"
popd
main: "main.emojic"
template: |
🏁 🍇
😀 🔤Hello, world!🔤❗️
🍉
compile: |
emojicodec main.emojic
run: |
./main

View File

@ -1,31 +0,0 @@
id: "entropy"
aliases:
- "ent"
- "entc"
- "vge"
name: "Entropy"
install:
apt:
- mono-mcs
- mono-runtime
manual: |
install -d "${pkg}/opt/entropy"
wget http://danieltemkin.com/Content/Entropy/Entropy.zip
unzip -d "${pkg}/opt/entropy" Entropy.zip
main: "main.vge"
template: |
Program MyNamespace MyProgram [
print "Hello, world!\n";
]
compile: |
mono /opt/entropy/entc.exe main.vge | grep -Ev 'WARNING:|Using default' > main.cs
mcs -lib:/opt/entropy -r:Rottytooth.Esolang.Entropy main.cs
run: |
MONO_PATH=/opt/entropy mono main.exe
hello: |
[F-J][c-g][j-n][j-n][m-q][*-.][\x1e-"][u-y][m-q][p-t][j-n][b-f][\x1f-#]
helloMaxLength: 13

View File

@ -1,60 +0,0 @@
id: "erlang"
aliases:
- "erl"
name: "Erlang"
install:
prepare:
apt:
- erlang-nox
- erlang-dev
apt:
- erlang-nox
manual: |
install -d "${pkg}/usr/local/bin"
wget https://s3.amazonaws.com/rebar3/rebar3
chmod +x rebar3
export PATH="$PWD:$PATH"
git clone https://github.com/erlang-ls/erlang_ls.git
pushd erlang_ls
make
cp _build/default/bin/erlang_ls "${pkg}/usr/local/bin/erlang_ls"
popd
repl: |
erl
input: |
123 * 234.
main: "main.erl"
template: |
-module(main).
-export([main/0]).
main() ->
io:fwrite("Hello, world!\n").
compile: |
erl -compile main
run: |
erl -s main main
scope:
code: |
-export([x/0]).
x() -> 123 * 234.
after: "-export([main/0])."
input: |
main:x().
lsp:
start: |
erlang_ls
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,25 +0,0 @@
id: "euphoria"
aliases:
- "ex"
- "exw"
- "exu"
- "euc"
- "eui"
- "eub"
name: "Euphoria"
install:
manual: |
install -d "${pkg}/opt/euphoria"
install -d "${pkg}/usr/local/bin"
wget http://www.rapideuphoria.com/31/euphor31.tar
tar -xf euphor*.tar -C "${pkg}/opt/euphoria" --strip-components=1
ln -s /opt/euphoria/bin/exu "${pkg}/usr/local/bin/"
main: "main.exu"
template: |
puts(1, "Hello, world!\n")
run: |
exu main.exu

View File

@ -1,26 +0,0 @@
id: "ezhil"
aliases:
- "ezhili"
- "ezhuthi"
- "tamil"
- "எழில்"
name: "எழில்"
install:
pip:
- ezhil
manual:
# https://github.com/Ezhil-Language-Foundation/Ezhil-Lang/issues/210
sed -i 's/clock,//' "${pkg}"/opt/ezhil/lib/*/site-packages/ezhil/ezhil.py
repl: |
ezhili
main: "main.n"
template: |
பதிப்பி "வணக்கம், உலகமே!"
run: |
ezhili main.n; ezhili
hello: |
வணக்கம், உலகமே!

View File

@ -1,38 +0,0 @@
id: "factor"
aliases:
- "fact"
name: "Factor"
install:
manual: |
install -d "${pkg}/opt/factor"
install -d "${pkg}/usr/local/bin"
ver="$(curl -sSL https://factorcode.org/ | grep -Eo 'release\?os=linux[^>]+>[^<]+' | sed -E 's/[^>]+>//' | head -n1)"
wget "https://downloads.factorcode.org/releases/${ver}/factor-linux-x86-64-${ver}.tar.gz" -O factor.tar.gz
tar -xf factor.tar.gz -C "${pkg}/opt/factor" --strip-components=1
ln -sT /opt/factor/factor "${pkg}/usr/local/bin/factor-lang"
repl: |
HOME="$PWD" factor-lang
input: |
123 234 *
main: ".factor-rc"
template: |
IN: main
USE: io
"Hello, world!" print
createEmpty: ""
run: |
HOME="$PWD" factor-lang
scope:
code: |
USE: math
: x ( -- x ) 123 234 * ;
input: |
USE: main
x

View File

@ -1,19 +0,0 @@
id: "false"
aliases:
- "falselang"
name: "FALSE"
install:
manual: |
install -d "${pkg}/usr/local/bin"
wget https://github.com/mame/quine-relay/raw/master/vendor/false.rb
cat <(echo '#!/usr/bin/env ruby') false.rb > "${pkg}/usr/local/bin/false-lang"
chmod +x "${pkg}/usr/local/bin/false-lang"
main: "main.false"
template: |
"Hello, world!"
run: |
false-lang main.false

View File

@ -1,24 +0,0 @@
id: "fish"
name: "Fish"
install:
apt:
- fish
repl: |
SHELL=/usr/bin/fish fish
input: |
expr 123 \* 234
main: "main.fish"
template: |
echo "Hello, world!"
run: |
SHELL=/usr/bin/fish fish -C "$(< main.fish)"
scope:
code: |
set x (expr 123 \* 234)
input: |
echo $x

View File

@ -1,37 +0,0 @@
id: "fishlang"
aliases:
- "><>"
name: "><>"
install:
manual: |
wget https://gist.githubusercontent.com/anonymous/6392418/raw/fish.py
sed -i 's:^#!.*:#!/usr/bin/env python3:' fish.py
chmod +x fish.py
install -d "${pkg}/usr/local/bin"
cp fish.py "${pkg}/usr/local/bin/fish-lang"
info:
year: 2009
desc: "Stack-based, reflective, two-dimensional esoteric programming language"
ext: fish
web:
esolang: "https://esolangs.org/wiki/Fish"
source: "https://gist.github.com/anonymous/6392418"
category: esoteric
mode: interpreted
platform: []
syntax:
- golf
- 2d
typing: float
paradigm: stack
usage: []
main: "main.fish"
template: |
"Hello, world!"r\
o;!?l<
run: |
fish-lang main.fish

View File

@ -1,38 +0,0 @@
id: "flex"
aliases:
- "lex"
name: "Flex"
install:
apt:
- flex
- flex-doc
main: "main.lex"
template: |
%{
#include <stdio.h>
%}
%%
%%
int yywrap() {
printf("Hello, world!\n");
return 1;
}
int main() {
yylex();
return 0;
}
compile: |
lex -o main.c main.lex
clang main.c -o main
run: |
echo 'Reading from stdin, ctrl+D to end input...' >&2
./main
helloInput: |
DELAY: 1
EOF

View File

@ -1,27 +0,0 @@
id: "forth"
aliases:
- "gforth"
name: "Forth"
install:
apt:
- gforth
repl: |
gforth
input: |
123 234 * .
main: "main.fs"
template: |
." Hello, world!" CR
run: |
gforth main.fs
scope:
code: |
VARIABLE X
123 234 * X !
input: |
X @ .

View File

@ -1,36 +0,0 @@
id: "fortran"
aliases:
- "f"
- "flang"
- "fortran77"
- "fortran90"
- "fortran95"
- "fortran2003"
- "fortran2008"
name: "FORTRAN"
install:
apt:
- gfortran
pip:
- fortran-language-server
main: "main.f95"
template: |2
PROGRAM hello
PRINT *, "Hello, world!"
END PROGRAM hello
compile: |
gfortran main.f95 -o main
run: |
./main
lsp:
start: |
fortls
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,29 +0,0 @@
id: "fsharp"
aliases:
- "fsharpi"
- "fsx"
- "fs"
name: "F#"
monacoLang: fsharp
install:
apt:
- fsharp
repl: |
fsharpi
input: |
123 * 234 ;;
main: "main.fsx"
template: |
printfn "Hello, world!"
run: |
fsharpi --use:main.fsx
scope:
code: |
let x = 123 * 234
input: |
x ;;

View File

@ -1,16 +0,0 @@
id: "gambas"
aliases:
- "gambasscript"
- "gbs"
name: "Gambas"
install:
apt:
- gambas3-script
main: "main.gbs"
template: |
Print "Hello, world!"
run: |
gbs3 main.gbs

View File

@ -1,24 +0,0 @@
id: "gap"
name: "GAP"
install:
apt:
- gap
repl: |
gap
input: |
123 * 234;
main: "main.gap"
template: |
Print("Hello, world!\n");
run: |
gap main.gap
scope:
code: |
x := 123 * 234;
input: |
123 * 234;

View File

@ -1,24 +0,0 @@
id: "gdb"
name: "GDB"
install:
apt:
- gdb
repl: |
gdb
input: |
p 123 * 234
main: "main.gdb"
template: |
p "Hello, world!"
run: |
gdb -x main.gdb
scope:
code: |
set $x = 123 * 234
input: |
p $x

View File

@ -1,23 +0,0 @@
id: "gel"
aliases:
- "genius"
name: "GEL"
install:
apt:
- genius
repl: |
HOME="$PWD" genius
main: ".geniusinit"
template: |
print("Hello, world!")
createEmpty: ""
run: |
HOME="$PWD" genius
scope:
code: |
x = 123 * 234

View File

@ -1,24 +0,0 @@
id: "gnuplot"
name: "Gnuplot"
install:
apt:
- gnuplot-nox
repl: |
gnuplot
input: |
print 123 * 234
main: "main.gnuplot"
template: |
print "Hello, world!"
run: |
gnuplot main.gnuplot -
scope:
code: |
x = 123 * 234
input: |
print x

View File

@ -1,55 +0,0 @@
id: "go"
aliases:
- "golang"
name: "Go"
monacoLang: go
install:
prepare:
apt:
- golang
apt:
- golang
manual: |
install -d "${pkg}/usr/local/bin"
export GO111MODULE=on
export GOPATH="$PWD/go"
go get golang.org/x/tools/gopls@latest
cp go/bin/gopls "${pkg}/usr/local/bin/"
main: "main.go"
template: |
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
compile: |
go build main.go
run: |
./main
format:
run: |
gofmt
input: |
package main
import "fmt"
func main() {
fmt.Println("Hello, world!");
}
lsp:
start: |
gopls
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,19 +0,0 @@
id: "golfscript"
aliases:
- "golf"
name: "GolfScript"
install:
manual: |
install -d "${pkg}/usr/local/bin"
wget http://www.golfscript.com/golfscript/golfscript.rb
chmod +x golfscript.rb
cp -T golfscript.rb "${pkg}/usr/local/bin/golfscript"
main: "main.gs"
template: |
'Hello, world!'
run: |
golfscript main.gs

View File

@ -1,19 +0,0 @@
id: "grass"
name: "Grass"
install:
manual: |
install -d "${pkg}/usr/local/bin"
wget http://www.blue.sky.or.jp/grass/grass.rb
chmod +x grass.rb
cp -T grass.rb "${pkg}/usr/local/bin/grass"
main: "main.grass"
template: |
wWWwwww
run: |
grass < main.grass
hello: |
w

View File

@ -1,20 +0,0 @@
id: "groovy"
name: "Groovy"
install:
apt:
- groovy
repl: |
JAVA_OPTS="-Djava.util.prefs.systemRoot=$PWD/.java -Djava.util.prefs.userRoot=$PWD/.java/.userPrefs" groovysh
main: "main.groovy"
template: |
print "Hello, world!";
run: |
JAVA_OPTS="-Djava.util.prefs.systemRoot=$PWD/.java -Djava.util.prefs.userRoot=$PWD/.java/.userPrefs" groovysh main.groovy
scope:
code: |
x = 123 * 234;

View File

@ -1,38 +0,0 @@
id: "hack"
aliases:
- "hhvm"
name: "Hack"
install:
aptKey:
- "B4112585D386EB94"
aptRepo:
- "deb [arch=amd64] https://dl.hhvm.com/ubuntu ${ubuntu_name} main"
apt:
- hhvm
repl: |
hhvm -a
input: |
print 123 * 234
main: "main.hack"
template: |
<<__EntryPoint>>
function main(): void {
echo "Hello, world!\n";
}
run: |
echo "Type 'r' at the debugger prompt to run the code" && hhvm -a main.hack
helloInput: |
r
scope:
code: |
function x() : int {
return 123 * 234;
}
input: |
r
p x()

View File

@ -1,74 +0,0 @@
id: "haskell"
aliases:
- "ghc"
- "ghci"
- "hs"
name: "Haskell"
install:
prepare:
apt:
- cabal-install
manual: |
cabal update
apt:
- ghc
manual: |
install -d "${pkg}/usr/local/bin"
install -d "${pkg}/opt/brittany"
cabal install brittany --installdir "$PWD"
cp -L brittany "${pkg}/usr/local/bin/"
mkdir haskell-language-server
pushd haskell-language-server
ver="$(latest_release haskell/haskell-language-server)"
release="$(curl -fsSL "https://api.github.com/repos/haskell/haskell-language-server/releases/tags/${ver}")"
echo "${release}" | jq '.assets[].name' -r | grep Linux | grep -vF .tar | while read asset; do
wget "https://github.com/haskell/haskell-language-server/releases/download/${ver}/${asset}"
gunzip "${asset}"
done
chmod +x *
for binary in *; do
cp -T "${binary}" "${pkg}/usr/local/bin/${binary//-Linux/}"
done
popd
repl: |
rm -f .ghci
ghci
main: "Main.hs"
template: |
module Main where
main :: IO ()
main = putStrLn "Hello, world!"
run: |
(echo ':load Main' && echo 'main') > .ghci && ghci
scope:
code: |
x = 123 * 234
format:
run: |
brittany
input: |
module Main where
main :: IO ()
main =
putStrLn "Hello, world!"
lsp:
start: |
haskell-language-server-wrapper --lsp
init:
languageServerHaskell: {}
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,22 +0,0 @@
id: "haxe"
aliases:
- "hx"
name: "Haxe"
install:
apt:
- haxe
- nodejs
main: "Main.hx"
template: |
class Main {
static public function main() {
trace("Hello, world!");
}
}
compile: |
haxe --main Main --js Main.js
run: |
node Main.js

View File

@ -1,20 +0,0 @@
id: "hcl"
aliases:
- "tf"
- "terraform"
- "hashicorp"
- "hc"
name: "HCL"
install:
riju:
- yj
main: "main.hcl"
template: |
output = "Hello, world!"
compile: |
cat main.hcl | yj -cj > main.json
run: |
cat main.json | jq .

View File

@ -1,26 +0,0 @@
id: "hexagony"
aliases:
- "hxg"
- "hex"
name: "Hexagony"
install:
manual: |
install -d "${pkg}/usr/local/bin"
install -d "${pkg}/opt"
git clone https://github.com/m-ender/hexagony.git "${pkg}/opt/hexagony"
ln -sT /opt/hexagony/interpreter.rb "${pkg}/usr/local/bin/hexagony"
main: "main.hxg"
template: |2
H ; e ;
l ; d ; *
; r ; o ; w
l ; ; o ; * 4
3 3 ; @ . >
; 2 3 < \
4 ; * /
run: |
hexagony main.hxg

View File

@ -1,60 +0,0 @@
id: "hmmm"
name: "HMMM"
install:
manual: |
install -d "${pkg}/usr/local/bin"
wget https://www.cs.hmc.edu/~cs5grad/cs5/hmmm/code/hmmm
chmod +x hmmm
cp hmmm "${pkg}/usr/local/bin/"
main: "main.hmmm"
template: |2
0 setn r1, 72
1 write r1
2 setn r1, 101
3 write r1
4 setn r1, 108
5 write r1
6 setn r1, 108
7 write r1
8 setn r1, 111
9 write r1
10 setn r1, 44
11 write r1
12 setn r1, 32
13 write r1
14 setn r1, 119
15 write r1
16 setn r1, 111
17 write r1
18 setn r1, 114
19 write r1
20 setn r1, 108
21 write r1
22 setn r1, 100
23 write r1
24 setn r1, 33
25 write r1
26 setn r1, 10
27 write r1
28 halt
run: |
hmmm main.hmmm
hello: |
72
101
108
108
111
44
32
119
111
114
108
100
33
10

View File

@ -1,24 +0,0 @@
id: "hy"
name: "Hy"
install:
apt:
- python3-distutils
pip:
- hy
repl: |
hy
input: |
(* 123 234)
main: "main.hy"
template: |
(print "Hello, world!")
run: |
hy -i main.hy
scope:
code: |
(setv x (* 123 234))

View File

@ -1,21 +0,0 @@
id: "icon"
aliases:
- "icn"
- "icont"
- "iconx"
name: "Icon"
install:
apt:
- icont
main: "main.icn"
template: |
procedure main ()
write("Hello, world!")
end
compile: |
icont main.icn
run: |
./main

View File

@ -1,44 +0,0 @@
id: "idris"
aliases:
- "idr"
- "idris2"
name: "Idris"
install:
prepare:
apt:
- chezscheme
apt:
- chezscheme
manual: |
install -d "${pkg}/usr/local/bin"
wget https://www.idris-lang.org/idris2-src/idris2-latest.tgz
mkdir idris
tar -xf idris2-latest.tgz -C idris --strip-components=1
pushd idris
make bootstrap-build SCHEME=chezscheme PREFIX=/usr/local
sudo make install PREFIX=/usr/local
sudo mv /usr/local/idris* "${pkg}/usr/local/"
sudo mv /usr/local/bin/idris* "${pkg}/usr/local/bin/"
sudo chown -R riju:riju "${pkg}/usr/local"
chmod -R a=u,go-w "${pkg}/usr/local"/idris*
popd
repl: |
rm -f .idris/repl/init; idris2
main: "Main.idr"
template: |
module Main
main : IO ()
main = putStrLn "Hello, world!"
run: |
mkdir -p .idris/repl; echo ':exec main' > .idris/repl/init; idris2 Main.idr -x main; idris2 Main.idr
scope:
code: |
x : Int
x = 123 * 234

View File

@ -1,30 +0,0 @@
id: "ink"
name: "Ink"
install:
manual: |
install -d "${pkg}/opt/ink"
install -d "${pkg}/usr/local/bin"
ver="$(latest_release thesephist/ink)"
wget "https://github.com/thesephist/ink/releases/download/${ver}/ink-linux"
wget "https://github.com/thesephist/ink/releases/download/${ver}/std.ink"
wget "https://github.com/thesephist/ink/releases/download/${ver}/str.ink"
chmod +x ink-linux
cp -T ink-linux "${pkg}/usr/local/bin/ink"
cp std.ink str.ink "${pkg}/opt/ink/"
repl: |
ink
main: "main.ink"
template: |
std := load('../../../opt/ink/std')
str := load('../../../opt/ink/str')
log := std.log
log('Hello, world!')
run: |
ink main.ink; ink

View File

@ -1,34 +0,0 @@
id: "intercal"
aliases:
- "i"
- "ick"
name: "INTERCAL"
install:
apt:
- intercal
main: "main.i"
template: |
DO ,1 <- #14
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
PLEASE DO ,1 SUB #13 <- #162
DO ,1 SUB #14 <- #52
PLEASE READ OUT ,1
PLEASE GIVE UP
compile: |
ick -b main.i
run: |
./main

View File

@ -1,45 +0,0 @@
id: "io"
name: "Io"
info:
year: 2002
desc: "Dynamic prototype-based programming language in the same realm as Smalltalk and Self"
ext:
- io
web:
wiki: "https://en.wikipedia.org/wiki/Io_(programming_language)"
home: "https://iolanguage.org/"
source: "https://github.com/IoLanguage/io"
category: general
mode: interpreted
platform: []
syntax: lua
typing: dynamic
paradigm:
- functional
- imperative
- oo
usage: abandoned
install:
prepare:
manual: |
wget https://iobin.suspended-chord.info/linux/iobin-linux-x64-deb-current.zip -O io.zip
unzip io.zip
mv IoLanguage-*-Linux-x64.deb io.deb
deb:
- io.deb
repl: |
io
main: "Main.io"
template: |
"Hello, world!" println
run: |
io -i Main.io
scope:
code: |
x := 123 * 234

View File

@ -1,28 +0,0 @@
id: "ioke"
aliases:
- "ik"
name: "Ioke"
install:
prepare:
cert:
- "https://letsencrypt.org/certs/lets-encrypt-r3.pem"
apt:
- default-jdk
manual: |
install -d "${pkg}/opt/ioke"
install -d "${pkg}/usr/local/bin"
wget https://ioke.org/dist/ioke-ikj-latest.tar.gz -O ioke.tar.gz
tar -xf ioke.tar.gz -C "${pkg}/opt/ioke" --strip-components=1
ln -s /opt/ioke/bin/ioke "${pkg}/usr/local/bin/ioke"
repl: |
JAVA_OPTS="-Duser.home=$PWD" ioke
main: "main.ik"
template: |
"Hello, world!" println
run: |
JAVA_OPTS="-Duser.home=$PWD" ioke main.ik; JAVA_OPTS="-Duser.home=$PWD" ioke

View File

@ -1,22 +0,0 @@
id: "j"
aliases:
- "jconsole"
- "ijconsole"
name: "J"
install:
manual: |
wget "$(curl -sSL https://code.jsoftware.com/wiki/System/Installation/J901/Debian | grep -F '<a' | grep 'amd64\.deb' | grep -Eo 'http://.+?\.deb')" -O j.deb
deb:
- j.deb
repl: |
echo 'ijconsole:'
ijconsole
main: "main.ijs"
template: |
echo 'Hello, world!'
run: |
ijconsole main.ijs

View File

@ -1,30 +0,0 @@
id: "jasmin"
name: "Jasmin"
install:
apt:
- jasmin-sable
main: "Main.j"
template: |
.class public Main
.super java/lang/Object
.method public <init>()V
aload_0
invokenonvirtual java/lang/Object/<init>()V
return
.end method
.method public static main([Ljava/lang/String;)V
.limit stack 2
getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "Hello, world!"
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
return
.end method
compile: |
jasmin Main.j
run: |
java Main

View File

@ -1,158 +0,0 @@
id: "java"
aliases:
- "javac"
name: "Java"
monacoLang: java
install:
apt:
- default-jdk
- clang-format
manual: |
install -d "${pkg}/opt/jdt"
wget https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz
tar -xf jdt-language-server-latest.tar.gz -C "${pkg}/opt/jdt"
main: "Main.java"
template: |
public class Main {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
compile: |
javac Main.java
run: |
java Main
format:
run: |
clang-format --style="{BasedOnStyle: llvm, IndentWidth: 4}" --assume-filename=Format.java
input: |
public class Main
{
public static void main(String[] args)
{
System.out.println("Hello, world!");
}
}
lsp:
setup: |
rm -rf jdt && cp -RT /opt/jdt/config_linux jdt
start: |
java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dlog.level=ALL -noverify -Xmx1G -jar /opt/jdt/plugins/org.eclipse.equinox.launcher_*.jar -configuration "$PWD/jdt" -data "$PWD" --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED
init:
bundles:
- /opt/jdt/bundles/com.microsoft.java.test.plugin-0.19.0.jar
- /opt/jdt/bundles/com.microsoft.jdtls.ext.core-0.5.1.jar
- /opt/jdt/bundles/dg.jdt.ls.decompiler.cfr-0.0.2-201802221740.jar
- /opt/jdt/bundles/dg.jdt.ls.decompiler.common-0.0.2-201802221740.jar
- /opt/jdt/bundles/dg.jdt.ls.decompiler.fernflower-0.0.2-201802221740.jar
- /opt/jdt/bundles/dg.jdt.ls.decompiler.procyon-0.0.2-201802221740.jar
- /opt/jdt/bundles/io.projectreactor.reactor-core.jar
- /opt/jdt/bundles/java.debug.plugin.jar
- /opt/jdt/bundles/jdt-ls-commons.jar
- /opt/jdt/bundles/jdt-ls-extension.jar
- /opt/jdt/bundles/org.reactivestreams.reactive-streams.jar
extendedClientCapabilities:
advancedExtractRefactoringSupport: true
advancedGenerateAccessorsSupport: true
advancedOrganizeImportsSupport: true
classFileContentsSupport: true
generateConstructorsPromptSupport: true
generateToStringPromptSupport: true
hashCodeEqualsPromptSupport: true
moveRefactoringSupport: true
overrideMethodsPromptSupport: true
progressReportProvider: true
settings:
java:
autobuild:
enabled: true
codeGeneration:
generateComments: false
hashCodeEquals:
useInstanceof: false
useJava7Objects: false
toString:
codeStyle: STRING_CONCATENATION
limitElements: 0
listArrayContents: true
skipNullValues: false
template: ${object.className} [${member.name()}=${member.value}, ${otherMembers}]
useBlocks: false
completion:
enabled: true
favoriteStaticMembers:
- org.junit.Assert.*
- org.junit.Assume.*
- org.junit.jupiter.api.Assertions.*
- org.junit.jupiter.api.Assumptions.*
- org.junit.jupiter.api.DynamicContainer.*
- org.junit.jupiter.api.DynamicTest.*
- org.mockito.Mockito.*
- org.mockito.ArgumentMatchers.*
- org.mockito.Answers.*
filteredTypes:
- java.awt.*
- com.sun.*
guessMethodArguments: true
importOrder:
- java
- javax
- com
- org
overwrite: true
configuration:
checkProjectSettingsExclusions: true
updateBuildConfiguration: automatic
dependency:
packagePresentation: flat
errors:
incompleteClasspath:
severity: warning
foldingRange:
enabled: true
format:
comments:
enabled: true
enabled: true
onType:
enabled: true
implementationsCodeLens:
enabled: false
import:
exclusions:
- '**/node_modules/**'
- '**/.metadata/**'
- '**/archetype-resources/**'
- '**/META-INF/maven/**'
gradle:
enabled: true
wrapper:
enabled: true
maven:
enabled: true
maven:
downloadSources: false
maxConcurrentBuilds: 1
progressReports:
enabled: true
referencesCodeLens:
enabled: false
saveActions:
organizeImports: false
selection:
enabled: true
signatureHelp:
enabled: true
trace:
server: "off"
code: "TODO"
item: "TODO"
skip:
- lsp

View File

@ -1,48 +0,0 @@
id: "javascript"
aliases:
- "node"
- "js"
- "web"
- "jsx"
- "v8"
- "closure"
- "nodejs"
name: "JavaScript"
monacoLang: javascript
install:
apt:
- nodejs
- yarn
riju:
- prettier
repl: |
node
main: "main.js"
template: |
console.log("Hello, world!");
run: |
node -e "$(< main.js)" -i
scope:
code: |
let x = 123 * 234;
format:
run: |
prettier --no-config --stdin-filepath=format.js
input: |
console.log('Hello, world!');
pkg:
install: |
yarn add NAME
uninstall: |
yarn remove NAME
search: |
curl -sS 'https://registry.npmjs.org/-/v1/search?text=NAME' | jq -r '.objects | map(.package.name) | .[]'

Some files were not shown because too many files have changed in this diff Show More