Re: I ported the combinators egg to chicken 5

2020-12-18 Thread Kon Lovett
yes, please add to C5 (if you find it useful, maybe someone else ;-)

> On Dec 18, 2020, at 4:04 AM, Alaric Snell-Pym 
>  wrote:
> 
> Hi there Kon,
> 
> As I was porting something that needed it, I did a quick port of the 
> combinators egg to C5... I did it with cond-expand so the same codebase works 
> for C4 and C5 rather than making a new fork.
> 
> Please find it attached - if you like it it's all yours, and I'll gladly add 
> it to the C5 egg list if you wish :-)
> 
> Thanks for the eggs,
> 
> Alaric




[TFPIE'21] Second Call For Papers: Trends in Functional Programming *in Education* 2021, 16 February 2021 (with Lambda Days 2021 & TFP 2021)

2020-12-18 Thread Peter Achten

---
   TFPIE 2021 2nd Call for papers
---
https://wiki.tfpie.science.ru.nl/TFPIE2021#TFPIE_2021
(February 16 2021, co-organized with TFP 2021 and Lambda Days 2021)

Because of the covid pandemic, the events are online this year.

The goal of the International Workshops on Trends in Functional 
Programming in
Education is to gather researchers, professors, teachers, and all 
professionals
that use or are interested in the use of functional programming in 
education.
TFPIE aims to be a venue where novel ideas, classroom-tested ideas, and 
work in
progress on the use of functional programming in education are 
discussed. The

one-day workshop will foster a spirit of open discussion by having a review
process for publication after the workshop.

TFPIE 2021 welcomes submissions in the above mentioned areas. This year 
many
teaching programmes have had to make a rapid transition to online 
teaching, and

we explicitly solicit papers that explore this area of teaching functional
programming.

Topics of interest include, but are not limited to:
-  FP and beginning CS students
-  FP and Computational Thinking
-  FP and Artificial Intelligence
-  FP in Robotics
-  FP and Music
-  Advanced FP for undergraduates
-  FP in graduate education
-  Engaging students in research using FP
-  FP in Programming Languages
-  FP in the high school curriculum
-  FP as a stepping stone to other CS topics
-  FP and Philosophy
-  The pedagogy of teaching FP
-  FP and e-learning: MOOCs, automated assessment etc.
-  Best Lectures - more details below

In addition to papers, we are requesting best lecture presentations. 
What's your
best lecture topic in an FP related course? Do you have a fun way to 
present FP

concepts to novices or perhaps an especially interesting presentation of a
difficult topic? In either case, please consider sharing it. Best 
lecture topics

will be selected for presentation based on a short abstract describing the
lecture and its interest to TFPIE attendees. The length of the presentation
should be comparable to that of a paper. On top of the lecture itself,
the presentation can also provide commentary on the lecture.

Submissions
Potential presenters are invited to submit an extended abstract (4-6 
pages) or a

draft paper (up to 20 pages) in EPTCS style. The authors of accepted
presentations will have their preprints and their slides made available 
on the
workshop's website. Papers and abstracts can be submitted via easychair 
at the

following link:

https://easychair.org/conferences/?conf=tfpie2021

After the workshop, presenters are invited to submit (a revised version of)
their article for review. The PC will select the best articles for 
publication

in the Electronic Proceedings in Theoretical Computer Science (EPTCS).
Articles rejected for presentation and extended abstracts will not be 
formally

reviewed by the PC.

Dates
-  Submission deadline: January 11 2021, Anywhere on Earth.
-  Notification: January 15 2021
-  Workshop: February 16 2021
-  Submission for formal review: April 20 2021, Anywhere on Earth.
-  Notification of full article: June 7 2021
-  Camera ready: July 1st 2021

Program Committee
- Peter Achten,    Radboud University, Netherlands (chair)
- Edwin Brady, University of St Andrews, UK
- Laura Castro,    Universidade da Coruña, Spain
- Stephen Chang,   University of Massachusetts Boston, USA
- Youyou Cong, Tokyo Institute of Technology, Japan
- Matthew Flatt,   University of Utah, USA
- Seth Fogarty,    Trinity University, USA
- Alex Gerdes, University of Gothenburg, Sweden
- Gabriele Keller, Utrecht University, Netherlands
- Prabhakar Ragde, University of Waterloo, Canada
- Melinda Tóth,    Eötvös Loránd University, Budapest, Hungary

Registration
TFPIE is part of Lambda Days. Please visit the Lambda Days 2021 pages 
when registration

information becomes available.

Only papers that have been presented at TFPIE may be submitted to the 
post-reviewing

process.

Information on Lambda Days is available at 
https://www.lambdadays.org/lambdadays2021

Information on TFP is available at http://tfp2021.org




I ported the combinators egg to chicken 5

2020-12-18 Thread Alaric Snell-Pym

Hi there Kon,

As I was porting something that needed it, I did a quick port of the 
combinators egg to C5... I did it with cond-expand so the same codebase 
works for C4 and C5 rather than making a new fork.


Please find it attached - if you like it it's all yours, and I'll gladly 
add it to the C5 egg list if you wish :-)


Thanks for the eggs,

Alaricdiff combinators/bi-combinators.scm combinators.c5/bi-combinators.scm
10,11c10
< scheme
< chicken)
---
> scheme)
12a12,16
>   (cond-expand
>(chicken-4
> (import chicken))
>(chicken-5
> (import (chicken base
diff combinators/generic-section-combinators.scm combinators.c5/generic-section-combinators.scm
16,20c16
<   (import
< (except scheme map)
< chicken
< (only data-structures identity)
< (only srfi-1 circular-list map))
---
>   (import (except scheme map))
22c18,29
<   (require-library data-structures srfi-1)
---
>   (cond-expand
>(chicken-4
> (require-library data-structures srfi-1)
> (import
> 
>  chicken
>  (only data-structures identity)
>  (only srfi-1 circular-list map)))
>(chicken-5
> (import (chicken base))
> (import
>  (only srfi-1 circular-list map
diff combinators/logical-combinators.scm combinators.c5/logical-combinators.scm
10c10,17
<   (import scheme chicken data-structures srfi-1)
---
>   (import scheme)
> 
>   (cond-expand
>(chicken-4
> (import chicken data-structures srfi-1))
>(chicken-5
> (import (chicken base))
> (import srfi-1)))
diff combinators/section-combinators.scm combinators.c5/section-combinators.scm
13,16c13,24
< scheme
< chicken
< (only srfi-1 drop drop-right circular-list)
< (only data-structures identity))
---
> scheme)
> 
>   (cond-expand
>(chicken-4
> (import chicken)
> (import (only srfi-1 drop drop-right circular-list))
> (import (only data-structures identity))
> (require-library srfi-1))
>(chicken-5
> (import (chicken base))
> (import (only srfi-1 drop drop-right circular-list))
> (import (only (chicken base) identity
18d25
<   (require-library srfi-1)
diff combinators/sort-combinators.scm combinators.c5/sort-combinators.scm
12,16c12
<   (import
< scheme
< chicken
< (only srfi-1 span)
< (only bi-combinators bi-each))
---
>   (import scheme)
18c14,23
<   (require-library srfi-1 bi-combinators)
---
>   (cond-expand
>(chicken-4
> (import chicken)
> (import (only srfi-1 span))
> (import (only bi-combinators bi-each))
> (require-library srfi-1 bi-combinators))
>(chicken-5
> (import (chicken base))
> (import (only srfi-1 span))
> (import (only bi-combinators bi-each
diff combinators/stack-combinators.scm combinators.c5/stack-combinators.scm
18c18
<   (import scheme chicken)
---
>   (import scheme)
19a20,24
>   (cond-expand
>(chicken-4
> (import chicken))
>(chicken-5
> (import (chicken base
diff combinators/tri-combinators.scm combinators.c5/tri-combinators.scm
10,12c10,16
< scheme
< chicken)
< 
---
>scheme)
>   
>   (cond-expand
>(chicken-4
> (import chicken))
>(chicken-5
> (import (chicken base
diff combinators/uni-combinators.scm combinators.c5/uni-combinators.scm
9,11c9,15
<   (import
< scheme
< chicken)
---
>   (import scheme)
> 
>   (cond-expand
>(chicken-4
> (import chicken))
>(chicken-5
> (import (chicken base
 combinators.meta  -*- Hen -*-

((category data)
 (author "[[kon lovett]]")
 (license "Public Domain")
 (synopsis "Combinators")
 (test-dependencies test)
 (version "1.2.1")
 (components
  (extension uni-combinators
 (csc-options -optimize-level 3))
  (extension bi-combinators
 (csc-options -optimize-level 3))
  (extension tri-combinators
 (csc-options -optimize-level 3))
  (extension section-combinators
 (csc-options -optimize-level 3))
  #;(extension generic-section-combinators
 (csc-options -optimize-level 3))
  (extension logical-combinators
 (csc-options -optimize-level 3))
  (extension sort-combinators
 (csc-options -optimize-level 3)
 (component-dependencies bi-combinators))
  (extension stack-combinators
 (csc-options -optimize-level 3