diff --git a/backend/src/langs.ts b/backend/src/langs.ts index a5d3883..4bde826 100644 --- a/backend/src/langs.ts +++ b/backend/src/langs.ts @@ -2818,6 +2818,25 @@ main = do `, timeout: 15, }, + qsharp: { + aliases: ["q", "qs"], + name: "Q#", + setup: "cp -R /opt/qsharp/dotnet ./.dotnet && cp -R /opt/qsharp/project-template/* ./", + main: "Main.qs", + run: "dotnet run", + template: `namespace main { + + open Microsoft.Quantum.Canon; + open Microsoft.Quantum.Intrinsic; + + @EntryPoint() + operation Main() : Unit { + Message("Hello, world!"); + } +} +`, + timeout: 60, + }, قلب: { aliases: ["qalb"], name: "قلب", diff --git a/scripts/docker-install-phase3d.bash b/scripts/docker-install-phase3d.bash index ae7e6c3..ec2a290 100755 --- a/scripts/docker-install-phase3d.bash +++ b/scripts/docker-install-phase3d.bash @@ -10,8 +10,13 @@ apt-get update lua_ver="$(grep-aptavail -XF Provides lua -s Version -n | sort -Vr | head -n1)" liblua_name="$(grep-aptavail -eF Package "liblua[0-9.]+-dev" -a -XF Version "${lua_ver}" -s Package -n | head -n1)" +dotnet_name="$(grep-aptavail -eF Package "^dotnet-sdk-[0-9.]+$" -s Package -n | sort -Vr | head -n1)" + packages=" +# Q# +${dotnet_name} + # S-Lang slsh diff --git a/scripts/docker-install-phase7.bash b/scripts/docker-install-phase7.bash index 4ad6b3f..df9eaf9 100755 --- a/scripts/docker-install-phase7.bash +++ b/scripts/docker-install-phase7.bash @@ -63,6 +63,15 @@ popd >/dev/null mkdir /opt/purescript mv project-template /opt/purescript/ +# Q# +dotnet new -i Microsoft.Quantum.ProjectTemplates +dotnet new console -lang Q# -o main +rm main/Program.qs +mkdir /opt/qsharp +mv main /opt/qsharp/project-template +mv "$HOME/.dotnet" /opt/qsharp/dotnet +chmod -R a=u,go-w /opt/qsharp/dotnet + # ReasonML mkdir -p /opt/reasonml/project-template pushd /opt/reasonml/project-template >/dev/null