LINUX.ORG.RU

«Перспективные» и малоизвестные проекты ЯП

 , , ,


2

6

А накидайте, какие есть малоизвестные проекты языков программирования, которые пилятся или пилились энтузиастами в последние годы? Интересуют компилируемые ЯП, ориентированные на компиляцию в нативный код. (Еще лучше, если у реализации есть собственный бэк, а не просто фронт для LLVM.)

Из того, что я мог вспомнить:

  • Nim
  • Zig
  • Seed7
  • VLang
  • Crystal
  • OOC

Ответ на: комментарий от lovesan

Spritely Goblins, для guile или racket делать WASM в браузер:

Hoot, трансляция scheme в WASM:

ещё лучше если бы какой-то браузер типа Nyx на самом лиспе

а ещё лучше чтобы не WASM, а нормальный лисп и для клиента, и для сервера

GC вроде там сделали в WASM в последних сборках – что позволяет запускать метациклический лисп в духе SICP: Scheme in Scheme on Wasm

но он всё равно какой-то недоделанный по сравнению с нормальным лиспом, нормальным GC

anonymous
()

https://www.moonbitlang.com

  • The collaborative design of programming language, compiler, build system, and IDE ensures the integrity of the system, reduces component friction, and improves overall efficiency
  • Generate significantly smaller WASM output than any existing solutions
  • Moonbit language designed specifically for WebAssembly. Provide multiple backends including JavaScript and Native
  • Support multiple programming paradigm including functional and object oriented
  • Simple yet practical type system, data oriented language design. Developer with any background can start immediately
  • State of art compile time performace
  • Fast runtime performance using whole program optimizations
  • Support incremental and parallel compilation, handle large-scale programming scenarios smoothly
dataman ★★★★★
()
29 августа 2024 г.

Еще лучше, если у реализации есть собственный бэк, а не просто фронт для LLVM.

Наткнулся сегодня:
https://belijzajac.dev/wisnialang-compiler-project

For the past 3 years, I have been working on the WisniaLang compiler for my own programming language that compiles to native machine code and packs it into an executable by itself. Unlike many others, I rolled out my own compiler backend from scratch that does fast but naive code generation. While it’s admittedly a more old-fashioned approach to compiler engineering, it’s the path I chose to take when developing my compiler.

https://github.com/belijzajac/WisniaLang (C++20, CMake, GPL 3).

A compiler for an experimental programming language that produces tiny Linux binaries (ELF x86_64) without LLVM dependency!


fn fibonacci(n: int) -> int {
  if (n <= 1) {
    return n;
  }
  int prev = 0;
  int current = 1;
  for (int i = 2; i <= n; i = i + 1) {
    int next = prev + current;
    prev = current;
    current = next;
  }
  return current;
}

fn main() {
  print(fibonacci(46));
}

421 байтов.

dataman ★★★★★
()