./lang/fennel, The Fennel programming language

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.3.1, Package name: lua54-fennel-1.3.1, Maintainer: pkgsrc-users

Fennel is a lisp that compiles to Lua. It aims to be easy to use,
expressive, and has almost zero overhead compared to writing Lua directly.

Features:
- Full Lua compatibility: Easily call any Lua function or library from
Fennel and vice-versa.
- Zero overhead: Compiled code should be just as efficient as hand-written
Lua.
- Compile-time macros: Ship compiled code with no runtime dependency
on Fennel.
- Embeddable: Fennel is a one-file library as well as an executable.
Embed it in other programs to support runtime extensibility and interactive
development.


Master sites:


Version history: (Expand)


CVS history: (Expand)


   2023-07-22 23:38:18 by Yorick Hardy | Files touched by this commit (4) | Package updated
Log message:
lang/fennel: update to fennel-1.3.1

1.3.1 / 2023-07-07

New Features

 * fennel.runtime-version will return version information as a
   table if given optional argument
 * Expose REPL's methods in the ___repl___ table, allowing method
   redefinition at runtime.
 * Allow following docstring with a metadata table syntax.
 * Return whole metadata table when metadata.get is called without
   a key.
 * Add :byte-escape option to fennel.view for overriding default
   char escapes
 * Generate man pages for fennel-api(3), fennel-reference(5), and
   fennel-tutorial(7) from their respective documentation.

Note for packagers: The man page fennel.1 has been moved to
man/man1/fennel.1 along with the new generated man pages. For build
scripts that copy files manually in lieu of make install, this may
require an update.

Bug Fixes

 * Fix a bug where operator compiler output had incorrect precedence
   with 3+ args
 * Fix a bug where the comment special would fail on forms
   containing "]]"
 * Fix a bug where tables like {:true 1 true 2} emit with unstable
   key order
 * Fix a bug where table literals mutated by a macro emit with
   unstable key order when AOT-compiled in Lua > 5.2
 * Fix a bug where very long individual lines in the repl would be
   truncated
 * Fix an edge case where {:__metatable true} (as in pandoc-lua)
   breaks fennel.view
 * Fix a 1.3.0 bug where macros only accepts table literals, not
   table-returning exprs
 * Fix a bug where metadata tables with different arglists break
   lambdas
 * Fix a bug with detecting cycles for tables that have custom
   __pairs metamethod in fennel.view
 * Fix a bug where vararg couldn't be the only thing in a hashfn
   2023-04-27 14:45:56 by Yorick Hardy | Files touched by this commit (2) | Package updated
Log message:
lang/fennel: update to fennel-1.3.0

1.3.0 / 2023-02-13

New Forms

  * Add case which does pattern matching without pinning existing locals
  * Add case-try which works like match-try without pinning locals
  * Add faccumulate macro as range analog to accumulate

New Features

  * Reduced compiler memory footprint
  * Omit escape codes highlighting errors when NO_COLOR env var is set
  * Support & for rest args in function arglists for consistency with let
  * Add error-pinpoint option to support custom error highlighting
  * The fn special now allows arbitrary compiler metadata keys via the
    metadata table syntax
  * Options in fennel.view can be altered for the next invocation of the
    pretty-printer by setting them to {:once val} or {:once val :after
    other-val}. See fennel.view docstring for more info

Bug Fixes

  * Fix a bug where readline repl history would be saved to the wrong file
  * Fix a bug where set did not catch unknown locals when setting table
    fields
  * Add a workaround for a bug around ctrl-d in readline
   2023-01-10 22:51:30 by Nikita | Files touched by this commit (6)
Log message:
Import lang/fennel as fennel version 1.2.1

Packaged by charlotte@ in wip.

Fennel is a lisp that compiles to Lua. It aims to be easy to use,
expressive, and has almost zero overhead compared to writing Lua directly.

Features:
- Full Lua compatibility: Easily call any Lua function or library from
  Fennel and vice-versa.
- Zero overhead: Compiled code should be just as efficient as hand-written
  Lua.
- Compile-time macros: Ship compiled code with no runtime dependency
  on Fennel.
- Embeddable: Fennel is a one-file library as well as an executable.
  Embed it in other programs to support runtime extensibility and interactive
  development.