跳到正文
原文
Tproger · Программирование· Tproger·· 4天前AI 评分20

JupyterLite 新增 LFortran 内核,可在浏览器中运行 Fortran

原文标题:JupyterLite получил ядро LFortran для запуска Fortran в браузере

AI 导读

Jupyter 项目为浏览器端笔记本环境 JupyterLite 加入 LFortran 内核,用户无需本地安装编译器或服务器即可在网页中运行 Fortran 代码。

正文

Проект Jupyter объявил о поддержке ядра LFortran в JupyterLite, браузерной среде для запуска интерактивных блокнотов. Решение ориентировано на учащихся, читателей интерактивной документации и участников научных проектов. Пользователи могут выполнять код на Fortran непосредственно на веб-странице, без локальной установки компилятора и серверной инфраструктуры.

Иллюстрация к разделу о другой половине научных вычислений
Другая половина научных вычислений
Логотип языка программирования Fortran
Язык для тех, кто мыслит формулами

Как работает новое ядро

LFortran представляет собой открытый компилятор Fortran на базе LLVM с интерактивным режимом. Его ядро использует C++-реализацию протокола ядер Jupyter — xeus, а для работы в браузере собрано в WebAssembly.

Перфокарта с формулой программы Fortran и сортировочной информацией
Перфокарта с программой на Fortran. Автор: Arnold Reinhold. Wikimedia Commons, лицензия CC BY-SA 2.5
Ядро LFortran работает в JupyterLite в браузере
Ядро LFortran работает в JupyterLite в браузере

Браузер не позволяет ядру использовать JIT-компиляцию привычным для LFortran способом. Поэтому код из каждой ячейки проходит через работающую в той же вкладке WebAssembly-версию набора инструментов: она создаёт отдельный модуль и загружает его в текущую сессию.

Поддержка ориентирована прежде всего на обучение, интерактивную документацию и научные проекты. Исполняемые примеры можно разместить на статическом сайте, в том числе на GitHub Pages, чтобы читатели могли изменять и запускать их без учётных записей и выделенного бэкенда.

Ядро распространяется через emscripten-forge и может быть добавлено в развёртывания JupyterLite с jupyterlite-xeus. Для обычной установки JupyterLab по-прежнему доступен пакет LFortran из conda-forge.

Источники

来源:Tproger · Программирование · tproger.ru