./lang/ksi, Portable, embeddable Scheme implementation written in C

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

Branch: CURRENT, Version: 3.9.0nb2, Package name: ksi-3.9.0nb2, Maintainer: pkgsrc-users

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. :-)

Required to run:
[devel/gmp] [devel/boehm-gc] [devel/readline]

Required to build:

Master sites:

SHA1: ee24486793f23f48f4a2e848db4ab58282e3a39c
RMD160: c8edf574c42448ed50887322a5fd7d1d13e94803
Filesize: 478.122 KB

Version history: (Expand)

CVS history: (Expand)

   2020-01-19 00:36:14 by Roland Illig | Files touched by this commit (3046)
Log message:
all: migrate several HOMEPAGEs to https

pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
   2015-11-03 23:50:46 by Alistair G. Crooks | Files touched by this commit (194)
Log message:
Add SHA512 digests for distfiles for lang category

Problems found with existing digests:
	Package nhc98 distfile nhc98src-1.22.tar.gz
	a8adc8f22371998ee0657bc0e01058a57d876abc [recorded]
	81975fcb5f1dda5efeaabc30ce8c6dceae55e591 [calculated]

Problems found locating distfiles:
	Package gcc-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package ghc7: missing distfile ghc-7.6.3-boot-i386-unknown-freebsd.tar.xz
	Package icc11: missing distfile l_cproc_p_11.1.080.tgz
	Package jini: missing distfile jini-1_2_1_001-src.zip
	Package oo2c: missing distfile oo2c_32-2.0.11.tar.bz2
	Package openjdk7: missing distfile \ 
	Package openjdk7: missing distfile \ 
	Package openjdk7: missing distfile \ 
	Package openjdk7: missing distfile \ 
	Package openjdk7: missing distfile \ 
	Package openjdk7: missing distfile \ 
	Package openjdk8: missing distfile \ 
	Package openjdk8: missing distfile \ 
	Package openjdk8: missing distfile \ 
	Package openjdk8: missing distfile \ 
	Package openjdk8: missing distfile \ 
	Package openjdk8: missing distfile \ 
	Package oracle-jdk8: missing distfile jdk-8u60-linux-i586.tar.gz
	Package oracle-jdk8: missing distfile jdk-8u60-solaris-x64.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-linux-i586.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-solaris-x64.tar.gz
	Package sun-jdk6: missing distfile jdk-6u45-linux-i586.bin
	Package sun-jdk6: missing distfile jdk-6u45-solaris-i586.sh
	Package sun-jdk7: missing distfile jdk-7u72-linux-i586.tar.gz
	Package sun-jdk7: missing distfile jdk-7u72-solaris-i586.tar.gz
	Package sun-jre6: missing distfile jce_policy-6.zip
	Package sun-jre6: missing distfile jre-6u45-linux-x64.bin
	Package sun-jre6: missing distfile jre-6u45-solaris-x64.sh
	Package sun-jre7: missing distfile jre-7u72-linux-i586.tar.gz
	Package sun-jre7: missing distfile jre-7u72-solaris-i586.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2014-04-30 16:19:42 by Thomas Klausner | Files touched by this commit (24) | Package updated
Log message:
Bump PKGREVISION for boehm-gc default-on threads, just to be on
the safe side.
   2014-04-21 15:25:55 by Thomas Klausner | Files touched by this commit (24)
Log message:
recursive bump for boehm-gc API bump
   2013-07-15 04:02:29 by Ryo ONODERA | Files touched by this commit (177)
Log message:
* .include "../../devel/readline/buildlink3.mk" with USE_GNU_READLINE=yes
  are replaced with .include "../../devel/readline/buildlink3.mk", and
  USE_GNU_READLINE are removed,

* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
  are replaced with .include "../../mk/readline.buildlink3.mk".
   2013-04-06 22:27:30 by Blue Rats | Files touched by this commit (94)
Log message:
"INFO_FILES should be set to YES or yes."
"Packages that install info files should set INFO_FILES."
Makefile and PLIST warning, respectively.
   2012-10-02 22:11:57 by Aleksej Saushev | Files touched by this commit (187)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
   2010-08-12 11:27:54 by Aleksej Saushev | Files touched by this commit (3) | Package updated
Log message:
Update to KSi 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 \ 
  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 \ 
  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 \ 
  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 \ 
  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 \ 
 and "#!keyword-postfix" switches the reader back to postfix mode.

* By default, the reader do not parses the old ksi keyword notation, such as \ 
 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 \ 


* bugfixes

* (Windows) ksi dll name has version info now.


* code refactoring