Пришло время. Rockstar 2: «Трудная вторая версия»
Процесс сборки
Создание codewithrockstar.com работает следующим образом:
построить и протестировать Rockstar-движок
ЕСЛИ ЭТО РАБОТАЕТ:
сборка-Windows-двоичный файл
сборка-macos-двоичный файл
build-and-deploy-website * Загружает двоичный файл Linux для артефакта Rockstar WASM из шага 1. * Загружает двоичные файлы для Windows и macOS из шагов 2 и 3. * Создает сайт Jekyll.
В режиме разработки я использую символические ссылки на каталоги между различными частями проекта. Пересборка решения .NET пересоберет интерпретатор WASM, который Jekyll может видеть как /wasm/**
, и вызовет пересборку сайта, а все примеры кода Rockstar являются частью как проекта набора тестов Rockstar.Test
.NET, так и проекта codewithrockstar.com
Сайт codewithrockstar.com
:
> cd codewithrockstar.com
> mklink /d wasm ..StarshipRockstar.WasmbinDebugnet8.0-browser
> mklink /d examples ..StarshipRockstar.Testprogramsexamples
codewithrockstar.com
/wasm --> [ /Starship/Rockstar.Wasm/bin/Debug/net8.0-browser ]
/examples --> [ /Starship/Rockstar.Test/programs/examples ]
/index.html
/example.md
/js
/rockstar-editor.js (from codemirror)
Каррирование функций
output
function call: product
function call: sum
number: 2
number: 4
function call: sum
number: 5
number: 6
Итак: product(sum(2,4,sum(5,6))
необходимо перевести в product(sum(2,4),sum(5,6))
на основе арности функций
Итак, sum(2,4,sum(5,6))
необходимо вычислить sum(2,4)
и оставить выражение sum(5,6)
в корзине.
Тогда product(sum(2,4)