JP T | 15 Apr 13:53 2016
Picon
Gravatar

Some libraries on Github

Hi,

So to be able to get them remotely, I have put my gauche/scheme libs on github

Since they are there, better share.  Nothing extraordinary but might
be useful to some.

https://github.com/kingu-gidora/gauche-scheme-lib

Thanks, have a nice day!

--
JP

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Jonathan Chan | 5 Apr 16:37 2016
Gravatar

Documentation on C FFI

Hello all,

First of all, thanks for the great Scheme implementation!

Is there some documentation or a tutorial for the C FFI? I have been
looking at https://github.com/kahua/Gauche-dbd-pg as an example, but
grepping through the documentation included in the repo, I haven't been
able to find documentation for things like gauche-package compile, etc.

I understand if this wasn't seen as high priority and can make do by
messing around with the code out there, but just wanted to know
beforehand.

Thanks,
--

-- 
  Jonathan Chan
  jyc <at> fastmail.fm

------------------------------------------------------------------------------
Timo Myyrä | 26 Mar 20:48 2016
Picon

Threads won't work in OpenBSD

Hi,

I've tried to make Gauche build with threads enabled on OpenBSD.
With little patching I've got it to compile but running the tests hang.
Seems the tests hang in thread test in "test atomic counting, expects 300 ==> "
After that it just hangs but can be killed with "kill -9 <PID>".

I applied patches from OpenBSD's boehm-gc port to local copy in Gauche:
http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/boehm-gc/patches/

And then I added following to configure.ac and ran autoconf again:

--- configure.ac.orig   Sun Jul 20 00:11:12 2014
+++ configure.ac        Thu Mar 24 20:26:10 2016
 <at>  <at>  -199,6 +199,13  <at>  <at>  case $GAUCHE_THREAD_TYPE in
       THREADDLLIBS="-lpthread -lrt"
       GAUCHE_THREAD_TYPE=pthreads
       ;;
+    *-*-openbsd*)
+      AC_DEFINE(GC_OPENBSD_THREADS,1,[Define to use OpenBSD threads])
+      AC_DEFINE(_PTHREADS)
+      THREADLIBS="-lpthread"
+      THREADDLLIBS="-lpthread"
+      GAUCHE_THREAD_TYPE=pthreads
+      ;;      
     *-*-solaris*)
       AC_DEFINE(GC_SOLARIS_THREADS,1,[Define to use Solaris threads])
       AC_DEFINE(GC_SOLARIS_PTHREADS,1,[Define to use Solaris pthreads])

I have no experience about enabling threading support but not too long ago threading was
(Continue reading)

Alex Shinn | 17 Feb 15:21 2016
Picon

[CFP] Scheme and Functional Programming Workshop 2016

Call For Presentations 

17th Annual Scheme and Functional Programming Workshop 
Nara, Japan (Co-located with ICFP 2016) 
18 September 2016 


==================================================================== 

The 2016 Scheme and Functional Programming Workshop is calling for 
submissions.  This year we are accepting general presentation 
proposals in addition to papers. 

Submissions related to Scheme, Racket, Clojure, and functional 
programming are welcome and encouraged. Topics of interest include 
but are not limited to: 

Program-development environments, debugging, testing 
Implementation (interpreters, compilers, tools, benchmarks, etc.) 
Syntax, macros, hygiene 
Distributed computing, concurrency, parallelism 
Probabilistic computing 
Interoperability with other languages, FFIs 
Continuations, modules, object systems, types 
Theory, formal semantics, correctness 
History, evolution and standardization of Scheme 
Applications, experience and industrial uses of Scheme 
Education 
Scheme pearls (elegant, instructive uses of Scheme) 

We also welcome submissions related to dynamic or multiparadigmatic 
languages and programming techniques. 

==================================================================== 

Full submissions are due 24 June 2016. 
Authors will be notified by 22 July 2016. 
Camera-ready versions are due 15 August 2016. 
Workshop is 18 September 2016. 
All deadlines are 23:59 (UTC-12, "Anywhere on Earth"). 

Paper submissions must be in ACM proceedings format, no smaller than 
9-point type (10-point type preferred). Microsoft Word and LaTeX 
templates for this format are available at: 

Paper submissions should be in PDF and printable on US Letter, and 
generally in the range of 6 to 12 pages. 

Presentation submissions should include an outline of the material. 
Talks are 40 minutes, including questions and answers. 

More information available at: http://scheme2016.snow-fort.org/ 

==================================================================== 

Organizers: 

Alex Shinn (General Chair) 
Kathryn Gray (Program Chair) 

(Apologies for duplications from cross-posting.) 

-- 
Alex

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Gauche-devel mailing list
Gauche-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gauche-devel
Jens Thiele | 21 Nov 21:24 2015
Picon

Floating point literal parsed incorrectly

gosh> (gauche-version)
"0.9.4"
gosh> 0e324
0.0
gosh> 0e325
+inf.0

via
https://github.com/racket/racket/issues/1140

------------------------------------------------------------------------------
Jens Thiele | 12 Nov 10:02 2015
Picon

test sometimes fails: test wait-all timeout: expects #f => got #t

Sometimes i get:
Testing control ...                                              failed.
discrepancies found.  Errors are:
test wait-all timeout: expects #f => got #t

------------------------------------------------------------------------------
Jens Thiele | 28 Oct 22:16 2015
Picon

separate build directory fails again

Hi,

didn't inspect the details yet, but the script below fails again while
building with separate build directory:
make[2]: Entering directory '/home/karme/b/build/ext/util'
../../src/gosh -ftest ../../../Gauche/src/precomp -e -P -o util--match ../../../Gauche/libsrc/util/match.scm
Makefile:25: recipe for target 'util--match.c' failed
make[2]: *** [util--match.c] Segmentation fault
make[2]: Leaving directory '/home/karme/b/build/ext/util'
Makefile:37: recipe for target 'util' failed
make[1]: *** [util] Error 2
make[1]: Leaving directory '/home/karme/b/build/ext'
Makefile:38: recipe for target 'all' failed
make: *** [all] Error 1

Core was generated by `../../src/gosh -ftest ../../../Gauche/src/precomp -e -P -o util--match ../../..'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f7f0450ccce in Scm_Assq (obj=obj <at> entry=0x1cc9c80, alist=0x0) at ../../Gauche/src/list.c:507
507         if (!SCM_LISTP(alist)) Scm_Error("assq: list required, but got %S", alist);
[Current thread is 1 (Thread 0x7f7f04bb7740 (LWP 14850))]
(gdb) i s
#0  0x00007f7f0450ccce in Scm_Assq (obj=obj <at> entry=0x1cc9c80, alist=0x0) at ../../Gauche/src/list.c:507
#1  0x00007f7f0450d843 in Scm_PairAttrSet (pair=pair <at> entry=0x1dc2d40, key=key <at> entry=0x1cc9c80, value=value <at> entry=0x1d33ce0)
    at ../../Gauche/src/list.c:743
#2  0x00007f7f045936de in liblistpair_attribute_setX (SCM_FP=<optimized out>,
SCM_ARGCNT=<optimized out>, data_=<optimized out>)
    at ../../Gauche/src/liblist.scm:736
#3  0x00007f7f044ee3d3 in run_loop () at ../../Gauche/src/./vmcall.c:187
#4  0x00007f7f044f5344 in user_eval_inner (program=<optimized out>,
codevec=codevec <at> entry=0x7ffec82469d0) at ../../Gauche/src/vm.c:1472
#5  0x00007f7f044f6d8f in apply_rec (vm=<optimized out>, vm=<optimized out>, nargs=2,
proc=0x1d68460) at ../../Gauche/src/vm.c:1565
#6  Scm_ApplyRec2 (proc=0x1d68460, arg0=arg0 <at> entry=0x1d33ce0, arg1=arg1 <at> entry=0xb) at ../../Gauche/src/vm.c:1605
#7  0x00007f7f044f7372 in Scm_Compile (program=program <at> entry=0x1d33ce0, env=env <at> entry=0xb) at ../../Gauche/src/compaux.c:64
#8  0x00007f7f044e0eb3 in Scm_VMEval (expr=0x1d33ce0, e=0xb) at ../../Gauche/src/vm.c:1371
#9  0x00007f7f0457eac0 in libevaleval (SCM_FP=<optimized out>, SCM_ARGCNT=<optimized out>,
data_=<optimized out>)
    at ../../Gauche/src/libeval.scm:3875
#10 0x00007f7f044ee3d3 in run_loop () at ../../Gauche/src/./vmcall.c:187
#11 0x00007f7f044f5344 in user_eval_inner (program=<optimized out>,
codevec=codevec <at> entry=0x7ffec8246d40) at ../../Gauche/src/vm.c:1472
#12 0x00007f7f044f617b in apply_rec (vm=0x1c21c00, vm=0x1c21c00, nargs=<optimized out>,
proc=0x1cc5cd0) at ../../Gauche/src/vm.c:1565
#13 Scm_ApplyRec (proc=0x1cc5cd0, args=0x20b) at ../../Gauche/src/vm.c:1585
#14 0x00007f7f04542427 in Scm_Load (cpath=<optimized out>, flags=flags <at> entry=4,
packet=packet <at> entry=0x7ffec8246e70) at ../../Gauche/src/load.c:222
#15 0x0000000000402e96 in execute_script (scriptfile=<optimized out>, args=0x1d2d7e0) at ../../Gauche/src/main.c:489
#16 0x00000000004020ba in main (ac=<optimized out>, av=<optimized out>) at ../../Gauche/src/main.c:649

$ git branch -v
* master 5c47d4c gauche.generator - Changed gtake optional arg spec for srfi-121

#!/bin/bash -xe
function official-gauche()
{
    cat <<EOF | gpg --import
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)

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
LXspL/qdwD+d4D8nm1IuOYZ8
=N3ni
-----END PGP PUBLIC KEY BLOCK-----
EOF
    sudo apt-get -y install build-essential git autoconf gauche
    wget 'http://prdownloads.sourceforge.net/gauche/Gauche-0.9.4.tgz'
    wget 'http://prdownloads.sourceforge.net/gauche/Gauche-0.9.4.tgz.asc'
    gpg --verify Gauche-0.9.4.tgz.asc Gauche-0.9.4.tgz
    tar xzvf Gauche-0.9.4.tgz
    pushd Gauche-0.9.4
    ./configure && make -j $(nproc) && make check
    sudo apt-get -y purge gauche
    sudo apt-get -y autoremove
    sudo make install
    popd
}

function prepare-build()
{
    mkdir a
    pushd a
    git clone https://github.com/shirok/Gauche.git
    pushd Gauche
    ./DIST gen
    popd
    popd

    mkdir b
    pushd b
    cp -af ../a/Gauche .
    chmod -R -w Gauche
    mkdir build
    popd
}

official-gauche

prepare-build

pushd a/Gauche
./configure && make -j $(nproc) && make check
popd

pushd b/build
../Gauche/configure && make -j $(nproc) && make check
popd

------------------------------------------------------------------------------
Picon

Supporting the .sld extension for R7RS libraries

Good day,

The .sld extension (for "Scheme Library Definition") has caught some
traction and allows for easy identification of R7RS libraries opposed to
other Scheme libraries.  Would it be possible for Gauche to support this
as well?  So '(import (foo bar baz))' would open '$path/foo/bar/baz.sld'.

Kind regards,
Taylan

------------------------------------------------------------------------------
Andy Keep (akeep | 2 Aug 06:29 2015
Picon

[Call For Participation] Scheme and Functional Programming Workshop 2015

========================================================================

Call For Participation:

Scheme and Functional Programming Workshop 2015
Vancouver, British Columbia, Canada
(Co-located with ICFP 2015)

http://andykeep.com/SchemeWorkshop2015/


========================================================================

Important Dates:

August 3rd, 2015 - Early Registration Deadline
September 4th, 2015 - Workshop

========================================================================

Accepted Papers:

* R7RS Considered Unifier of Previous Standards
  William D Clinger (Northeastern University)

* State Exploration Choices in a Small-Step Abstract Interpreter
  Steven Lyde and Matthew Might (University of Utah)

* Towards a Foundation for Extending microKanren Constraints
  Jason Hemann and Daniel P. Friedman (Indiana University)

* Type Check Removal Using Lazy Interprocedural Code Versioning
  Baptiste Saleil and Marc Feeley (Université de Montréal)

We will also have invited distilled tutorials on:

* Hygenic Macros
  Ryan Culpepper (Northeastern University)

* miniKanren
  Will Byrd and Michael Ballantyne (University of Utah)

Along with a report on The Revised 7 Report on the Algorithmic Language
Scheme from William D Clinger (Northeastern University)

More information available at: http://andykeep.com/SchemeWorkshop2015/


========================================================================

Organizers:
Andy Keep, Cisco Systems Inc. (General Chair)
Ryan Culpepper, Northeastern University (Program Chair)

(Apologies for duplications from cross-posting.)

========================================================================

------------------------------------------------------------------------------
_______________________________________________
Gauche-devel mailing list
Gauche-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gauche-devel
Lasse Kliemann | 23 May 14:20 2015
Picon

build hangs in util/match.scm

Host Gauche: a6c1e72
Version of Gauche I try to build: 60a1ea2

uname -a:
Linux sunrise 3.13.0-52-generic #86~precise1-Ubuntu SMP Tue May 5 18:08:21 UTC 2015 x86_64 x86_64
x86_64 GNU/Linux

gcc --version:
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

autoconf --version:
autoconf (GNU Autoconf) 2.69

./DIST gen
./configure
make

[...]

(cd util; make default)
make[2]: Entering directory `/home/snyder/privsep/work/10/gauche.git/ext/util'
../../src/gosh -ftest ../../src/precomp -e -P -o util--match ../../libsrc/util/match.scm

At this point, it hangs and gathers memory seemingly to no end (I killed
it around 11 GB).

If it helps, here is output after hitting C-c:

    While compiling "../../lib/gauche/regexp.scm" at line 131: (define (regexp-unparse ast :key
(on-error :error)) (define (doit) (call-with-output-string (cut rege ...
    While loading "../../lib/gauche/regexp.scm" at line 137
    While compiling "../../lib/gauche/parseopt.scm" at line 60: ^C***
ERROR:#<serious-compound-condition #<unhandled-signal-error "unhandled signal 2 (SIGINT)">
#<<compile-error-mixin> 0x1895e40> #<<load-condition-mixin> 0x1895e00>
#<<compile-error-mixin> 0x1895da0> #<<load-condition-mixin> 0x1895d60>
#<<compile-error-mixin> 0x1895d00> #<<load-condition-mixin> 0x1895cc0>>
Stack Trace:
_______________________________________
make[2]: *** [util--match.c] Error 70
make[1]: *** [util] Interrupt
make: *** [all] Interrupt

The a6c1e72 version, I built yeasterday with a host version that
probably was a couple of weeks old, but I already deleted that
directory now, so I cannot tell exactly which version it was.

-- 
Kind Regards / MfG
Dr. Lasse Kliemann
Westring 269, 24116 Kiel, Germany
E-Mail: lasse <at> lassekliemann.de
OpenPGP Key: 0x4296A3E08903D018
Phone: +49 162 66 88 468
Web: http://lassekliemann.de
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Gauche-devel mailing list
Gauche-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gauche-devel
Lasse Kliemann | 22 May 14:14 2015
Picon

file lock released by sort/filter/every-pred

(use gauche.fcntl)
(use file.util)

(let ((port (open-output-file "/tmp/test.lock"))
      (flock (make <sys-flock>)))
  (slot-set! flock 'type F_WRLCK)
  (if (sys-fcntl port F_SETLK flock)
      (print "got lock")
      (print "no luck")))

(sort (filter (every-pred) '()))

(sys-sleep 100)
(sys-exit 0)

This will print "got lock" even if started multiple times in parallel.

Removing the sort/filter/every-pred line makes it print "no luck" on the
second and so on parallel process, which is what I would expect.

Each of the following changes will also lead to the correct locking
behavior:

* Replacing the sort/filter/every-pred line with:
  (filter (every-pred) '())

* Replacing the sort/filter/every-pred line with:
  (sort (filter (^ args #t) '()))

* Making the 'let' block span the whole program.

If we include '(use gauche.procedure)', then also the line
   (sort (filter (^ args #t) '()))
will lead to wrong locking behavior.

Removing the '(use file.util)' will also change things, but I haven't
investigated the details.

I got so far after a program using 'directory-list' didn't lock
properly. But now I'm at a loss as to the reason for this.

Using revision a6c1e72.

-- 
Kind Regards / MfG
Dr. Lasse Kliemann
Westring 269, 24116 Kiel, Germany
E-Mail: lasse <at> lassekliemann.de
OpenPGP Key: 0x4296A3E08903D018
Phone: +49 162 66 88 468
Web: http://lassekliemann.de
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Gauche-devel mailing list
Gauche-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gauche-devel

Gmane