9 ポイント 投稿者 GN⁺ 2025-04-15 | 2件のコメント | WhatsAppで共有
  • Fennel は Lua ランタイム上で動作するプログラミング言語
  • Lua はシンプルかつ強力なプログラミング言語で、他のプログラムに容易に統合でき、ユーザーに再プログラミングの可能性を提供する
  • Fennel は Lua の欠点を補い、より明確でエラーを減らせる代替手段を提供する
  • Fennel は Lisp 系の構文を採用し、構文の複雑さを減らしてコードの可読性を高める
  • Fennel は変数の再代入、テーブル記法、関数の引数チェックなどで Lua より改善された機能を提供する

Fennelとは?

  • Fennel は Lua ランタイム上で動作するプログラミング言語
  • Lua はシンプルでありながら強力な言語で、他のプログラムに容易に統合でき、ユーザーに再プログラミングの可能性を提供する
  • Fennel は Lua の欠点を補い、より明確でエラーを減らせる代替手段を提供する

Luaの利点

  • Lua は 小さく高速な 言語で、約 19,000 行の C コードで構成され、278kb にコンパイルされる
  • 概念的な単純さ を保ちながらも強力な機能を提供する
  • 他のプログラムに容易に統合でき、ユーザーがプログラムを再プログラミング できるようにする

Fennelの主な特徴

  • Fennel は Lisp 系 の構文を使用し、構文の複雑さを減らしてコードの可読性を高める
  • すべてが として扱われ、演算子の優先順位や早期リターンに関する曖昧さがない
  • 変数: グローバル変数の使用を難しくしてミスを減らし、変数を再代入する際は var を使って明確さを高める

テーブルとループ

  • Fennel は テーブル記法 を改善し、配列とキー/バリューのテーブルを区別する
  • ループでは foreach を使用し、明確な構文 を提供する

関数とその他の機能

  • Fennel は関数の 引数チェック をサポートし、引数が不足している場合にエラーを発生させる
  • 分割代入パターンマッチング をサポートし、より宣言的な条件文を書ける
  • マクロシステム を含み、新しい構文形式を容易に拡張できる

2件のコメント

 
GN⁺ 2025-04-15
Hacker Newsの意見
  • 新しい言語がLuaランタイムを対象にしているのを見るのは楽しい

    • 最近、SSEサーバーをLuaでプログラム可能にした
    • Luaとmlua-rsのRustバインディングを強く勧める
  • Fennelは良い

    • neovimの設定をFennelに変換してから後悔していない
  • Forth、Lisp、Lua以外にも、Tclは小さな組み込み言語として言及する価値がある

    • v8版から複雑になったが、初期バージョンは非常にシンプルだった
    • Ousterhoutの本を読んで感銘を受け、自分で実装してみた
  • LISPyな言語の魅力が理解できない

    • パーサーはシンプルでエレガントだが、開発者はユーザーの利便性を優先すべきだと思う
    • コードを書くのが面倒で、不必要に記号が多い
    • Cに似た構文をパースするのはそれほど難しくない
  • Fennelの、Luaにコンパイルしつつメタプログラミング機能を維持するアプローチはエレガントだ

    • 構文はClojureを思わせるが、JVMのオーバーヘッドはない
    • 組み込みシステムやゲーム開発に適した組み合わせだ
  • Fennelはかなり良い

    • 段階的型付けのサポートや、静的ツール向けの型注釈を許可してほしい
    • 動的型付けは有効な選択だが、段階的型付けを備えた言語が増えたので、もう戻りにくい
  • Lua上に構築された他の言語を探している人向けの情報

  • 括弧について不満を言う人は、Lispを十分に書いたことがないのだろう

    • 括弧を乗り越えれば、言語の同質性が輝き、なぜLispが好かれるのか理解できるようになる
  • カジュアルで楽しいゲーム開発に向いている

    • TIC-80が直接サポートしており、FennelからPICO-8へ簡単に移行できる
 
nemorize 2025-04-15

MoonScript のリンクが間違っているようですね〜
https://moonscript.org/