david135 / sagittarius-scheme Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/sagittarius-scheme
License: Other
Automatically exported from code.google.com/p/sagittarius-scheme
License: Other
Can you add the following to the README file?
<readme>
After a successful compilation (of both the binary targets and the
documentation), it is possible to install Sagittarius to the default system
location with the command:
$ make install
or to a temporary location with the command:
$ make install DESTDIR=/path/to/tmpdir
</readme>
Unless I am mistaken: it is not possible to run "make install" successfully if
the documentation is not built with "make doc"; this is not explicitly
mentioned in the README file.
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 5:57
What steps will reproduce the problem?
1. run this script
(import (rnrs))
(define (make-test-binary-port)
(define (read! bv start count)
(bytevector-copy! #vu8(1 2 3 4) 0 bv start count)
count)
(define (write! bv start count)
(let loop ((i 0))
(unless (= i count)
(display (bytevector-u8-ref bv (+ start i)))
(loop (+ i 1))))
count)
(make-custom-binary-input/output-port "test port" read! write! #f #f #f))
(let* ((bin (make-test-binary-port))
(tin (transcoded-port bin (native-transcoder))))
(display "test" tin))
What is the expected output?
116101115116
What do you see instead?
core dump
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 12 May 2012 at 3:30
What steps will reproduce the problem?
#!r6rs
(import (rnrs))
(define (test)
(define-syntax define-inline
(syntax-rules ()
((_ (?name ?arg ...) ?form0 ?form ...)
(define-syntax ?name
(syntax-rules ()
((_ ?arg ...)
(begin ?form0 ?form ...)))))))
(let ((a 1))
(define-inline (ret-a) a)
(ret-a))
)
(display (test)) (newline)
What is the expected output? What do you see instead?
1
&assertion
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 22 Oct 2012 at 11:07
What steps will reproduce the problem?
#< (sagittarius regex) >
#!r7rs
#/regex/
What is the expected output? What do you see instead?
&lexical must be thrown
Returns pattern object.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 3 Sep 2012 at 7:23
Since SRFI-14 is used in a lot of libraries, it is better to be implemented in
C. Plus we can implement charset class in regular expression extension.
It does not have to be implemented all SRFI-14 feature in C, however it must
have basic operations for charset.
Original issue reported on code.google.com by [email protected]
on 13 Nov 2011 at 1:43
What steps will reproduce the problem?
1. install libffi to /usr/local
2. run build process
What is the expected output? What do you see instead?
ffi.h should be found
trying to use bundled libffi.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 20 Oct 2012 at 7:57
What steps will reproduce the problem?
read this list '(|.| a)
What is the expected output? What do you see instead?
read it properly but got SIGSEGV
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 18 Jan 2012 at 8:15
What steps will reproduce the problem?
;; foo.scm
(library (foo)
(export make-html-element)
(import (rnrs) (sagittarius control))
(define make-html-element (with-library (test html-lite) make-html-element))
)
;; main.scm
(import (foo))
Run main.scm twise.
What is the expected output? What do you see instead?
It works fine but it causes breaking cache message below.
*warning* unknown tag appeared. tag: 3, file:
${path-of-home}/.sagittarius/0.3.6/i686-pc-cygwin/${cache-file-name}_scm.cache,
pos:
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 5 Oct 2012 at 8:49
What steps will reproduce the problem?
Pre-condition:
* ODBC must be supported
* Using oracle XE
* Table must there
Try to update non existing record with (dbi) library.
What is the expected output? What do you see instead?
Nothing happens.
&odbc-error without any message.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 2 Nov 2012 at 12:55
What steps will reproduce the problem?
(list-sort < '())
What is the expected output? What do you see instead?
()
&assertion
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 1 Oct 2012 at 9:03
Even though we have find-files procedure but it is better to have some builtin
procedures to find files.
Rationale,
For developing, it's really inconvenient to pass all load paths with option
'-L'. For example, socket, thread and time need to be loaded then the command
will be like this;
sash -Llib -Lsitelib -Lext/socket -Lext/thread -Lext/time
But if I could write it like this;
sash -L'*' -L'ext/*'
It is much easier.
Original issue reported on code.google.com by [email protected]
on 2 Nov 2012 at 12:31
What steps will reproduce the problem?
(define v (vector 1 2 3))
(vector-set! v 0 v)
(vector-set! v 1 v)
(equal-hash v)
What is the expected output?
hash value
What do you see instead?
hanged up
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 3 Jan 2012 at 2:52
What steps will reproduce the problem?
(define a #(1 2 3))
(define b #(1 2 3))
(vector-reverse! a)
(print b)
What is the expected output? What do you see instead?
&assertion
#(3 2 1)
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 21 Sep 2012 at 1:14
FFI doesn't support to get address of the pointer.
However in real world libraries sometimes require to pass address' of pointer,
for example;
int create_object(void **dst);
This type of procedure is everywhere.
So it is better to support to get pointer's address.
Original issue reported on code.google.com by [email protected]
on 4 Nov 2012 at 10:49
This causes error.
((let ((G (lambda (K L)
(print K L))))
G) 0 1)
CONSTI_PUSH instruction overwrites vm->ac.
Original issue reported on code.google.com by [email protected]
on 10 May 2012 at 1:22
I see that Sagittarius does some form of caching of libraries; this is not
explicitly mentioned in the documentation. I would like to find there: a brief
description of the caching feature (are cached libraries marked as outdated by
comparing last modification times, or are there other criteria?); the name of
the user directory under which the cache is created; mention of the command
used purge the cache (is it enough to just remove files with operating system
commands?).
Is it possible to just precompile libraries without running an program? Is it
fine to precompile libraries by importing them into a program like:
#!r6rs
(import (only (the-library-1))
(only (the-library-2)))
and then running this "empty" program, with or without special command line
switches? (This is what Vicare Scheme does.)
Also, is it possible to have multiple cache directories, a system wide one and
a user specific one? Vicare Scheme does this to allow the following behaviour:
at package installation time (under GNU+Linux) the libraries are precompiled
under a cache directory "/var/cache/vicare-scheme", so they are available to
all the users; then a user can select a directory under which to store
user-specific the user specific cache. At run time Vicare checks an ordered
list of cache directories and loads the first precompiled library found.
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 9:35
On Linux I see "libsagittarius.so" installed both under "$prefix/lib" and
"$prefix/bin"; they appear to be two copies of the same file. Is the copy
under "bin" actually needed? On Linux binary libraries should go only under
"lib".
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 6:19
The following code prints #<null>
(let ((x (get-dispatch-macro-character #\# #\!)))
(print (x (open-string-input-port "!r6rs") #\! #f)))
However this is only for safe printing mechanism and should not be shown
anywhere. If the builtin reader returned NULL then the procedure should return
unspecified value.
Original issue reported on code.google.com by [email protected]
on 27 Sep 2012 at 9:10
What steps will reproduce the problem?
(define ht (make-hashtable equal-hash equal?))
(hashtable-set! ht #vu8(1 2) 'ok)
(hashtable-ref ht #vu8(1 2) #f)
What is the expected output?
ok
What do you see instead?
#f
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 3 Jan 2012 at 2:55
Sorry, but despite the fact that I have only a superficial knowledge of
English, I am a bit of a grammar nazi.
In "ext/ffi/CMakeLists.txt" you mean "Sagittarius uses bundled libffi", not
"bandled"?
There are so many problems in the readme file that I have attached a revised
version; not everything that needs to be fixed is fixed in this revision.
Original issue reported on code.google.com by [email protected]
on 20 Oct 2012 at 11:23
What steps will reproduce the problem?
1. Install Sagittarius changeset 1046:8e0cfee01e28.
2. Download the infix package from:
<http://github.com/marcomaggi/infix>
3. Run the following:
$ cd path/to/infix
$ make stest
What is the expected output? What do you see instead?
It should run the test suite just fine. I segfaults:
$ make stest
sash -L/home/marco/src/devel/scheme/infix ./tests/test-infix.sps
make: *** [stest] Segmentation fault
What version of the product are you using? On what operating system?
The head of the default branch. i686-pc-linux-gnu, GCC 4.6.2.
Please provide any additional information below.
Thanks for adding support for ".sls" libraries.
Original issue reported on code.google.com by [email protected]
on 22 Oct 2012 at 5:44
(library (problem)
(export loop)
(import (rnrs))
(define-syntax loop
(lambda (x)
(syntax-case x ()
[(k e ...)
(with-syntax
([break (datum->syntax #'k 'break)])
#'(call-with-current-continuation
(lambda (break)
(let f () e ... (f)))))])))
)
(let ((n 3) (ls '()))
(loop
(if (= n 0) (break ls))
(set! ls (cons 'a ls))
(set! n (- n 1))))
Memo:
Currently macro expansion replace pattern variable if expanded expression has
it. However, once it defined in library, identifier object can have its library
information then identifier=? can not return #t.
Original issue reported on code.google.com by [email protected]
on 16 Mar 2012 at 4:10
It would be kind to put in the README a brief guide on how to follow
development by pulling changes from the repository into a local copy, for
non-hg users. Which one is the master branch? Once the repository has been
cloned, how does one pulls changes? How does one list the log messages for the
latest changes to see what's new?
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 6:24
The configuration infrastructure fails to find "clock_gettime()" on my
GNU+Linux system; this is because such function is implemented by the "rt"
library. Just link with that library and the problem should go away.
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 11:49
What steps will reproduce the problem?
(library (lib1)
(export v1 v2)
(import (rnrs))
(define v1 1)
(define v2 2))
(library (lib2)
(export v1:v v2 v1:v2)
(import (rnrs) (prefix (rename (lib1) (v1 v)) v1:))
(define v2 2))
(import (rnrs) (lib2))
(display v1:v) (newline)
(display v1:v2) (newline)
What is the expected output? What do you see instead?
1
2
&assertion: unbound varialbe v1:v2
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 4 Sep 2012 at 3:02
(cond-features) currently returns mutable list and it can be modified with
set-car!, set-cdr! or append!.
Original issue reported on code.google.com by [email protected]
on 14 Sep 2012 at 1:54
What steps will reproduce the problem?
1. Run the following code
(import (math))
(define prng (pseudo-random SOBER-128))
What is the expected output? What do you see instead?
It raised &error
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 24 Aug 2012 at 7:54
Current socket APIs can not handle lower layer operation, such as non-blocking
socket.
It is better to have BSD style APIs and select procedure to be able to write
lower socket programmes.
Original issue reported on code.google.com by [email protected]
on 22 Oct 2012 at 8:42
The README states that it is possible to build Sagittarius by running "cmake"
from a directory that is not the top source; fine. It would be better to show
explicitly how to do this with some sample commands; example:
<readme>
It is possible to build Sagittarius in a directory that is not the top source
directory of the distributed package (out-of-tree building); for example:
$ cd sagittarius-0.3.7
$ mkdir build
$ cd build
$ cmake ..
$ make
</readme>
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 6:13
What steps will reproduce the problem?
(format "~,,,,10:a" '(a b c d e f g))
What is the expected output? What do you see instead?
expect: "(a b c d e f g)"
result: ""
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 13 Jul 2012 at 7:02
Consider this program:
(import (sagittarius socket))
(let* ((s (make-client-socket "www.example.org" "80"))
(p (socket-port s)))
(put-bytevector p (string->utf8 "GET / HTTP/1.0\r\n\r\n"))
(flush-output-port p)
(get-bytevector-all p))
I expect get-bytevector-all to return a bytevector with the server's response,
but instead it returns #<eof>.
Tested with version 0.3.7 on Debian GNU/Linux amd64 wheezy.
Original issue reported on code.google.com by [email protected]
on 4 Nov 2012 at 4:30
The documentation does not explain how one writes libraries to be used by
Sagittarius. How do I name the files? What is the default search path? What
is the default file extension? Is it possible to put more LIBRARY forms in a
single file? You can look at [1] for an example of how to do it.
It has become customary for R6RS implementations, to allow the user to specify
".sls" as library extension. It appears that there is no way to do it under
Sagittarius. Without this I will not be able to attempt to port my code.
Also, an implementation should support an implementation-specific library file
extension that is prioritised with respect to the others.
For example: Vicare Scheme searches for ".sls" and ".vicare.sls" files; when it
finds both "lists.sls" and "lists.vicare.sls" it loads "lists.vicare.sls"
because it is Vicare-specific. Sagittarius could do the same with ".sls" and
".sagittarius.sls" file extensions.
[1] <http://marcomaggi.github.com/docs/vicare.html/using-libraries.html>
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 6:08
What steps will reproduce the problem?
1. Run this code
(import (srfi :42))
(apply values (list-ec (: x 15000) (* x x)))
(list-ec (: 100) (* x x))
What is the expected output? What do you see instead?
Ends normally, but got SEGV
Please use labels and text to provide additional information.
This is because APPLY instruction tries to push all arguments and does not
check current stack position or if it causes overflow. As a result, it
overwrite somewhere we don't want to.
Original issue reported on code.google.com by [email protected]
on 20 Jun 2012 at 3:24
What steps will reproduce the problem?
In syntax-case, call-next-method can not be called from define-method's body.
It raises &assertion with message unbound variable call-next-method.
What is the expected output?
Must be able to call.
What do you see instead?
&assertion
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 18 Apr 2012 at 7:35
What steps will reproduce the problem?
(import (rnrs))
(let ((a (list 'a 'b 'c)))
(let-syntax ((test (syntax-rules ()
((_ o)
(begin
(display o)
(test)))
((_ o1 o2 ...)
(begin
(display o1)
(test o2 ...)))
((_) (newline)))))
(test a 'b 'c 'd)))
;; -> &assertion
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 23 Jan 2012 at 8:01
What steps will reproduce the problem?
compile (lambda ()) or (begin)
What is the expected output? What do you see instead?
The first form I need to think whether or not syntax error.
The second form must return unspecified value.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 24 Jun 2012 at 12:08
What steps will reproduce the problem?
(define-syntax let/scope
(lambda(x)
(syntax-case x ()
((k scope-name body ...)
#'(let-syntax
((scope-name
(lambda(x)
(syntax-case x ()
((_ b (... ...))
#`(begin
#,@(datum->syntax #'k
(syntax->datum #'(b (... ...))))))))))
body ...)))))
(let ((x 1))
(let/scope d1
(let ((x 2))
(let/scope d2
(let ((x 3))
(list (d1 x) (d2 x) x)))))) ;; -> (1 1 2)
What is the expected output? What do you see instead?
(1 2 3)
Please use labels and text to provide additional information.
syntax-case does not work as it suppose to be.
Original issue reported on code.google.com by [email protected]
on 13 Nov 2011 at 1:26
What steps will reproduce the problem?
1. run the script below
(define a '(a b c))
(define b '(a b c))
(append! a '(d e))
What is the expected output? What do you see instead?
&assertion
'(a b c d e) and b also got changed.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 14 Sep 2012 at 1:17
Reader does not read "\x0;" properly.
What is the expected output?
"\x0;"
What do you see instead?
""
Original issue reported on code.google.com by [email protected]
on 5 Apr 2012 at 7:12
What steps will reproduce the problem?
(bytevector-s32-native-set! (make-bytevector 4) 0 -1)
What is the expected output? What do you see instead?
set -1 in bytevector properly.
&assertion was raised.
Please use labels and text to provide additional information.
The range check should not be there for fixnum value.
Original issue reported on code.google.com by [email protected]
on 3 Jul 2012 at 5:27
What steps will reproduce the problem?
(define (make-custom-input-port in)
(define (read! s start count)
(get-string-n! in s start count))
(define (close) (close-input-port in))
(make-custom-textual-input-port "test" read! #f #f close))
(read-delimited-list
#\) (make-custom-input-port (open-string-input-port "1)")))
What is the expected output? What do you see instead?
(1)
Got C level ASSERT failure.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 28 Aug 2012 at 2:07
What steps will reproduce the problem?
1. Creates a library with renaming export.
2. Imports the library.
3. Refers the variable, and it raises &assertion
Simplest code:
(library (test)
(export (rename test a:test))
(import (rnrs))
(define test 'test)
)
(import (test))
a:test ;; -> &assertion
What is the expected output? What do you see instead?
Should return symbol 'test'
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 13 Nov 2011 at 1:27
It would help, especially when preparing uniform makefile rules, to be able to
extend Sagittarius' library search path through an OS environment variable with
colon separated values, as in PATH; for example SAGITTARIUS_LIBRARY_PATH.
Original issue reported on code.google.com by [email protected]
on 22 Oct 2012 at 6:00
If define-library has cond-expand in it, it raises error.
Original issue reported on code.google.com by [email protected]
on 18 Mar 2012 at 3:03
What steps will reproduce the problem?
(library (foo)
(export bar)
(import (rnrs))
(define (problem) (display 'ok) (newline))
(define-syntax bar
(lambda (x)
(define (dummy)
`(,(datum->syntax #'bar 'problem)))
(syntax-case x ()
((k) (dummy)))))
)
(import (rnrs) (foo))
(bar)
What is the expected output? What do you see instead?
ok
&assertion: unbound variable problem
Please use labels and text to provide additional information.
#'bar resolves identifier which does not have (foo) library in it but "user".
Original issue reported on code.google.com by [email protected]
on 5 Sep 2012 at 5:54
It is better to have treemap interface and implementation to implement builtin
charset.
It should be as flexible as possible. So user can use both C implementation and
Scheme implementation.
Original issue reported on code.google.com by [email protected]
on 13 Nov 2011 at 1:40
What steps will reproduce the problem?
(define-syntax loop
(lambda (x)
(syntax-case x ()
[(k e ...)
(with-syntax
([break (datum->syntax #'k 'break)])
#'(call-with-current-continuation
(lambda (break)
(let f () e ... (f)))))])))
(let ((n 3) (ls '()))
(loop
(if (= n 0) (break ls))
(set! ls (cons 'a ls))
(set! n (- n 1))))
What is the expected output?
'(a a a)
What do you see instead?
&assertion
Please use labels and text to provide additional information.
on R6RS test suite it passes.
This is the issue which I always try to solve. Patten variable and template
corresponding staff. Currently, macro expander try not to replace pattern
variable if the target variable is a pattern variable. However it does not work
properly.
Original issue reported on code.google.com by [email protected]
on 4 Jan 2012 at 4:38
What steps will reproduce the problem?
(create-symbolic-link "foo")
(file-symbolic-link? "foo")
What is the expected output? What do you see instead?
#t
#f
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 1 Oct 2012 at 9:25
It would really improve the experience to browse a multi-file documentation.
Original issue reported on code.google.com by [email protected]
on 21 Oct 2012 at 6:15
It throws range error.
Original issue reported on code.google.com by [email protected]
on 6 Apr 2012 at 1:18
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.