summaryrefslogtreecommitdiff
path: root/lang/ksi
AgeCommit message (Collapse)AuthorFilesLines
2010-08-12Update to KSi 3.9.0asau3-43/+37
3.9.0 ===== * Prerelease of the 4.0.0 that will be R6RS compliant. * The doc directory temporary removed from distrib. The old docs obsolete and new is not ready. * Simple R6RS-like library manager implemented. "load" function removed (use "import" syntax instead). * the ksi module system removed in a favour of new R6RS library system. * `psyntax.ss' that implemented 'syntax-case' in older revisions of the ksi, was removed. As a result, only core syntax evaluated by ksi. And ksi core is not a R6RS core :-( * '(gensym)' generate (almost) unique symbol names. As a part of generated symbol name used a 'session_id' that is initialized at startup. So, each ksi invocation has its own 'session_id'. This can help (in a future) to hardly optimize the scheme code evaluation Now the 'session_id' is initialized with random bits converted to readable string. * the "do" syntax, "delay" syntax and "force" function was removed from the ksi core. * the 'struct Ksi_Environ' and companions was rewriten almost completly. Now the environment has the name, the export list and the hashtab that maps the symbol to the value A value can be a plain value (the symbol is a variable) or a syntax value. If a symbol is bound to a syntax value, it can not be defined, assigned or used in any other case except in a intented syntax form As a special case, if a symbol is bound to a syntax value and the value is a procedure, the procedure is applyed to the form before evaluating it. (Look at 'ksi_defsyntax()' and 'ksi_compile()' for details). This mechanics is intended for low-level macros (as "define-macro!") and derived forms such as 'cond', 'case', etc. The normal sanitary macro system planned ;-). * All packed-in-the-pointer objects was removed. Such objects as 'ksi_nil', 'ksi_false' and so on, are implemented as a pointers to a memory location that allocated when initializing the ksi library. Do not be suprized the error if you use its before calling `ksi_init()'. * The 'struct Ksi_Char' (added) is internal representation of a character now. (first step to unicode). * the GMP library used for exact arithmetics now. As a result, the ksi supports the exact rational numbers now. * The short integers was removed. Bignums are the only exact numbers now. And predefined constans 'ksi_zero', 'ksi_one', etc was removed too. (Use 'ksi_long2num()' in C code) * A flonum has real and imag part always, and so, a flonum is a complex number now. But 'real?' returns #t if imaginary part is zero and 'number->string' do not print "+0.0i" if imaginary part is zero. (This is not what R6RS requires but alas, it is the ksi) * balanced comments are writen within "#| |#" construct now (not with "#! !#" as in the previous revisions of the ksi). The sequence "#!<identifier>" used for the reader directives now. In addition, to support the scheme scripts, the sequence "#! " (note whitespace) and "#!/" in the very begin of a file supposed as a one-line comment. * Reader now case-sensitive by default, as required R6RS. Use the "#!fold-case" directive to switch the reader to the case-insensitive mode, and "#!no-fold-case" to switch to the case-sensitive mode back. * By default, the reader parses postfix keyword notation, such as "key:". "#!keyword-prefix" switches the reader to prefix mode, such as ":key", and "#!keyword-postfix" switches the reader back to postfix mode. * By default, the reader do not parses the old ksi keyword notation, such as "#:key". Use the "#!keyword-sharp" directive to switch the old mode on, and "#!no-keyword-sharp" to switch off. * "#!r6rs" directive switches the reader to the R6RS mode, and "#!ksi" directive switches the reader to the default mode back. In the r6rs mode: -- the keywords are not parsed at all; -- any sequence that starts with digit, '+', '-', '.', tried to be parsed as a number and, if cannot, exception raised. Otherwice the sequence is parsed as a symbol. In the ksi mode: -- the keywords are parsed; -- any sequence, that starts with digit, or '+', '-', '.' folowed by digit, tried to be parsed as a number and, if cannot, exception raised. Otherwice the sequence is parsed as a symbol. So, the sequence like '+x' is parsed as symbol in the ksi mode, but raise exception in the r6rs mode. Note that in the previous revisions of the ksi, any sequence, that cannot be parsed as a number, was considered as a symbol (never exception raised). 3.5.1 ===== * bugfixes * (Windows) ksi dll name has version info now. 3.5.0 ===== * code refactoring
2009-06-14Remove @dirrm entries from PLISTsjoerg1-8/+1
2009-05-20Recursive ABI depends update and PKGREVISION bump for readline-6.0 shlibwiz1-1/+2
major change. Reported by Robert Elz in PR 41345.
2009-04-20Update Ksi Scheme Interpreter to version 3.4.3.asau5-66/+8
Chages since previous release include bug fixes and removal of Boehm GC from distribution. Mark as not MAKE_JOBS safe.
2008-07-14Mark as destdir ready.joerg1-1/+3
2006-04-05List the info files directly in the PLIST, and honor PKGINFODIR andjlam2-3/+6
PKGMANDIR.
2006-04-04Use the correct path to the boehm-gc libtool archive.jlam3-7/+7
2006-04-04USE_NEW_TEXINFO is dead.jlam1-2/+1
2006-03-05* Teach the tools framework how to supply the pkgsrc version ofjlam1-2/+2
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD when determining whether the native makeinfo can be used. * Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo. * Get rid of all the "split" argument deduction for makeinfo since the PLIST module already handles varying numbers of split info files correctly. NOTE: Platforms that have "makeinfo" in the base system should check that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are correct.
2006-03-04Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where nojlam1-2/+2
developer is officially maintaining the package. The rationale for changing this from "tech-pkg" to "pkgsrc-users" is that it implies that any user can try to maintain the package (by submitting patches to the mailing list). Since the folks most likely to care about the package are the folks that want to use it or are already using it, this would leverage the energy of users who aren't developers.
2006-02-05Recursive revision bump / recommended bump for gettext ABI change.joerg1-2/+2
2005-12-20Fix GCC 3.4+: label at end of compound statement.joerg2-1/+14
2005-12-05Fixed pkglint warnings. The warnings are mostly quoting issues, forrillig1-2/+2
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some other changes are outlined in http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-02-24Add RMD160 digestsagc1-1/+2
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv1-2/+2
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-09-22Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.jlam1-13/+1
All library names listed by *.la files no longer need to be listed in the PLIST, e.g., instead of: lib/libfoo.a lib/libfoo.la lib/libfoo.so lib/libfoo.so.0 lib/libfoo.so.0.1 one simply needs: lib/libfoo.la and bsd.pkg.mk will automatically ensure that the additional library names are listed in the installed package +CONTENTS file. Also make LIBTOOLIZE_PLIST default to "yes".
2004-07-18bump PKGREVISIONs for last boehm-gc updaterecht1-2/+2
(BUILDLINKS_DEPENDS change)
2004-05-12Convert to buildlink3.snj1-10/+11
2004-02-14LIBTOOL_OVERRIDE and SHLIBTOOL_OVERRIDE are now lists of shell globsjlam1-2/+1
relative to ${WRKSRC}. Remove redundant LIBTOOL_OVERRIDE settings that are automatically handled by the default setting in bsd.pkg.mk.
2004-01-12The package was marked broken because it kept throwing SIGSEGV due tokristerw5-26/+51
using an old boehm-gc that does not work on NetBSD. Unbreak it by changing it to use the devel/boehm-gc package. PKGREVISION++.
2003-12-09The build of this package fails on NetBSD-current and 1.6.2 - a SIGSEGV isagc1-1/+3
thrown when the ksi interpreter is invoked. Mark this package as broken.
2003-08-30Initial import of ksi.jtb5-0/+132
This is a Ksi (Ksi Scheme Interpreter), a portable, embeddable Scheme implementation written in C. Ksi provides a machine independent execution platform that can be linked in as a library when building extensible programs. And what is more important it is not a Guile. :-)