Publicação
Tools and libraries to model and manipulate circular programs
| Resumo: | This paper presents techniques to model circular lazy programs in a strict, purely functional setting. Circular lazy programs model any algorithm based on multiple traversals over a recursive data structure as a single traversal function. Such elegant and concise circular programs are defined in a (strict or lazy) functional language and they are transformed into efficient strict and deforested, multiple traversal programs by using attribute grammars-based techniques. Moreover, we use standard slicing techniques to slice such circular lazy programs. We have expressed these transformations as an Haskell library and two tools have been constructed: the HaCirctool that refactors Haskell lazy circular programs into strict ones, and the OCirctool that extends Ocaml with circular definitions allowing programmers to write circular programs in Ocaml notation, which are transformed into strict Ocaml programs before they are executed. The first benchmarks of the different implementations are presented and show that for algorithms relying on a large number of traversals the resulting strict, deforested programs are more efficient than the lazy ones, both in terms of runtime and memory consumption. |
|---|---|
| Autores principais: | Fernandes, João Paulo |
| Outros Autores: | Saraiva, João Alexandre |
| Assunto: | Multiple traversal algorithms Circular programming Intermediate data structures Traversal scheduling |
| Ano: | 2007 |
| País: | Portugal |
| Tipo de documento: | comunicação em conferência |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | inglês |
| Origem: | RepositóriUM - Universidade do Minho |
Registos relacionados
article Efficient embedding of strategic attribute grammars via memoization
por: Macedo, José Nuno Castro
Publicado em: (2023)
por: Macedo, José Nuno Castro
Publicado em: (2023)
article Catching web crawlers in the act
por: Lourenço, Anália Maria Garcia
Publicado em: (2006)
por: Lourenço, Anália Maria Garcia
Publicado em: (2006)
groups Acreção da superfície das plataformas rochosas de sopé: Ribeira de Ilhas, Estremadura, Portugal
por: Neves, Mário
Publicado em: (2010)
por: Neves, Mário
Publicado em: (2010)
article Matching objects without language extension
por: Visser, Joost
Publicado em: (2006)
por: Visser, Joost
Publicado em: (2006)
school Strategic attribute grammars: techniques, tools and applications
por: Macedo, José Nuno Castro
Publicado em: (2025)
por: Macedo, José Nuno Castro
Publicado em: (2025)
article Simple peer messaging for remote user domains interconnection
por: Oliveira, Vítor
Publicado em: (2012)
por: Oliveira, Vítor
Publicado em: (2012)
article A shortcut fusion rule for circular program calculation
por: Fernandes, João Paulo
Publicado em: (2007)
por: Fernandes, João Paulo
Publicado em: (2007)
school Caracterização do túnel aerodinâmico da Academia da Força Aérea
por: Wemans, Miguel
Publicado em: (2019)
por: Wemans, Miguel
Publicado em: (2019)
article Procedural modeling of buildings composed of arbitrarily-shaped floor-plans: background, progress, contributions and challenges of a methodology oriented to cultural heritage
por: Adão, Telmo
Publicado em: (2019)
por: Adão, Telmo
Publicado em: (2019)
article Shortcut fusion rules for the derivation of circular and higher-order monadic programs
por: Pardo, Alberto
Publicado em: (2009)
por: Pardo, Alberto
Publicado em: (2009)
article An exact solution approach for an integrated packing and scheduling problem
por: Braga, Nuno
Publicado em: (2013)
por: Braga, Nuno
Publicado em: (2013)
article Shortcut fusion rules for the derivation of circular and higher-order programs
por: Pardo, Alberto
Publicado em: (2011)
por: Pardo, Alberto
Publicado em: (2011)
article Scheduling optimization using local search and genetic algorithm
por: Koblasa, F.
Publicado em: (2008)
por: Koblasa, F.
Publicado em: (2008)
article The pseudo-circular genomes of Flaviviruses: structures, mechanisms, and functions of circularization
por: De Falco, Louis
Publicado em: (2021)
por: De Falco, Louis
Publicado em: (2021)
article Strictification of circular programs
por: Fernandes, João Paulo
Publicado em: (2011)
por: Fernandes, João Paulo
Publicado em: (2011)
article Project management: multiple resources allocation
por: Tereso, Anabela Pereira
Publicado em: (2008)
por: Tereso, Anabela Pereira
Publicado em: (2008)
article A new mixed-integer programming model for harvest scheduling subject to maximum area restrictions
por: Constantino, Miguel
Publicado em: (2008)
por: Constantino, Miguel
Publicado em: (2008)
groups Genetic algorithm for flexible job shop scheduling problem - a case study
por: Ferreira, Adriano
Publicado em: (2015)
por: Ferreira, Adriano
Publicado em: (2015)
article An integer programming approach for Balancing and Scheduling in Extended Manufacturing Environment
por: Kays, H. M. Emrul
Publicado em: (2015)
por: Kays, H. M. Emrul
Publicado em: (2015)
groups Circular economy in a multiple helix perspective: a review
por: Gaspar, Marcelo
Publicado em: (2018)
por: Gaspar, Marcelo
Publicado em: (2018)
article ToCL: a thread oriented communication library to interface VIA and GM protocols
por: Alves, Albano
Publicado em: (2003)
por: Alves, Albano
Publicado em: (2003)
article Apicomplexans pulling the strings: manipulation of the host cell cytoskeleton dynamics
por: Cardoso, Rita
Publicado em: (2016)
por: Cardoso, Rita
Publicado em: (2016)
article Improving the ADACOR2 supervisor holon scheduling mechanism with genetic algorithms
por: Barbosa, José
Publicado em: (2015)
por: Barbosa, José
Publicado em: (2015)
article Genetic and bacterial programming for B-spline neural networks design
por: Ruano, Antonio
Publicado em: (2007)
por: Ruano, Antonio
Publicado em: (2007)
article Unfolding kinetics of beta-lactoglobulin induced by surfactant and denaturant: a stopped-flow/fluorescence study
por: Viseu, Maria Isabel
Publicado em: (2007)
por: Viseu, Maria Isabel
Publicado em: (2007)
article A model-based heuristic for the combined cutting stock and scheduling problem
por: Braga, Nuno
Publicado em: (2015)
por: Braga, Nuno
Publicado em: (2015)
article An integer programming approach to elective surgery scheduling : Analysis and comparison based on a real case
por: Marques, Inês
Publicado em: (2012)
por: Marques, Inês
Publicado em: (2012)
groups Training neuro-fuzzy models using evolution based algorithms
por: Cabrita, Cristiano Lourenço
Publicado em: (2006)
por: Cabrita, Cristiano Lourenço
Publicado em: (2006)
article A scheduling model for a knitting planning problem
por: Pimentel, Carina
Publicado em: (2008)
por: Pimentel, Carina
Publicado em: (2008)
groups Evidence based for exercise program in physical therapy in patients with multiple sclerosis
por: Gervásio, Pio
Publicado em: (2015)
por: Gervásio, Pio
Publicado em: (2015)
article A new model for the integrated vehicle-crew-rostering problem and a computational study on rosters
por: Mesquita, Marta
Publicado em: (2011)
por: Mesquita, Marta
Publicado em: (2011)
article A genetic algorithm approach for the scheduling in a robotic-centric flexible manufacturing system
por: Pereira, Ana I.
Publicado em: (2017)
por: Pereira, Ana I.
Publicado em: (2017)
article A genetic algorithm approach for the scheduling in a robotic-centric flexible manufacturing system
por: Pereira, Ana I.
Publicado em: (2018)
por: Pereira, Ana I.
Publicado em: (2018)
article Multiobjective optimization of maintenance scheduling: application to slopes and retaining walls
por: Denysiuk, Roman
Publicado em: (2016)
por: Denysiuk, Roman
Publicado em: (2016)
article Viewing scheduling problems through genetic and evolutionary algorithms
por: Rocha, Miguel
Publicado em: (2000)
por: Rocha, Miguel
Publicado em: (2000)
book A manufacturing scheduling approach by combining simulation technique with the Hodgson’s algorithm
por: Pinto, Telmo
Publicado em: (2014)
por: Pinto, Telmo
Publicado em: (2014)
article An evolutionary algorithm with active plans for the RCPSP
por: Oliveira, José A.
Publicado em: (2011)
por: Oliveira, José A.
Publicado em: (2011)
article Type your matrices for great good: a Haskell library of typed matrices and applications (functional pearl)
por: Santos, Armando
Publicado em: (2020)
por: Santos, Armando
Publicado em: (2020)
draft Planning elective surgeries Analysis and comparison in a real case
por: Marques, Inês
Publicado em: (2009)
por: Marques, Inês
Publicado em: (2009)
article Multiple mobile robots scheduling based on simulated annealing algorithm
por: Matos, Diogo
Publicado em: (2021)
por: Matos, Diogo
Publicado em: (2021)
Registos relacionados
-
article Efficient embedding of strategic attribute grammars via memoization
por: Macedo, José Nuno Castro
Publicado em: (2023) -
article Catching web crawlers in the act
por: Lourenço, Anália Maria Garcia
Publicado em: (2006) -
groups Acreção da superfície das plataformas rochosas de sopé: Ribeira de Ilhas, Estremadura, Portugal
por: Neves, Mário
Publicado em: (2010) -
article Matching objects without language extension
por: Visser, Joost
Publicado em: (2006) -
school Strategic attribute grammars: techniques, tools and applications
por: Macedo, José Nuno Castro
Publicado em: (2025)