Git Product home page Git Product logo

mosh-scheme's People

Watchers

 avatar

mosh-scheme's Issues

feature request: multiple libraries and a top-level program into a single sourde file

Ypsilon and Ikarus can deal with a single source file contains multiple 
libraries and a top-level 
program like below:

;;;; quux.ss
(library (foo)
  (export f)
  (import (rnrs))

  (define f 0))

(library (bar)
  (export g)
  (import (rnrs))

  (define g 1))

(import (rnrs) (foo) (bar))
;; top-level program goes here
...

;;; [eof]

Mosh now raises conditions for an above file:
 Condition components:
   1. &assertion
   2. &who: expander
   3. &message: "top-level program is missing an (import ---) clause"
   4. &irritants: ()

A file of such the structure is very useful for daily kldgey programs. Could 
mosh support such 
the format of programs?

Original issue reported on code.google.com by [email protected] on 21 Jan 2009 at 10:45

mosh crashes with `@'

What steps will reproduce the problem?
In REPL,
mosh>@
   1. &assertion
   2. &who: "eval"
   3. &message: "unbound variable"
   4. &irritants: ASSERT failure Symbol.cpp:78: memcmp(savedName_, name_, text.size()) == 0

What is the expected output? What do you see instead?
`@' is not valid symbol. &lexical exception must be raised.

What version of the product are you using? On what operating system?
mosh-0.0.7 on MacOSX 10.4.11



Original issue reported on code.google.com by [email protected] on 7 Dec 2008 at 6:18

INFINITE? does not accept complex numbers

What steps will reproduce the problem?
1. (infinite? 1+2i) 
2. (infinite? (+ +inf.0 2i))

What is the expected output? What do you see instead?
#f and #t, but an error is raised

What version of the product are you using? On what operating system?
mosh checkout 963 (more or less), i686-pc-linux-gnu

Original issue reported on code.google.com by [email protected] on 13 Jan 2009 at 12:33

reference manual with IE6 is white page

What steps will reproduce the problem?
1. see mosh.monaos.org/top.html


What is the expected output? What do you see instead?


Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 14 May 2008 at 2:22

Installing monar completed, but ./configure has included some errors.

Reported by kz.nishikawa, Today (14 hours ago)

This is error log.

$ grep -i error config.log
conftest.c:10:28: error: ac_nonexistent.h: No such file or directory
conftest.c:10:28: error: ac_nonexistent.h: No such file or directory
conftest.c:65: error: size of array 'test_array' is negative


Delete comment
Comment 1 by higepon, Today (14 hours ago)

Thanks.
What is your g++ --version and uname -ar

Status: Started
Delete comment
Comment 2 by kz.nishikawa, Today (10 hours ago)

Sorry, I've forgotten that. Here is it.

$ uname -ar
Linux ubuntu 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
GNU/Linux

$ g++ --version
g++ (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Original issue reported on code.google.com by [email protected] on 14 May 2008 at 2:38

(+) and (*) cause an error.

What steps will reproduce the problem?
(+)
→
  Error:
    error : (+ " got too few argment")
zsh: bus error  ./mosh ~/tmp/hoge.scm

(*)
→
  Error:
    error : (* " got too few argment")
zsh: bus error  ./mosh ~/tmp/hoge.scm

What is the expected output? What do you see instead?
They must be 0 and 1, respectively.

What version of the product are you using? On what operating system?
Mosh 0.0.2
MacOSX 10.4.11
% uname -a
Darwin xxx 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; 
root:xnu-
792.25.20~1/RELEASE_I386 i386 i386


Original issue reported on code.google.com by [email protected] on 14 May 2008 at 3:54

Integer modulo operation with negative dividend.

What steps will reproduce the problem?
mosh>(mod -123 10)
-3
mosh>(mod -123 -10)
-3

What is the expected output? What do you see instead?
Both of them must be 7 (See R6RS 11.7.3.1).

What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 

Please provide any additional information below.
Now we lack div, div0, and mod0.


Original issue reported on code.google.com by [email protected] on 20 May 2008 at 6:25

importing library, environment variables and file suffixes

It would really help me in using Mosh if the
library search path could be extended by
a ":" separated list of directories from an
environment variable. I see that there is a
MOSH_LIB_PATH in the sources, but it looks
like it is not used yet?

Also, other Schemes like Ypsilon, Ikarus and
Larceny support selection of libraries using
an implementation specific file suffix. That is,
when the following file hierarchy exists:

<lib>/uriel/lang/compat.ikarus.sls
<lib>/uriel/lang/compat.larceny.sls
<lib>/uriel/lang/compat.ypsilon.sls

and we import "(uriel lang compat)" the
implementation loads its own file, ignoring
the others. Can Mosh support this with a
".mosh.sls" suffix?

Thanks.

Original issue reported on code.google.com by [email protected] on 3 Jan 2009 at 6:37

named let malfunction

What steps will reproduce the problem?
1. (define (foo n) (let loop ((n n)) (cond ((null? n)) (else (loop (cdr n))))))

What is the expected output?
expected #t

What do you see instead?
got #f

What version of the product are you using?
trunk (mosh-scheme-read-only)

On what operating system?
Linux ubuntu-core2 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008
i686 GNU/Linux
gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Please provide any additional information below.
gambatte kudasai ^_-b

Original issue reported on code.google.com by [email protected] on 14 May 2008 at 1:35

raising a non-condition objects raises weird condition

What steps will reproduce the problem?
(raise 1)

What is the expected output? What do you see instead?
On top-level:
Exception:
    error in raise: unhandled exception has occurred
#<compound-condition #<record &assertion > #<record &who "record-rtd" > 
#<record 
&message "record required, but got 1" > #<record &irritants () > >

In REPL:
 Condition components:
   1. &assertion
   2. &who: "record-rtd"
   3. &message: "record required, but got 1"
   4. &irritants: ()

These conditions are raised by the implementation, not by the user. I did raise 
1, and it was not 
handled anywhere, so the 1 should be handled by the top-level exception 
handler, nonetheless, 
&assertion condition was raised for violating argument assertion of record-rtd.

What version of the product are you using? On what operating system?
mosh rev. 991 on MacOSX 10.4.11



Original issue reported on code.google.com by [email protected] on 29 Jan 2009 at 8:34

failed build with mosh-911

What steps will reproduce the problem?
1. configure
2. make

What is the expected output? What do you see instead?
When generating "psyntax.scmc" an error is raised:
gosh: "error": unbound variable: eq-hashtable-copy

What version of the product are you using? On what operating system?
i686-pc-linux-gnu mosh-911 gauche-0.8.14

Original issue reported on code.google.com by [email protected] on 1 Jan 2009 at 4:24

named-let's <variable> can be referred in its <bindings>.

What steps will reproduce the problem?
mosh>(let loop ((i (loop i)) (+ i 1)) 
-> infinite loop
^C

What is the expected output? What do you see instead?
Above expression is now expanded to:
(letrec ((loop (lambda (i) (+ i 1))))
  (loop (loop i)))

It should be:
((letrec ((loop (lambda (i) (+ i 1))))
   loop) (loop i)) => exception

(See also R6RS Appendix B.)


What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 


Original issue reported on code.google.com by [email protected] on 24 May 2008 at 7:44

cannot use nested comment

What steps will reproduce the problem?
Run the code below.

(import (rnrs))

(define v 0)
#| #|
|#
(define v 1)
|#

(display v)
(newline)

What is the expected output? What do you see instead?

0 should be displayed, but &syntax condition is raised.
 Condition components:
   1. &who: v
   2. &message: "multiple definitions of identifier"
   3. &syntax:       form: v       subform: #f
   4. &trace: #<record stx >
ASSERT failure VM.cpp:1764: false


What version of the product are you using? On what operating system?

mosh trunk revision 875 on MacOSX 10.4.11


Original issue reported on code.google.com by [email protected] on 25 Dec 2008 at 5:28

memory usage

hi

high memory usage while compiling psyntax.cpp (and it's still not finished
at 600M)

g++ -DHAVE_CONFIG_H -I. -I ./gc-7.1alpha3/include -I ./onig-5.7.0  
-fomit-frame-pointer -D MONA_SCHEME -D USE_BOEHM_GC -Wall -D
MOSH_LIB_PATH="\"/usr/share/mosh\""  -O2 -march=i486 -O0 -MT
libpsyntax_a-psyntax.o -MD -MP -MF .deps/libpsyntax_a-psyntax.Tpo -c -o
libpsyntax_a-psyntax.o `test -f 'psyntax.cpp' || echo './'`psyntax.cpp


top - 22:37:53 up 2 days,  7:06,  0 users,  load average: 3.54, 3.42, 3.27
Tasks: 115 total,   6 running, 109 sleeping,   0 stopped,   0 zombie
Cpu(s): 91.0%us,  7.6%sy,  1.3%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    900612k total,   878300k used,    22312k free,     6432k buffers
Swap:        0k total,        0k used,        0k free,   147456k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND      

31762 root      20   0  556m 548m 2820 R 68.5 62.4  10:12.75 cc1plus      

Original issue reported on code.google.com by [email protected] on 29 Aug 2008 at 10:35

cannot read back some of written data

What steps will reproduce the problem?
Some of the examples in http://tips.lisp-
users.org/scheme/index.cgi?%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e8%aa%ad%e3%81%b
f%e6%9b%b8%e3%81%8d%e3%81%99%e3%82%8b (in Japanese) do not work.

What version of the product are you using? On what operating system?
mosh trunk revision 873 on MacOSX 10.4.11


Please provide any additional information below.

R6RS (4.2.6 Characters) says: "The #\newline notation is retained for backward 
compatibility. Its 
use is deprecated; #\linefeed should be used instead."
The output notation should follow this too.

Original issue reported on code.google.com by [email protected] on 24 Dec 2008 at 7:37

guard should allow definitions in its body

Quoting from comp.lang.scheme:

From: William D Clinger
Subject: Re: definitions in the body of GUARD

Marco Maggi wrote:
> Ypsilon and Larceny allow definitions in the
> body of a GUARD...while Ikarus and Mosh disallow them.

If so, then that's a (minor) bug in Ikarus and Mosh.

> R6RS says nothing explicitly.

Untrue.  R6RS library section 7.1 says the syntax for
guard is

    (guard (<variable>
            <cond clause> <cond clause> ...)
      <body>)

R6RS section 11.3 says the syntax for <body> is

    <definition> ... <expression> <expression> ...

So definitions are definitely allowed in the body
of a guard.

Original issue reported on code.google.com by [email protected] on 2 Jan 2009 at 9:41

Can not make on cygwin

What steps will reproduce the problem?
1. ./configure
2. cd gc-7.1alpha3; ./configure --disable-shared
3. make

What is the expected output? What do you see instead?
Messages:
g++ -O2 -fomit-frame-pointer -D MONA_SCHEME -D USE_BOEHM_GC -Wall -D
MOSH_LIB_PATH="\"/usr/local/share/mosh\""    -o mosh.exe mosh-main.o
mosh-scheme.o mosh-read.o mosh-Port.o mosh-Regexp.o mosh-Symbol.o mosh-VM.o
mosh-freeproc.o ./gc-7.1alpha3/.libs/libgc.a ./onig-5.7.0/.libs/libonig.a
libcompiler.a 
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEEC2EPKlRKS
2_[std::basic_string<long,
std::char_traits<long>, gc_allocator<long>
>::basic_string[not-in-charge](long const*, gc_allocator<long>
const&)]+0x18): undefined reference to `std::char_traits<long>::length(long
const*)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE12_S_cons
tructIPKlEEPlT_S8_RKS2_St20forward_iterator_tag[long*
std::basic_string<long, std::char_traits<long>, gc_allocator<long>
>::_S_construct<long const*>(long const*, long const*, gc_allocator<long>
const&, std::forward_iterator_tag)]+0xbf): undefined reference to
`std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE15_M_repl
ace_safeIPKlEERS3_N9__gnu_cxx17__normal_iteratorIPlS3_EESB_T_SC_[std::basic_stri
ng<long,
std::char_traits<long>, gc_allocator<long> >& std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::_M_replace_safe<long
const*>(__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >, long const*,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >)]+0x8c): undefined reference
to `std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE15_M_repl
ace_safeIN9__gnu_cxx17__normal_iteratorIPlS3_EEEERS3_S8_S8_T_SA_[std::basic_stri
ng<long,
std::char_traits<long>, gc_allocator<long> >& std::basic_string<long,
std::char_traits<long>, gc_allocator<long>
>::_M_replace_safe<__gnu_cxx::__normal_iterator<long*,
std::basic_string<long, std::char_traits<long>, gc_allocator<long> > >
>(__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >)]+0x8c): undefined reference
to `std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE9_M_mutat
eEjjj[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::_M_mutate(unsigned, unsigned,
unsigned)]+0x1ab): undefined reference to
`std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE9_M_mutat
eEjjj[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::_M_mutate(unsigned, unsigned,
unsigned)]+0x1dd): undefined reference to
`std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE9_M_mutat
eEjjj[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::_M_mutate(unsigned, unsigned,
unsigned)]+0x251): undefined reference to
`std::char_traits<long>::move(long*, long const*, unsigned)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE7replaceE
N9__gnu_cxx17__normal_iteratorIPlS3_EES7_jl[std::basic_string<long,
std::char_traits<long>, gc_allocator<long>
>::replace(__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >, unsigned, long)]+0x8b):
undefined reference to `std::char_traits<long>::assign(long*, unsigned, long)'
mosh-main.o:main.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE4_Rep8_M_
cloneERKS2_j[std::basic_string<long,
std::char_traits<long>, gc_allocator<long>
>::_Rep::_M_clone(gc_allocator<long> const&, unsigned)]+0xbc): undefined
reference to `std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-scheme.o:scheme.cpp:(.text+0x24b): undefined reference to
`std::char_traits<long>::compare(long const*, long const*, unsigned)'
mosh-scheme.o:scheme.cpp:(.text+0x512): undefined reference to
`std::char_traits<long>::compare(long const*, long const*, unsigned)'
mosh-scheme.o:scheme.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE12_S_
constructEjlRKS2_[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::_S_construct(unsigned, long,
gc_allocator<long> const&)]+0xe1): undefined reference to
`std::char_traits<long>::assign(long*, unsigned, long)'
mosh-read.o:read.cpp:(.text+0x1797): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-read.o:read.cpp:(.text+0x1b94): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-read.o:read.cpp:(.text+0x2645): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-read.o:read.cpp:(.text+0x2aca): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-read.o:read.cpp:(.text+0x2e63): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-read.o:read.cpp:(.text+0x2ea4): more undefined references to
`std::char_traits<long>::assign(long&, long const&)' follow
mosh-Port.o:Port.cpp:(.text$_ZNKSbIlSt11char_traitsIlE12gc_allocatorIlEE4findElj
[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::find(long, unsigned)
const]+0x45): undefined reference to `std::char_traits<long>::find(long
const*, unsigned, long const&)'
mosh-Regexp.o:Regexp.cpp:(.text+0xc20): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-Regexp.o:Regexp.cpp:(.text+0xdd1): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-Regexp.o:Regexp.cpp:(.text$_ZNSbIlSt11char_traitsIlE12gc_allocatorIlEE12_S_
constructIN9__gnu_cxx17__normal_iteratorIPlS3_EEEES7_T_S9_RKS2_St20forward_itera
tor_tag[long*
std::basic_string<long, std::char_traits<long>, gc_allocator<long>
>::_S_construct<__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >
>(__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >,
__gnu_cxx::__normal_iterator<long*, std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > >, gc_allocator<long> const&,
std::forward_iterator_tag)]+0xf1): undefined reference to
`std::char_traits<long>::copy(long*, long const*, unsigned)'
mosh-VM.o:VM.cpp:(.text+0x757): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-VM.o:VM.cpp:(.text+0x2743): undefined reference to
`std::char_traits<long>::length(long const*)'
mosh-VM.o:VM.cpp:(.text+0x2791): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-VM.o:VM.cpp:(.text+0x8ed6): undefined reference to
`std::char_traits<long>::length(long const*)'
mosh-VM.o:VM.cpp:(.text+0x8fac): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-VM.o:VM.cpp:(.text+0x90cc): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-VM.o:VM.cpp:(.text$_ZStplIlSt11char_traitsIlE12gc_allocatorIlEESbIT_T0_T1_E
PKS4_RKS7_[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> > std::operator+<long,
std::char_traits<long>, gc_allocator<long> >(long const*,
std::basic_string<long, std::char_traits<long>, gc_allocator<long> >
const&)]+0x59): undefined reference to `std::char_traits<long>::length(long
const*)'
mosh-VM.o:VM.cpp:(.text$_ZNKSbIlSt11char_traitsIlE12gc_allocatorIlEE4findEPKljj[
std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::find(long const*, unsigned,
unsigned) const]+0x40): undefined reference to
`std::char_traits<long>::compare(long const*, long const*, unsigned)'
mosh-freeproc.o:freeproc.cpp:(.text+0x1678): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-freeproc.o:freeproc.cpp:(.text+0x3336): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-freeproc.o:freeproc.cpp:(.text+0x3893): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-freeproc.o:freeproc.cpp:(.text+0x3ac1): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-freeproc.o:freeproc.cpp:(.text+0x60aa): undefined reference to
`std::char_traits<long>::assign(long&, long const&)'
mosh-freeproc.o:freeproc.cpp:(.text+0x6860): more undefined references to
`std::char_traits<long>::assign(long&, long const&)' follow
libcompiler.a(libcompiler_a-compiler.o):compiler.cpp:(.text$_ZNSbIlSt11char_trai
tsIlE12gc_allocatorIlEE13_S_copy_charsEPlPKlS6_[std::basic_string<long,
std::char_traits<long>, gc_allocator<long> >::_S_copy_chars(long*, long
const*, long const*)]+0x24): undefined reference to
`std::char_traits<long>::copy(long*, long const*, unsigned)'

What version of the product are you using? On what operating system?
Mosh 0.0.2
Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
Windows XP Professional SP2
% uname -a
CYGWIN_NT-5.1 XXXXX 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin

Original issue reported on code.google.com by [email protected] on 14 May 2008 at 1:15

transcoded-port doesn't work

Run the attached code.  It creates a pipe, which consists of two binary
ports, and then transcodes both of them.  This should create two textual
ports.  Then it attempts to write to one port, and read from the other.

Two issues are visible here:
  1. The textual ports, when printed, are named as "<binary-input-port
...>" and "<binary-output-port ...>", even though the "textual-port?"
predicate displays the correct result.
  2. Attempts to read or write these ports will fail, claiming that the
port is closed.

Additionally, I have found that these ports work, after a fashion, when
used as arguments to the "spawn" procedure. The spawned process can write
to its (non-transcoded) port just fine, and "get-string-all" will return
all output, but attempts to use "get-line" or "get-char" on the output will
fail with the same error seen here.

I would suspect that the main issue here is the pseudo-close procedure. I
am not fully acquainted with the code, but it appears that the issue may be
a combination of the facts that all of the binary port "isClosed()"
procedures return true when it is closed *or* pseudo-closed,
"scheme::getCharEx()" and others in "PortProcedures.cpp" use the
"checkPortIsOpen" macro, which returns an error any time the port is
closed, and the TranscodedPort classes all pass their "isClosed()" calls to
their encapsulated ports.

This suspicion is further supported by the fact that "getStringAllEx()",
which works, *doesn't* contain a call to the "checkPortIsOpen" macro.

I would assume that this bug can be solved by adding another variable to
the transcoded port classes, initializing it to true, setting it false when
the close method is called, and returning that when the class's "isClosed"
method is called.

As for the display error, that also seems to be the result of excessive
delegation, where the transcoded port "toString" procedure simply calls
that of its encapsulated binary port. It is very confusing, and made
debugging significantly harder.

If I have time later today, I may try fixing these errors and see if it works.

Original issue reported on code.google.com by [email protected] on 29 Mar 2009 at 7:51

Attachments:

How to quit repl

What steps will reproduce the problem?
1. how to quit repl
2.
3.

What is the expected output? What do you see instead?


Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 20 May 2008 at 11:27

define returns value

What steps will reproduce the problem?
1. mosh>((define (g n) (if (= n 0) 1 (* n (g (- n 1))))) 5)
2.
3.

What is the expected output? What do you see instead?


Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 20 May 2008 at 11:21

Mosh Scheme does not compile on OpenSolaris 8/11

What steps will reproduce the problem?
1. ./configure
2. make

What is the expected output? What do you see instead?

I see the following:
Making all in .
make[2]: Entering directory `/SPACE/DOWNLOADS/SCHEME/mosh-0.0.7'
g++ -DHAVE_CONFIG_H -I. -I ./gc-7.1alpha3/include -I ./onig-5.7.0   -O3  -D
MONA_SCHEME -D USE_BOEHM_GC -Wall -D
MOSH_LIB_PATH="\"/SPACE/SOFTWARE/SCHEME/mosh007/share/mosh\"" -g
-fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -Wall -DDEBUG_VERSION   -MT
mosh-read.o -MD -MP -MF .deps/mosh-read.Tpo -c -o mosh-read.o `test -f
'read.cpp' || echo './'`read.cpp
read.cpp: In function `scheme::Object read_char(ScmPort*, ScmReadContext*)':
read.cpp:1311: error: `u_int32_t' undeclared (first use this function)
read.cpp:1311: error: (Each undeclared identifier is reported only once for
each function it appears in.)
read.cpp:1311: error: expected `;' before "namelen"
read.cpp:1325: error: `namelen' undeclared (first use this function)
read.cpp:1326: error: `namesize' undeclared (first use this function)
make[2]: *** [mosh-read.o] Error 1
make[2]: Leaving directory `/SPACE/DOWNLOADS/SCHEME/mosh-0.0.7'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/SPACE/DOWNLOADS/SCHEME/mosh-0.0.7'
make: *** [all] Error 2


What version of the product are you using? On what operating system?

mosh 0.0.7
SunOS antonio 5.11 snv_101b i86pc i386 i86pc Solaris

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 9 Mar 2009 at 9:00

/ for reciprocal

What steps will reproduce the problem?
mosh>(/ 2)
2
mosh>(/ 3)
3
mosh>(/ 0)
0

What is the expected output? What do you see instead?
(/ x) should equal to (/ 1 x). (/ 0) will have to raise &assertion exception.


Original issue reported on code.google.com by [email protected] on 20 May 2008 at 5:44

compile problem on OSX

What steps will reproduce the problem?
1. ./configure
2. make 

What is the expected output? What do you see instead?

error message

/usr/include/c++/4.0.0/bits/stl_tree.h:367: error: no matching function for
call to ‘gc_allocator<std::pair<const ucs4char*, scheme::Object>
>::construct(std::pair<const ucs4char* const, scheme::Object>*, const
std::pair<const ucs4char* const, scheme::Object>&)’
./gc-7.1alpha3/include/gc_allocator.h:138: note: candidates are: void
gc_allocator<GC_Tp>::construct(GC_Tp*, const GC_Tp&) [with GC_Tp =
std::pair<const ucs4char*, scheme::Object>]
make[2]: *** [libcompiler_a-compiler.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


What version of the product are you using? On what operating system?

0.0.1. mac osx 10.4.11 intel

Please provide any additional information below.



Delete comment
Comment 1 by hira.tara, Today (14 hours ago)

Same error occurred.

OS Version -> Mac OS X 10.5.2 (intel)

Delete comment
Comment 2 by higepon, Today (14 hours ago)

(No comment was entered for this change.)

Status: Started
Owner: higepon
Delete comment
Comment 3 by higepon, Today (14 hours ago)

Thanks i will check on OSX

Original issue reported on code.google.com by [email protected] on 14 May 2008 at 2:37

missing reinitialisation intstructions

What steps will reproduce the problem?
1. configure
2. make

What is the expected output? What do you see instead?
Everything should be compiled, but I get an error
saying that my libtool version (2.2.4) it too new,
and I should rebuild the build scripts.

What version of the product are you using? On what operating system?
mosh checkout 908

Please provide any additional information below.
i686-pc-linux-gnu

Can you publish a script to rebuild the whole set
of configuration and building scripts?

Original issue reported on code.google.com by [email protected] on 1 Jan 2009 at 12:59

bus error with recursion

What steps will reproduce the problem?
(define (loop a) (
       (begin
       (print a)
       (loop (+ a 1))
       )
))
(loop 1)

What is the expected output? What do you see instead?
expect stack overflow

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 14 May 2008 at 5:26

spawned process is still alive even when a command is not found.

What steps will reproduce the problem?
% mosh
mosh>(import (mosh process))
#<unspecified>
mosh>(spawn "hoge" '())
1573
mosh>
Unhandled exception:

 Condition components:
   1. &assertion
   2. &who: "%exec"
   3. &message: "failed"
   4. &irritants: ("hoge" "No such file or directory")

% ps
  PID  TT  STAT      TIME COMMAND
...
 1573  p5  R      0:26.20 mosh

% kill 1573
What version of the product are you using? On what operating system?
Mosh rev. 1194 on MacOSX 10.4.11.

Please provide any additional information below.
The zombie process seems to be going to guzzle CPU.


Original issue reported on code.google.com by [email protected] on 19 Feb 2009 at 11:08

#!<identifier> comment discards the rest of the line

What steps will reproduce the problem?
What is the expected output? What do you see instead?

The code:
 (import (rnrs))
 #!r6rs (display 0) (newline)
should display 0, but displays nothing.


What version of the product are you using? On what operating system?
mosh trunk revision 875 on MacOSX 10.4.11



Original issue reported on code.google.com by [email protected] on 25 Dec 2008 at 5:37

Extended syntax must raise exception in #!r6rs mode.

What steps will reproduce the problem?
#!r6rs
#/a/ ; => #/a/

What is the expected output? What do you see instead?
In #!r6rs mode, lexical syntax violates R6RS chapter 4 must be raise &lexical 
exception.

What version of the product are you using? On what operating system?
Mosh trunk rev. 1450 on MacOSX 10.5.6.

Please provide any additional information below.
In Ikarus, extended syntax is available by default and is turned on by #!ikarus 
token.
When #!r6rs is read, syntax extensions are turned off.



Original issue reported on code.google.com by [email protected] on 28 Mar 2009 at 5:12

internal defines

What is the expected output? What do you see instead?
Internal defines must not be replaced with letrec but letrec* (the procedure 
internal-define->letrec 
in compiler.scm).

What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 24 May 2008 at 8:51

letrec bug

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


Please use labels and text to provide additional information.

http://d.hatena.ne.jp/cranebird/20081106/1225928329

Original issue reported on code.google.com by [email protected] on 6 Nov 2008 at 1:52

regexp test failed

What steps will reproduce the problem?
1. test failed

What is the expected output? What do you see instead?
test ((rxmatch-start (rxmatch #/¥d+/ ”a345a”))), expects 1 ===> NG got #f

Please use labels and text to provide additional information.
mosh 0.0.2 を、Mac OS X 10.4.11 環境でコンパイルしました。gcc 
4.0.1(Apple
Computer, Inc build 5367)です。実行ファイル mosh 
はできていますが、
./mosh -t 
を実行すると、以下のエラー?がでました。良くわかって��
�ませんが一
応ご報告です。


Original issue reported on code.google.com by [email protected] on 14 May 2008 at 11:27

double datum comment causes error

What steps will reproduce the problem?
(import (rnrs))

(display #;#;1 2 3) (newline)

What is the expected output? What do you see instead?
Ikarus and Ypsilon display 3. Mosh raises the conditions below.
   1. &lexical
   2. &who: "read"
   3. &message: "(): syntax error near [1 2 3)\n] at <string port>:0. "
   4. &irritants: ()

What version of the product are you using? On what operating system?
mosh trunk rev. 934 on MacOSX 10.4.11



Original issue reported on code.google.com by [email protected] on 6 Jan 2009 at 7:29

REPL Ctrl-D

What steps will reproduce the problem?
1. <eof> appears with Ctrl-D
2.
3.

What is the expected output? What do you see instead?
exit REPL

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 20 May 2008 at 5:29

list procedures accept lists unequal in length.

What steps will reproduce the problem?
What is the expected output? What do you see instead?

map, for-each, for-all, exists, fold-right, and fold-left take lists unequal in 
length as its 
arguments.

(map cons '(1) '(1 2)) => ((1 . 1))
(for-each + '(1) '(1 2)) => #f
(for-all = '(1) '(1 2)) => #t
(exists = '(1) '(1 2)) => #t
(fold-right list '() '(1) '(1 2)) => (1 1 ())
(fold-left list '() '(1) '(1 2)) => (() 1 1)

Their argument lists should all have the same length, so &assertion should be 
raised if there are 
no valid reason.

What version of the product are you using? On what operating system?
mosh trunk 881 on MacOSX 10.4.11



Original issue reported on code.google.com by [email protected] on 26 Dec 2008 at 7:57

with-input-from-file and with-output-to-file cannot return multiple values

What steps will reproduce the problem?
(with-input-from-file "foo" (lambda (values 1 2))
=> 1

What is the expected output? What do you see instead?
They should return 1 and 2 (multiple values). They are not aware of multiple 
values, must use let-
values instead of let1.


What version of the product are you using? On what operating system?
mosh-0.0.7 on MacOSX 10.4.11


Original issue reported on code.google.com by [email protected] on 5 Dec 2008 at 3:52

compile problem on OSX part2

Reported by yuumi33, Today (13 hours ago)

エラーメッセージ
g++ -DHAVE_CONFIG_H -I. -I ./gc-7.1alpha3/include -I ./onig-5.7.0  
-fomit-frame-pointer -D MONA_SCHEME -D USE_BOEHM_GC -Wall -D
MONAR_LIB_PATH="\"/usr/local/share/monar\""  -MT libcompiler_a-compiler.o
-MD -MP -MF .deps/libcompiler_a-compiler.Tpo -c -o libcompiler_a-compiler.o
`test -f 'compiler.cpp' || echo './'`compiler.cpp
/usr/include/c++/4.0.0/bits/stl_tree.h: In member function
‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_M_create_node(const _Val&) [with _Key = const ucs4char*, _Val =
std::pair<const ucs4char* const, scheme::Object>, _KeyOfValue =
std::_Select1st<std::pair<const ucs4char* const, scheme::Object> >,
_Compare = scheme::ltstr, _Alloc = gc_allocator<std::pair<const ucs4char*,
scheme::Object> >]’:
/usr/include/c++/4.0.0/bits/stl_tree.h:789:   instantiated from ‘typename
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*,
const _Val&) [with _Key = const ucs4char*, _Val = std::pair<const ucs4char*
const, scheme::Object>, _KeyOfValue = std::_Select1st<std::pair<const
ucs4char* const, scheme::Object> >, _Compare = scheme::ltstr, _Alloc =
gc_allocator<std::pair<const ucs4char*, scheme::Object> >]’
/usr/include/c++/4.0.0/bits/stl_tree.h:903:   instantiated from ‘typename
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::insert_unique(std::_Rb_tree_iterator<_Val>, const _Val&) [with
_Key = const ucs4char*, _Val = std::pair<const ucs4char* const,
scheme::Object>, _KeyOfValue = std::_Select1st<std::pair<const ucs4char*
const, scheme::Object> >, _Compare = scheme::ltstr, _Alloc =
gc_allocator<std::pair<const ucs4char*, scheme::Object> >]’
/usr/include/c++/4.0.0/bits/stl_map.h:384:   instantiated from ‘typename
std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, _Alloc>::iterator
std::map<_Key, _Tp, _Compare, _Alloc>::insert(typename std::_Rb_tree<_Key,
std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >,
_Compare, _Alloc>::iterator, const std::pair<const _Key, _Tp>&) [with _Key
= const ucs4char*, _Tp = scheme::Object, _Compare = scheme::ltstr, _Alloc =
gc_allocator<std::pair<const ucs4char*, scheme::Object> >]’
/usr/include/c++/4.0.0/bits/stl_map.h:339:   instantiated from ‘_Tp&
std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key =
const ucs4char*, _Tp = scheme::Object, _Compare = scheme::ltstr, _Alloc =
gc_allocator<std::pair<const ucs4char*, scheme::Object> >]’
Symbol.h:78:   instantiated from here
/usr/include/c++/4.0.0/bits/stl_tree.h:367: error: no matching function for
call to ‘gc_allocator<std::pair<const ucs4char*, scheme::Object>
>::construct(std::pair<const ucs4char* const, scheme::Object>*, const
std::pair<const ucs4char* const, scheme::Object>&)’
./gc-7.1alpha3/include/gc_allocator.h:138: note: candidates are: void
gc_allocator<GC_Tp>::construct(GC_Tp*, const GC_Tp&) [with GC_Tp =
std::pair<const ucs4char*, scheme::Object>]
make[2]: *** [libcompiler_a-compiler.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

環境:
Mac OS x 10.5.2
i686-apple-darwin9-g++-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.




Original issue reported on code.google.com by [email protected] on 14 May 2008 at 2:39

Extending a sealed record type does not causes error.

What steps will reproduce the problem?
(import (rnrs))

(define-record-type a
  (sealed #t))

(define-record-type b
  (parent a))

What is the expected output? What do you see instead?
On Ikarus,
Unhandled exception:
 Condition components:
   1. &assertion
   2. &who: make-record-type-descriptor
   3. &message: "cannot extend sealed parent"
   4. &irritants: (#<record-type-descriptor a>)
Ypsilon also raises similar condition.

Mosh silently defines the record type b and exits.

What version of the product are you using? On what operating system?
Mosh rev. 1103 on MacOSX 10.4.11

Please provide any additional information below.
An expression (display b) raises a condition below.

 Condition components:
   1. &who: b
   2. &message: "invalid expression"
   3. &syntax:
       form: b
       subform: #f
 Exception:
     error in raise: returned from non-continuable exception
 Stack trace:
    1. throw: <subr>
    2. (raise c):  compiler-with-library.scm:3078
    3. apply: <subr>

Original issue reported on code.google.com by [email protected] on 30 Jan 2009 at 10:51

call-with-port closes a port in use

What steps will reproduce the problem?
Run this code.

(import (rnrs))

(define cont #f)

(define (f)
  (call/cc
   (lambda (break)
     (call-with-port (open-string-input-port "abc")
       (lambda (p)
     (let loop ((c (read-char p)))
       (cond ((eof-object? c)
          (newline))
         (else
          (display c)
          (call/cc
           (lambda (k)
             (set! cont k)
             (break)))
          (loop (read-char p))))))))))
(f)
(cont)
(cont)
(cont)

What is the expected output? What do you see instead?
"abc\n" should be displayed, but a bus error occurred.

R6RS says:
If proc does not return, port is not closed automatically, except perhaps when 
it is possible to 
prove that port will never again be used for an input or output operation.
Therefore, the port must not be closed when escaped from dynamic extent of 
proc, as current 
definition does:

(define (call-with-port p proc)
  (dynamic-wind
      (lambda () #t)
      (lambda () (proc p))
      (lambda () (close-port p))))

What version of the product are you using? On what operating system?
mosh-0.0.7 on MacOSX 10.4.11


Original issue reported on code.google.com by [email protected] on 2 Dec 2008 at 7:14

プロファイラ

プロファイラを無効にすると必要な関数も無効にされてい��
�ようです。

Original issue reported on code.google.com by [email protected] on 19 Jul 2008 at 1:56

when/unless without body does not raise exception.

What steps will reproduce the problem?
mosh>(when #t)
#t
mosh>(when #f)
#f
mosh>(unless #t)
#f
mosh>(unless #f)
#t

What is the expected output? What do you see instead?
They have to have at least one expression as their body (R6RS Standard 
Libraries: Chapter 5).

What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 



Original issue reported on code.google.com by [email protected] on 24 May 2008 at 6:55

feature request: pretty-print

I understand that it is not a priority, but it helps while debugging (and
it is needed by a SRFI I am interested in). Even a basic version would do.

Original issue reported on code.google.com by [email protected] on 6 Jan 2009 at 12:05

<expression> part of do ignores expressions other than first one.

What steps will reproduce the problem?
mosh>(do ((i 0)) ((zero? i) (print 1) (print 2) (print 3)))
1

What is the expected output? What do you see instead?
It should print
1
2
3.
<expression> part of do is implicit begin (See R6RS Standard Libraries: Chapter 
5).


What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 



Original issue reported on code.google.com by [email protected] on 24 May 2008 at 7:17

case works wrong.

What steps will reproduce the problem?
mosh>(case 1 ((2 1) 0))
#f
mosh>(case 2 ((2 1) 0))
0

What is the expected output? What do you see instead?
The first one also must return 0 (<datum>(s) other than the first is ignored?).

What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 


Original issue reported on code.google.com by [email protected] on 24 May 2008 at 8:35

Mosh FFI Creates Unnecessary Hassles

In the library (mosh ffi), the macro "c-function" is exported, but not the
corresponding "make-c-function".  This action gains some small amount of
syntactic clarity by removing three single quotes and a list, but does so
at the expense of usability.  Since "c-function" quotes its input, simple
use cases such as  "(make-c-function libm (symbol->string "sin") 'double
'(double))" become impossible.

While this issue does not directly impact use of the library for loading
trivial functions, it makes life difficult for users who wish to implement
simple abstractions on top of it, or dynamically generate function names. 
Specifically, it is incompatible with the FFI semantics of three major R6RS
implementations (Ikarus, Larceny, and MzScheme), and hinders the
development of portable abstraction layers.

This issue can be worked around simply by reimplementing "make-c-function"
where it is needed, but as it can be solved simply by adding the function
to the exports list, the more flexible and less redundant solution is
probably best.

Original issue reported on code.google.com by [email protected] on 22 Mar 2009 at 12:14

error in configuration of mosh-959

What steps will reproduce the problem?
1. ./configure
2. make

What is the expected output? What do you see instead?
At the configuration step:

config.status: executing libtool commands

I get:

sed: can't read ./ltmain.sh: No such file or directory

and then other errors about missing "libtoolT". The configuration goes on,
and when I start make I get:

./libtool: line 463: CDPATH: command not found

and then an error about libtool 2.2.6 being too new (we already discussed
this).

What version of the product are you using? On what operating system?
mosh checkout 959 i686-pc-linux-gnu

Original issue reported on code.google.com by [email protected] on 12 Jan 2009 at 8:19

cond is not hygienic.

What steps will reproduce the problem?
mosh>(let ((else #f)) (cond (else 0)))
0

What is the expected output? What do you see instead?
It must return unspecified values.

What version of the product are you using? On what operating system?
Mosh R6RS scheme interpreter, version 0.0.3 


Original issue reported on code.google.com by [email protected] on 24 May 2008 at 7:59

Cannot make on Cygwin

Reported by dico.leque.comicron, Today (94 minutes ago)

What steps will reproduce the problem?
1. ./configure
2. make

Error Messages:
*** Warning: This system can not link to static lib archive ./libgc.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
rm -fr  .libs/libcord.dll.a
gcc -shared  cord/.libs/cordbscs.o cord/.libs/cordprnt.o cord/.libs/cordtest
.o cord/.libs/cordxtra.o   -o .libs/cygcord-1.dll -Wl,--enable-auto-image-ba
se -Xlinker --out-implib -Xlinker .libs/libcord.dll.a
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x25e): undefined reference to `_GC_
malloc'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x35a): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x3f8): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x4af): undefined reference to `_GC_
malloc'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x5e2): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x648): undefined reference to `_GC_
malloc'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x6eb): undefined reference to `_GC_
malloc'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x7bb): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordbscs.o:cordbscs.c:(.text+0x8cc): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordprnt.o:cordprnt.c:(.text+0x4da): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordprnt.o:cordprnt.c:(.text+0x655): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordtest.o:cordtest.c:(.text+0xd9f): undefined reference to `_GC_
add_roots'
cord/.libs/cordtest.o:cordtest.c:(.text+0xda4): undefined reference to `_GC_
gcollect'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0x4c): undefined reference to
`_GC_malloc_atomic'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0x674): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0x708): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0xcae): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0xf5a): undefined reference to `_GC_
malloc_atomic'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0xf76): undefined reference to `_GC_
call_with_alloc_lock'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0x1026): undefined reference to `_GC
_malloc'
cord/.libs/cordxtra.o:cordxtra.c:(.text+0x1072): undefined reference to `_GC
_register_finalizer'
Creating library file: .libs/libcord.dll.a
collect2: ld returned 1 exit status
make[3]: *** [libcord.la] Error 1

What version of the product are you using? On what operating system?
Windows XP Professional SP2
% uname -a
CYGWIN_NT-5.1 XXXXX 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin



Original issue reported on code.google.com by [email protected] on 14 May 2008 at 2:40

error with and-let* implementation

The following test for AND-LET* fails with mosh-930, but the same code
works fine with Ypsilon, Ikarus and Larceny. The last LET form should
return #f.

(import (rnrs))

(define-syntax and-let*
  (lambda (stx)
    (define (get-id c)
      (syntax-case c () [(var expr) #'var] [_ #f]))
    (syntax-case stx ()
      [(_ (clause* ...) body* ...)
       (for-all identifier? (filter values (map get-id #'(clause* ...))))
       #'(and-let*-core #t (clause* ...) body* ...)])))

(define-syntax and-let*-core
  (lambda (stx)
    (syntax-case stx ()
      [(kw _ ([var expr] clause* ...) body* ...)
       #'(let ([var expr])
       (if var
               (kw var (clause* ...) body* ...)
         #f))]
      [(kw _ ([expr] clause* ...) body* ...)
       #'(let ([t expr])
       (if t
               (kw t (clause* ...) body* ...)
         #f))]
      [(kw _ (id clause* ...) body* ...)
       (or (identifier? #'id)
       (syntax-violation #f "invalid clause" stx #'id))
       #'(if id
             (kw id (clause* ...) body* ...)
       #f)]
      [(kw last () body* ...)
       (if (positive? (length #'(body* ...)))
           #'(begin body* ...)
     #'last)])))

(let ((x #f))
  (and-let* (x)
    (+ x 1)))

Original issue reported on code.google.com by [email protected] on 6 Jan 2009 at 12:17

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.