Arcueid

Software Screenshot:
Arcueid
Software Details:
Version: 0.1.2
Upload Date: 20 Feb 15
Developer: Rafael R. Sevilla
Distribution Type: Freeware
Downloads: 21

Rating: 2.0/5 (Total Votes: 1)

Arcueid is an open source implementation of Paul Graham's Arc dialect of Lisp, in the C language. It is designed to act as a C interpreter.

Arcueid is intended to be compatible with the 3.1 version of the Arc software, it features a simple interface to C, and is easily usable as an extension language and an embedded interpreter.

What is new in this release:

  • Lots of new features in this release. I've finally fixed the nested quasiquotes bug that has been out for more than a year. Readline seems to be working better than it had in 0.1.1. Some bugfixes like memory leak issues and garbage collector problems. We now have gone back to using the Huelsbergen-Winterbottom VCGC algorithm for garbage collection. Large file support is now available even on 32-bit systems, provided bignum support is also available. We have some regular expressions based on the Plan 9/Inferno Regular Expression library (and it is for now similarly limited). The load function is now built into the interpreter and load paths are now supported. And now there is a script mode so Arcueid can be used in a shebang, e.g. it is now possible to run a file with the executable bit set with the following contents
  • #!/usr/local/bin/arcueid --script
  • (prn (+ 1 1))
  • and that does what one expects.
  • Regular expressions are provided by means of the r/.../ syntax. Only basic stuff like character classes, the Kleene star and plus operators, the ? operator, alternation, and capturing groups are supported. Many Perl/POSIX constructions are still unavailable, but soon enough the regexp support should evolve to support many of the most useful features. Hope to soon be able to add things like counted repetitions, character class abbreviations like \d, and non-capturing groups. To use regexps, they can be applied to strings, e.g.:
  • arc> (r/(abc)(def)/ "zzzabcdefgh")
  • (3 ("abcdef" "abc" "def"))
  • Which returns a list with the position of the match, and a list of all the capture groups, starting with the entire string matched by the regular expression. Returns nil if the regexp failed to match. The =~ macro can be used, which binds $$ to the position in the string the match obtained, and $0 to the whole matched portion, $1 to the first capture, and so on, similar to the way Perl does it, e.g.:
  • arc> (=~ r/(abc)(def)/ "zzzabcdefgh" (list $1 $2))
  • ("abc" "def")
  • Load paths can be added by means of the loadpath-add function, which adds a directory to the load path list loadpath*.

Similar Software

GNU Smalltalk
GNU Smalltalk

11 May 15

Cake
Cake

14 Apr 15

Smake
Smake

20 Feb 15

Comments to Arcueid

Comments not found
Add Comment
Turn on images!