[Chicken-users] [ANN] test-new-egg 1.0.0 released

2019-07-26 Thread Mario Domenech Goulart
Hi,

test-new-egg is a simple commmand line tool to test new CHICKEN eggs
before they are added to the official repository of eggs.  For more
information, see [1].

The new release adds support for CHICKEN 5.  See [2] for the release
notes of this version. Note that the same changes apply to test-new-egg
for CHICKEN 4 too (see [3]).

By the way, please test your eggs with this tool before submitting them
for inclusion in the official repository of eggs.

[1] https://wiki.call-cc.org/eggref/5/test-new-egg
[2] https://wiki.call-cc.org/eggref/5/test-new-egg#version-100
[3] https://wiki.call-cc.org/eggref/4/test-new-egg#version-100

All the best.
Mario
-- 
http://parenteses.org/mario

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] [ANN] salmonella 3.0.0 released

2019-07-26 Thread Mario Domenech Goulart
Hi,

Salmonella is a tool to test CHICKEN eggs.  See [1] for more
information.

A new version, 3.0.0, has [finally] been released.  The new version
supports CHICKEN 5.

The release notes for the new version are here: [2].  Note that the same
changes apply to salmonella for CHICKEN 4 too (see [3]).

[1] https://wiki.call-cc.org/eggref/5/salmonella
[2] https://wiki.call-cc.org/eggref/5/salmonella#version-300
[3] https://wiki.call-cc.org/eggref/4/salmonella#version-300

All the best.
Mario
-- 
http://parenteses.org/mario

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] [Chicken-hackers] Allowing unspecified key arguments in functions

2019-07-26 Thread kooda
Amir Teymuri  wrote:
> I had a question about the objectives and reasons of allowing
> un-specified key arguments in functions as soon as i want to have some
> key arguments.

Any DSSSL style arguments (#!rest, #!optional and #!key) always are
optional arguments to the procedure.

You can think of them as working this way:

(lambda (foo #!key bar qux) your-code)
=>
(lambda (foo . rest)
  (let ((bar (get-keyword-arg #:bar rest))
(qux (get-keyword-arg #:qux rest)))
your-code))

If you want to have a more strict handling of them, you might want to
write your own superset of “lambda” and/or “define”, that check
what you need.

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Final call for draft papers for IFL 2019 (Implementation and Application of Functional Languages)

2019-07-26 Thread Jurriaan Hage
Hello,

Please, find below the final call for draft papers for IFL 2019.
Please forward these to anyone you think may be interested.
Apologies for any duplicates you may receive.

best regards,
Jurriaan Hage
Publicity Chair of IFL



IFL 2019

31st Symposium on Implementation and Application of Functional Languages


National University of Singapore
September 25th-27th, 2019

  http://2019.iflconference.org



### Scope

The goal of the IFL symposia is to bring together researchers actively
engaged
in the implementation and application of functional and function-based
programming languages. IFL 2019 will be a venue for researchers to present
and
discuss new ideas and concepts, work in progress, and publication-ripe
results
related to the implementation and application of functional languages and
function-based programming.

Topics of interest to IFL include, but are not limited to:

- language concepts
- type systems, type checking, type inferencing
- compilation techniques
- staged compilation
- run-time function specialization
- run-time code generation
- partial evaluation
- (abstract) interpretation
- metaprogramming
- generic programming
- automatic program generation
- array processing
- concurrent/parallel programming
- concurrent/parallel program execution
- embedded systems
- web applications
- (embedded) domain specific languages
- security
- novel memory management techniques
- run-time profiling performance measurements
- debugging and tracing
- virtual/abstract machine architectures
- validation, verification of functional programs
- tools and programming techniques
- (industrial) applications


### Keynote Speaker

* Olivier Danvy, Yale-NUS College


### Submissions and peer-review

Differently from previous editions of IFL, IFL 2019 solicits two kinds of
submissions:

* Regular papers (12 pages including references)
* Draft papers for presentations ('weak' limit between 8 and 15 pages)

Regular papers will undergo a rigorous review by the program committee, and
will
be evaluated according to their correctness, novelty, originality,
relevance,
significance, and clarity. A set of regular papers will be conditionally
accepted for publication. Authors of conditionally accepted papers will be
provided with committee reviews along with a set of mandatory revisions.
Regular papers not accepted for publication will be considered as draft
papers, at the request of the author.

Draft papers will be screened to make sure that they are within the scope of
IFL, and will be accepted for presentation or rejected accordingly.

Prior to the symposium:
  Authors of conditionally accepted papers and accepted presentations will
  submit a pre-proceedings version of their work that will appear in the
draft
  proceedings distributed at the symposium. The draft proceedings does not
  constitute a formal publication.

  We require that at least one of the authors present the work at IFL 2019.

After the symposium:

  Authors of conditionally accepted papers will submit a revised versions of
  their paper for the formal post-proceedings.
  The program committee will assess whether the mandatory revisions have
been
  adequately addressed by the authors and thereby determines the final
  accept/reject status of the paper.
  Our interest is to ultimately accept all conditionally accepted papers.
If you
  are an author of a conditionally accepted paper, please make sure that you
  address all the concerns of the reviewers.


  Authors of accepted presentations will be given the opportunity to
incorporate
  the feedback from discussions at the symposium and will be invited to
submit a
  revised full article for the formal post-proceedings.
  The program committee will evaluate these submissions according to their
  correctness, novelty, originality, relevance, significance, and clarity,
and
  will thereby determine whether the paper is accepted or rejected.


### Publication

The formal proceedings will appear in the International Conference
Proceedings Series of the ACM Digital Library.

At no time may work submitted to IFL be simultaneously submitted to other
venues; submissions must adhere to ACM SIGPLAN's republication policy:


 http://www.sigplan.org/Resources/Policies/Republication


### Important dates

Submission of regular papers:   June 15, 2019
Submission of draft papers: August1, 2019
Regular papers notification:August1, 2019
Regular draft papers notification:  August7, 2019
Deadline for early registration:August   15, 2019
Submission of pre-proceedings version:  September15, 

[Chicken-users] Allowing unspecified key arguments in functions

2019-07-26 Thread Amir Teymuri
I had a question about the objectives and reasons of allowing
un-specified key arguments in functions as soon as i want to have some
key arguments. Take a look at the following case:

;;; The function
(define (foo a #!key b) (list a b))

Now passing any number of key arguments in addition to b doesn't
result in any error which makes the debugging of even some simple
typing errors very difficult in a large code:

(define (foo a #!key b) (list a b))
(foo 2) ; ===> (2 #f)
(foo 2 #:b 3) ; ===> (2 3)
(foo 2 #:b 3 #:c 4 #:d 5 #:e 6) ; ===> (2 3)

without any errors!  Why is this and what was the reasons of deciding
this too much freedom?

Regards,
Amir

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users