Up to [cvs.netbsd.org] / pkgsrc / lang / ksi
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.6 / (download) - annotate - [select for diffs], Thu Aug 12 09:27:54 2010 UTC (21 months, 1 week ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2012Q1-base,
pkgsrc-2012Q1,
pkgsrc-2011Q4-base,
pkgsrc-2011Q4,
pkgsrc-2011Q3-base,
pkgsrc-2011Q3,
pkgsrc-2011Q2-base,
pkgsrc-2011Q2,
pkgsrc-2011Q1-base,
pkgsrc-2011Q1,
pkgsrc-2010Q4-base,
pkgsrc-2010Q4,
pkgsrc-2010Q3-base,
pkgsrc-2010Q3,
HEAD
Changes since 1.5: +30 -36
lines
Diff to previous 1.5 (colored)
Update to KSi 3.9.0
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
Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 14 18:03:35 2009 UTC (2 years, 11 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2010Q2-base,
pkgsrc-2010Q2,
pkgsrc-2010Q1-base,
pkgsrc-2010Q1,
pkgsrc-2009Q4-base,
pkgsrc-2009Q4,
pkgsrc-2009Q3-base,
pkgsrc-2009Q3,
pkgsrc-2009Q2-base,
pkgsrc-2009Q2
Changes since 1.4: +1 -8
lines
Diff to previous 1.4 (colored)
Remove @dirrm entries from PLISTs
Revision 1.4 / (download) - annotate - [select for diffs], Wed Apr 5 06:27:41 2006 UTC (6 years, 1 month ago) by jlam
Branch: MAIN
CVS Tags: pkgsrc-2009Q1-base,
pkgsrc-2009Q1,
pkgsrc-2008Q4-base,
pkgsrc-2008Q4,
pkgsrc-2008Q3-base,
pkgsrc-2008Q3,
pkgsrc-2008Q2-base,
pkgsrc-2008Q2,
pkgsrc-2008Q1-base,
pkgsrc-2008Q1,
pkgsrc-2007Q4-base,
pkgsrc-2007Q4,
pkgsrc-2007Q3-base,
pkgsrc-2007Q3,
pkgsrc-2007Q2-base,
pkgsrc-2007Q2,
pkgsrc-2007Q1-base,
pkgsrc-2007Q1,
pkgsrc-2006Q4-base,
pkgsrc-2006Q4,
pkgsrc-2006Q3-base,
pkgsrc-2006Q3,
pkgsrc-2006Q2-base,
pkgsrc-2006Q2,
cwrapper,
cube-native-xorg-base,
cube-native-xorg
Changes since 1.3: +4 -1
lines
Diff to previous 1.3 (colored)
List the info files directly in the PLIST, and honor PKGINFODIR and PKGMANDIR.
Revision 1.3 / (download) - annotate - [select for diffs], Wed Sep 22 08:09:39 2004 UTC (7 years, 8 months ago) by jlam
Branch: MAIN
CVS Tags: pkgsrc-2006Q1-base,
pkgsrc-2006Q1,
pkgsrc-2005Q4-base,
pkgsrc-2005Q4,
pkgsrc-2005Q3-base,
pkgsrc-2005Q3,
pkgsrc-2005Q2-base,
pkgsrc-2005Q2,
pkgsrc-2005Q1-base,
pkgsrc-2005Q1,
pkgsrc-2004Q4-base,
pkgsrc-2004Q4
Changes since 1.2: +1 -13
lines
Diff to previous 1.2 (colored)
Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST. 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".
Revision 1.2 / (download) - annotate - [select for diffs], Mon Jan 12 21:50:07 2004 UTC (8 years, 4 months ago) by kristerw
Branch: MAIN
CVS Tags: pkgsrc-2004Q3-base,
pkgsrc-2004Q3,
pkgsrc-2004Q2-base,
pkgsrc-2004Q2,
pkgsrc-2004Q1-base,
pkgsrc-2004Q1
Changes since 1.1: +0 -21
lines
Diff to previous 1.1 (colored)
The package was marked broken because it kept throwing SIGSEGV due to using an old boehm-gc that does not work on NetBSD. Unbreak it by changing it to use the devel/boehm-gc package. PKGREVISION++.
Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sat Aug 30 21:23:43 2003 UTC (8 years, 8 months ago) by jtb
Branch: TNF
CVS Tags: pkgsrc-base,
pkgsrc-2003Q4-base,
pkgsrc-2003Q4
Changes since 1.1: +0 -0
lines
Diff to previous 1.1 (colored)
Initial import of ksi. 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. :-)
Revision 1.1 / (download) - annotate - [select for diffs], Sat Aug 30 21:23:43 2003 UTC (8 years, 8 months ago) by jtb
Branch: MAIN
Initial revision