[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1323: Teach compiler that fold and map with clean pr
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1323: Teach compiler that fold and map with clean procedure is itself clean |
Date: |
Mon, 29 Aug 2016 10:30:30 -0000 |
#1323: Teach compiler that fold and map with clean procedure is itself clean
---------------------------+--------------------------------
Reporter: sjamaan | Owner:
Type: defect | Status: new
Priority: major | Milestone: someday
Component: compiler | Version: 4.11.0
Keywords: optimisations | Estimated difficulty: hard
---------------------------+--------------------------------
It looks like CHICKEN currently doesn't understand that `fold` and `map`
are `#:clean` if the argument procedure is `#:clean`. This prevents it
from recognising that something like `(fold + 0 (iota 10000))` is
foldable.
We could hardcode these procedures, but I'd prefer not to, so this might
require some kind of new annotation in `types.db`.
This idea was inspired by http://pramode.in/2016/08/25/rust-add-billion-
numbers/ - if Rust can do it, so can we!
--
Ticket URL: <https://bugs.call-cc.org/ticket/1323>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-janitors] #1323: Teach compiler that fold and map with clean procedure is itself clean,
Chicken Trac <=