Repolode
sharkdp

sharkdp/numbat

Статически типизированный язык программирования и калькулятор для научных вычислений со встроенными физическими размерностями и единицами измерения.

Open source альтернатива:Wolfram AlphaQalculate

Звёзды
2,775
Форки
120
Открытые issues
131
Последний коммит
9 дней назад

Что это?

Numbat — язык программирования для научных вычислений, в котором физические размерности, например Length и Time, выступают в роли типов. Система типов проверяет, корректно ли сочетаются величины в вычислениях; типы можно объявлять явно или выводить автоматически.

Единицы измерения — полноправные значения. Их можно вводить в разных форматах (km/h, kilometer/hour, m^2), конвертировать с помощью оператора ->, определять на лету и использовать стандартную библиотеку. В ней есть единицы СИ, американской и британской систем, морские, атомные и ядерные единицы, а также множество констант и функций. Стандартная библиотека написана на Numbat, и её можно расширить через файл init.nbt.

Numbat поставляется как инструмент командной строки с интерактивным REPL, в котором доступны история команд, поиск по истории с Ctrl-R и автодополнение по Tab. Также попробовать язык можно в браузере. Парсер не пытается угадать смысл неоднозначного ввода, а выдаёт понятные сообщения об ошибках. Это калькулятор, а не система компьютерной алгебры.

Ключевые возможности

  • 01Физические размерности, такие как Length и Time, используются как статические типы с выводом типов.
  • 02Единицы измерения можно записывать в разных форматах и конвертировать с помощью оператора ->.
  • 03Новые единицы измерения и функции можно определять всего в нескольких строках кода.
  • 04Стандартная библиотека включает единицы СИ, британской, морской, астрономической и других систем, а также константы.
  • 05Интерактивный REPL с историей команд, поиском по истории и автодополнением по Tab.
  • 06assert_eq во время выполнения проверяет точное или приблизительное равенство величин.

Сценарии использования

  • Проверка согласованности единиц измерения в физических и инженерных расчётах.
  • Разовые быстрые конвертации между британской, метрической и другими системами единиц.
  • Написание скриптов для расчётов, где ошибки в единицах измерения важно выявлять заранее.
  • Расширение системы единиц с помощью пользовательских единиц для конкретной предметной области.

Быстрый старт

  1. 1

    Установите нативный CLI (подробности см. в документации по установке)

  2. 2

    Установите CLI из локальной копии репозитория

    cargo install -f --path numbat-cli
  3. 3

    Запустите интерактивный REPL

    numbat

Что важно знать

  • Numbat — это научный калькулятор, а не система компьютерной алгебры: он не умеет решать дифференциальные уравнения и вычислять интегралы.
  • Графического интерфейса пользователя нет.

Темы

Частые вопросы

Что такое numbat?
Статически типизированный язык программирования и калькулятор для научных вычислений со встроенными физическими размерностями и единицами измерения. Numbat — язык программирования для научных вычислений, в котором физические размерности, например Length и Time, выступают в роли типов. Система типов проверяет, корректно ли сочетаются величины в вычислениях; типы можно объявлять явно или выводить автоматически.
numbat можно использовать бесплатно? Какая у него лицензия?
numbat распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
numbat всё ещё поддерживается?
Активно поддерживается. Последний коммит в numbat — 11 окт. 2026 г..
Для чего можно использовать numbat?
Проверка согласованности единиц измерения в физических и инженерных расчётах. Разовые быстрые конвертации между британской, метрической и другими системами единиц. Написание скриптов для расчётов, где ошибки в единицах измерения важно выявлять заранее. Расширение системы единиц с помощью пользовательских единиц для конкретной предметной области.
Как установить numbat?
Установите нативный CLI (подробности см. в документации по установке) Установите CLI из локальной копии репозитория: cargo install -f --path numbat-cli Запустите интерактивный REPL: numbat
Где скачать numbat?
Исходный код и инструкции по установке — на GitHub: https://github.com/sharkdp/numbat

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Универсальный физический движок для быстрой и точной симуляции контактирующих сочленённых тел, широко используемый в робототехнике и исследованиях машинного обучения.

15,8 тыс.1,9 тыс.C++Apache-2.0Обновлён 10 часов назад