summaryrefslogtreecommitdiff
path: root/devel/arena
AgeCommit message (Collapse)AuthorFilesLines
2006-11-16Upgrade arena from version 0.9.8 to 0.9.9.agc3-20/+6
Changes in this version include: This release fixes a possible double free problem in the printf() implementation. The problem occurred when more conversion specifiers than function arguments were present and the format required a cast from the dummy void value used by the implementation to another type. Thanks to Dennis Heuer for reporting the problem. Also based on a suggestion by Dennis, the interpreter no longer allows non-terminated escape sequences in string literals. In other words, a string literal may no longer end in a backslash character. Alistair Crooks provided a couple of new example scripts that include interfacing to native C libraries under NetBSD. He also suggested to allow hexadecimal integer literals. These are now allowed and need to be prefixed with "0x". For example, "0xFF" or "0xff" is the same as writing "255". Fabian Tschiatschek provided a patch to allow extra arguments to be passed to map, filter, foldl, foldr, drop_while, and take_while. These are passed down into the function provided as the first argument. Fabian also noticed that the documentation and implementation of foldr did not agree about the order of arguments. The implementation was changed to match the language manual. There is a new library function called is_null that can check whether a memory resource contains a C NULL pointer. patch-ab has now been removed since, with the inclusion of is_null(), there is no need for it.
2006-10-31Upgrade devel/arena from 0.9.7nb1 to 0.9.8.agc2-7/+6
Changes since previous version: - fix interpreter to really abort after parse errors - fix source file position accounting in multi-line strings
2006-10-27Bump package to 0.9.7nb1agc4-2/+48
Fix two things: + in the internal tests, as a last resort, look for libc.so + when calling a foreign function from arena which returns a pointer, if the foreign function returns NULL, make the return value from dyn_call_ptr() into a void arena value. Patch has been fed back upstream.
2006-10-01Initial import of Arena-0.9.7, a C-like scripting language interpreteragc4-0/+42
with a 3-clause BSD licence, into the Packages collection. A lightweight scripting language based on ANSI C. The language uses a syntax and library similar to that of ANSI C, but adds automatic memory management and runtime polymorphism on top of that. The Arena language was designed with the following main features in mind, most of which were added on top of a very C-like core to support better ad-hoc scripting: * syntax similar to ANSI C * standard library similar to ANSI C * automatic memory management * runtime polymorphism * support for exceptions * support for anonymous functions Additionally, an interpreter for the Arena language can be implemented to be very compact in terms of both source code size and memory consumption.