...
 
Commits (2)
[submodule "1402/share"]
path = 1402/share
url = git@gitlab.lrde.epita.fr:lrde/share.git
[submodule "share"]
path = share
url = https://gitlab.lrde.epita.fr/lrde/share
Subproject commit c510aa5bb2cdeaf74bc2f209771ab8bd229785c4
@InProceedings{ levillain.14.ciarp,
author = {Roland Levillain and Thierry G\'eraud and Laurent Najman
and Edwin Carlinet},
title = {Practical Genericity: Writing Image Processing Algorithms
Both Reusable and Efficient},
booktitle = {Progress in Pattern Recognition, Image Analysis, Computer
Vision, and Applications -- Proceedings of the 19th
Iberoamerican Congress on Pattern Recognition (CIARP)},
address = {Puerto Vallarta, Mexico},
month = nov,
year = {2014},
pages = {70--79},
editor = {Eduardo Bayro and Edwin Hancock},
publisher = {Springer-Verlag},
series = {Lecture Notes in Computer Science},
volume = {8827},
lrdeprojects = {Olena},
abstract = {An important topic for the image processing and pattern
recognition community is the construction of open source
and efficient libraries. An increasing number of software
frameworks are said to be generic: they allow users to
write reusable algorithms compatible with many input image
types. However, this design choice is often made at the
expense of performance. We present an approach to preserve
efficiency in a generic image processing framework, by
leveraging data types features. Variants of generic
algorithms taking advantage of image types properties can
be defined, offering an adjustable trade-off between
genericity and efficiency. Our experiments show that these
generic optimizations can match dedicated code in terms of
execution times, and even sometimes perform better than
routines optimized by hand. Digital Topology software
should reflect the generality of the underlying
mathematics: mapping the latter to the former requires
genericity. By designing generic solutions, one can
effectively reuse digital topology data structures and
algorithms. We propose an image processing framework
focused on the Generic Programming paradigm in which an
algorithm on the paper can be turned into a single code,
written once and usable with various input types. This
approach enables users to design and implement new methods
at a lower cost, try cross-domain experiments and help
generalize results.},
keywords = {Generic Programming, Image Processing, Performance,
Olena},
lrdepaper = {http://www.lrde.epita.fr/dload/papers/levillain.14.ciarp.pdf},
lrdeslides = {http://www.lrde.epita.fr/dload/papers/levillain.14.ciarp.slides.pdf},
lrdenewsdate = {2014-09-10}
}
@InProceedings{ roynard.18.rrpr,
title = {An Image Processing Library in Modern {C++}: Getting
Simplicity and Efficiency with Generic Programming},
author = {Micha\"el Roynard and Edwin Carlinet and Thierry G\'eraud},
booktitle = {Proceedings of the 2nd Workshop on Reproducible Research
in Pattern Recognition (RRPR)},
year = {2018},
abstract = {As there are as many clients as many usages of an Image
Processing library, each one may expect different services
from it. Some clients may look for efficient and
production-quality algorithms, some may look for a large
tool set, while others may look for extensibility and
genericity to inter-operate with their own code base... but
in most cases, they want a simple-to-use and stable
product. For a C++ Image Processing library designer, it is
difficult to conciliate genericity, efficiency and
simplicity at the same time. Modern C++ (post 2011) brings
new features for library developers that will help
designing a software solution combining those three points.
In this paper, we develop a method using these facilities
to abstract the library components and augment the
genericity of the algorithms. Furthermore, this method is
not specific to image processing; it can be applied to any
C++ scientific library.}
}
@misc{pybind11,
author = {Wenzel Jakob and Jason Rhinelander and Dean Moldovan},
year = {2017},
note = {https://github.com/pybind/pybind11},
title = {pybind11 -- Seamless operability between C++11 and Python}
}
@misc{niebler1999boost,
title={Boost},
author={Niebler, Eric},
year={1999}
}
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
*.pdf
\ No newline at end of file
*.log
*.tmp
*~
/csi.pdf
/csi.tex
/figs/epita-blue-en.eps
/figs/epita-gray.eps
/figs/epita.eps
/figs/logo_lrde-blue.eps
/figs/logo_lrde-blue.mask.eps
/figs/logo_lrde-green.eps
/figs/logo_lrde-red.eps
/figs/logo_lrde.eps
/figs/logo_lrde.eps
/figs/logo_lrde.mask.eps
/figs/lrde-big.eps
/figs/lrde-red.eps
/figs/lrde_epita.eps
/figs/lrdemask.eps
/lrde-private.pdf
/lrde-private.tex
/lrde.pdf
/lrde.tex
/tmp.t2d
auto
image: registry.lrde.epita.fr/lrde-share:latest
stages:
- check
- publish
before_script:
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
lrde_publis:
stage: check
script:
- bin/bibtex-check bib/lrde.bib
artifacts:
paths:
- bib/lrde.bib
csi_reports:
stage: check
script:
- bin/bibtex-check bib/csi.bib
- 'bibtool "-- select{year \"$(date +%Y)\"}" bib/csi.bib | sed -rn "/@TechReport/ s/.*\\s([a-z]+.[0-9]+.seminar),/\\1/ p" | xargs -n1 bin/abstract --pdf'
artifacts:
paths:
- bib/csi.bib
- ./*.seminar.pdf
update_wiki:
stage: publish
script:
- ssh-add <(echo "$DOTFILES_SSH_PRIVATE_KEY")
- git clone ssh://git@git.archivel.fr:1122/clement/dotfiles.git
- dotfiles/bin/bibtex.py bib/lrde.bib
- dotfiles/bin/bibtex-csi.py bib/csi.bib
lrde.pdf:
stage: publish
script:
- make lrde.tex
- make lrde.pdf
artifacts:
paths:
- lrde.pdf
share_dir = .
include make/share.mk
include make/tex.mk
QUIET = @
host = www
# Put on the Internet.
dloaddir = /lrde/dload/papers
dload_DATA = lrde.pdf bib/lrde.bib
# Kept private to the LRDE.
papersdir = /lrde/doc/lrde/papers
papers_DATA = lrde.pdf lrde-private.pdf README-lrde-bib.txt
CLEANFILES = lrde.tex lrde.pdf lrde-private.tex lrde-private.pdf \
contents.html contents.txt list.bib \
list.pdf diffs.patch contents.bib contents_bib.html
all: check lrde.pdf
## ------- ##
## Check. ##
## ------- ##
# Our own *.bib that should obey our rules.
BIBS = \
lrde.bib csi.bib olena.bib tiger.bib \
gp.bib lang.bib mc.bib parallel.bib rr.bib sip.bib
# We don't use the dependencies here so that all the checks are run.
check:
$(share_bin_dir)/bibtex-check all
check-perms:
$(share_bin_dir)/bibtex-check perms
check-csi:
$(share_bin_dir)/bibtex-check csi
## Normalization.
bibneat = $(share_bin_dir)/bibneat
.PHONY: neat
neat:
for b in $(BIBS); do \
$(bibneat) $(share_bib_dir)/$$b; \
done; \
for b in $(BIBS); do \
$(share_bin_dir)/bibtex-check $(share_bib_dir)/$$b; \
done;
## ------------------------------- ##
## lrde.pdf and lrde-private.pdf. ##
## ------------------------------- ##
%.txt: $(share_bib_dir)/%.bib
rm -f $@.tmp
$(QUIET)bibtex2html -q $<
$(QUIET)html2text -nobs $*.html | \
sed -e 's/.*\[ bib .*//;/^==*$$/{s/.*//;q;}' >$@.tmp
chmod a-w $@.tmp
mv -f $@.tmp $@
# Create a LaTeX document to force the BibTeX check on lrde.bib.
make_bib = $(share_bin_dir)/make-bib.pl
%.tex: $(share_bib_dir)/%.bib
perl $(make_bib) $(share_bib_dir)/$*.bib >$*.tmp
chmod a-w $*.tmp
mv -f $*.tmp $*.tex
lrde.tex: $(make_bib)
%-private.tex: $(share_bib_dir)/%.bib
$(make_bib) --with-submitted $(share_bib_dir)/$*.bib >$*-private.tmp
chmod a-w $*-private.tmp
mv -f $*-private.tmp $*-private.tex
lrde-private.tex: $(make_bib)
view: lrde.pdf
xpdf lrde.pdf
## --------- ##
## install. ##
## --------- ##
install: $(dload_DATA) $(papers_DATA)
for f in $(dload_DATA); \
do \
chmod 664 $$f; \
case $(dloaddir) in \
(*:*) \
ssh doc@$(host) rm -f $(dloaddir)/$$f; \
scp $$f doc@$(host):$(dloaddir) \
;; \
(*) \
rm -f $(dloaddir)/$$f; \
cp $$f $(dloaddir) \
;; \
esac \
done
for f in $(papers_DATA); \
do \
chmod 664 $$f; \
case $(papersdir) in \
(*:*) \
ssh doc@$(host) rm -f $(papersdir)/$$f; \
scp $$f doc@$(host):$(papersdir) \
;; \
(*) \
rm -f $(papersdir)/$$f; \
cp $$f $(papersdir) \
;; \
esac \
done
## ----------------------- ##
## Updating from masters. ##
## ----------------------- ##
.PHONY: update update-bib update-styles
update: update-bib
update-bib:
bin/update-bib
# Sources.
GASTEX_STYLES = http://www.lsv.ens-cachan.fr/~gastin/gastex
FR_BIB_STYLES = http://www.lsv.ens-cachan.fr/~markey/BibTeX/bst
update: update-styles
update-styles:
wget $(GASTEX_STYLES)/gastex.sty -O styles/gastex.sty
wget $(GASTEX_STYLES)/gastex.pro -O styles/gastex.pro
wget http://igm.univ-mlv.fr/~lombardy/Vaucanson-G/vaucanson-g.tgz
tar zxvf vaucanson-g.tgz
rm vaucanson-g/VCManual.ps.gz
mv vaucanson-g/* styles/
rm -rf vaucanson-g vaucanson-g.tgz
wget $(FR_BIB_STYLES)/abbrv-fr.bst -O styles/abbrv-fr.bst
wget $(FR_BIB_STYLES)/abbrvnat-fr.bst -O styles/abbrvnat-fr.bst
wget $(FR_BIB_STYLES)/alpha-fr.bst -O styles/alpha-fr.bst
wget $(FR_BIB_STYLES)/apalike-fr.bst -O styles/apalike-fr.bst
wget $(FR_BIB_STYLES)/ieeetr-fr.bst -O styles/ieeetr-fr.bst
wget $(FR_BIB_STYLES)/plain-fr.bst -O styles/plain-fr.bst
wget $(FR_BIB_STYLES)/plainnat-fr.bst -O styles/plainnat-fr.bst
wget $(FR_BIB_STYLES)/siam-fr.bst -O styles/siam-fr.bst
wget $(FR_BIB_STYLES)/unsrt-fr.bst -O styles/unsrt-fr.bst
wget $(FR_BIB_STYLES)/unsrtnat-fr.bst -O styles/unsrtnat-fr.bst
doc/update-lrde-bib.txt
\ No newline at end of file
doc/share.txt
\ No newline at end of file
* make/tex.mk: rev.tex
Maybe using svninfo.sty would be a better option.
* bib: URLs
Automate the conversion from various fields for URLs to ony "note".
Check that the URLs are alive.
This diff is collapsed.
%% IEEEbcpat.bib
%%
%% Obsolete BibTeX bibliography string definitions for backward
%% compatibility of IEEEtran.bst - DO NOT USE FOR NEW WORK!
%%
%% NOTE: This text file uses MS Windows line feed conventions. When (human)
%% reading this file on other platforms, you may have to use a text
%% editor that can handle lines terminated by the MS Windows line feed
%% characters (0x0D 0x0A).
%%
%% The strings defined here are unchanged from the originals that were
%% contained in the older ieeetr.bst and IEEEbib.bst files.
%%
%% THESE STRING DEFINITIONS ARE NOT CORRECT FOR IEEE RELATED WORK!
%%
%% Please update your databases to use the modern IEEEabrv.bst and not
%% any strings contained here.
%%
%% Version 1.00 (2002/08/13)
%%
%% Composed by Michael Shell
%%
%% See:
%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
%% for latest version and current contact information.
%%
%%**********************************************************************
%% Legal Notice:
%% This code is offered as-is without any warranty either expressed or
%% implied; without even the implied warranty of MERCHANTABILITY or
%% FITNESS FOR A PARTICULAR PURPOSE!
%% User assumes all risk.
%% In no event shall IEEE or any contributor to this code be liable for
%% any damages or losses, including, but not limited to, incidental,
%% consequential, or any other damages, resulting from the use or misuse
%% of any information contained here.
%%
%% This code is distributed under the Perl Artistic License
%% ( http://language.perl.com/misc/Artistic.html )
%% and may be freely used, distributed and modified - subject to the
%% constraints therein.
%% Retain all contribution notices, credits and disclaimers.
%%
%% All comments are the opinions of their respective authors and are not
%% necessarily endorsed by the IEEE.
%%**********************************************************************
%
%
% USAGE:
%
% \bibliographystyle{mybstfile}
% \bibliography{IEEEbcpat,mybibfile}
@STRING{acmcs = "ACM Computing Surveys"}
@STRING{acta = "Acta Informatica"}
@STRING{cacm = "Communications of the ACM"}
@STRING{ibmjrd = "IBM Journal of Research and Development"}
@STRING{ibmsj = "IBM Systems Journal"}
@STRING{ieeese = "IEEE Transactions on Software Engineering"}
@STRING{ieeetc = "IEEE Transactions on Computers"}
@STRING{ieeetcad = "IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
@STRING{ipl = "Information Processing Letters"}
@STRING{jacm = "Journal of the ACM"}
@STRING{jcss = "Journal of Computer and System Sciences"}
@STRING{scp = "Science of Computer Programming"}
@STRING{sicomp = "SIAM Journal on Computing"}
@STRING{tocs = "ACM Transactions on Computer Systems"}
@STRING{tods = "ACM Transactions on Database Systems"}
@STRING{tog = "ACM Transactions on Graphics"}
@STRING{toms = "ACM Transactions on Mathematical Software"}
@STRING{toois = "ACM Transactions on Office Information Systems"}
@STRING{toplas = "ACM Transactions on Programming Languages and Systems"}
@STRING{tcs = "Theoretical Computer Science"}
This diff is collapsed.
This diff is collapsed.
% Acronyms (abbreviated).
% See also IEEEabrv.bib.
% Journals.
@string(ai = "Artificial Intelligence")
@string(cgip = "Computer Graphics, and Image Processing")
@string(cvgip = "Computer Vision, Graphics and Image Processing")
@string(cviu = "Computer Vision, Graphics and Image Processing: Image
Understanding")
@string(fss = "Fuzzy Sets and Systems")
@string(gmip = "Computer Vision, Graphics and Image Processing:
Graphical Models and Image Processing" )
@string(ijdar = "Intl. Journal on Document Analysis and Recognition")
@string(ijprai = "Intl. Journal of Pattern Recognition and Artificial
Intelligence")
@string(itcssp = "{IEEE} Trans. on Circuits, Systems and Signal
Processing")
@string(ivc = "Image and Vision Computing")
@string(jacm = "Journal of the ACM")
@string(jas = "Journal of Applied Statistics")
@string(jasa = "Journal of the American Statistical Association")
@string(jasp = "EURASIP Journal on Applied Signal Processing")
@string(jc = "Journal of Cybernetics")
@string(jei = "Journal of Electronic Imaging")
@string(jmiv = "Journal of Mathematical Imaging and Vision")
@string(jvcir = "Journal of Visual Communication and Image
Representation")
@string(pr = "Pattern Recognition")
@string(prl = "Pattern Recognition Letters")
@string(sp = "Signal Processing")
@string(spl = "Signal Processing Letters")
% International conferences.
@string(acsc = "ACM Annual Computer Science Conference")
@string(eccv = "European Conference on Computer Vision")
@string(ibpria = "Iberian Conference on Pattern Recognition and Image
Analysis")
@string(icassp = "{IEEE} Intl. Conference on Acoustics, Speech, and
Signal Processing")
@string(iccv = "Intl. Conference on Computer Vision")
@string(icvpr = "{IEEE} Intl. Conference on Computer Vision and Pattern
Recognition")
@string(icga = "{IEEE} Computer Graphics and Applications")
@string(icip = "{IEEE} Intl. Conference on Image Processing")
@string(icpr = "Intl. Conference on Pattern Recognition")
@string(iembs = "{IEEE} Intl. Conference on Engineering in Medicine and
Biology Society")
@string(ipmu = "Intl. Conference on Information Processing and
Management of Uncertainty in Knowledge-Based Systems")
@string(ismm = "Intl. Symposium on Mathematical Morphology")
@string(ismm02 = "Mathematical Morphology, Proceedings of the 6th
Intl. Symposium")
@string(ismm05 = "Mathematical Morphology: 40 Years On (Proc. of ISMM)")
@string(nsip = "{IEEE} Workshop on Nonlinear Signal and Image Processing")
% French conferences.
@string(icisp = "Intl. Conference on Image and Signal Processing")
@string(gretsi = "Colloque sur le Traitement du Signal et des Images")
@string(rfia = "Congr{\`e}s Francophone {AFRIF}-{AFIA} de Reconnaissance
des Formes et Intelligence Artificielle")
% Places.
@string(univgronigen = "Univ. of Groningen, the Netherlands")
% Acronyms.
% See also IEEEfull.bib.
% Journals.
@string(ai = "Artificial Intelligence")
@string(cgip = "Computer Graphics, and Image Processing")
@string(cvgip = "Computer Vision, Graphics and Image Processing")
@string(cviu = "Computer Vision, Graphics and Image Processing: Image
Understanding")
@string(fss = "Fuzzy Sets and Systems")
@string(gmip = "Computer Vision, Graphics and Image Processing:
Graphical Models and Image Processing" )
@string(ijdar = "International Journal on Document Analysis and
Recognition")
@string(ijprai = "International Journal of Pattern Recognition and
Artificial Intelligence")
@string(itcssp = "{IEEE} Transactions on Circuits, Systems and Signal
Processing")
@string(ivc = "Image and Vision Computing")
@string(jacm = "Journal of the ACM")
@string(jas = "Journal of Applied Statistics")
@string(jasa = "Journal of the American Statistical Association")
@string(jasp = "EURASIP Journal on Applied Signal Processing")
@string(jc = "Journal of Cybernetics")
@string(jei = "Journal of Electronic Imaging")
@string(jmiv = "Journal of Mathematical Imaging and Vision")
@string(jvcir = "Journal of Visual Communication and Image
Representation")
@string(pr = "Pattern Recognition")
@string(prl = "Pattern Recognition Letters")
@string(sp = "Signal Processing")
@string(spl = "Signal Processing Letters")
% International conferences.
@string(acsc = "ACM Annual Computer Science Conference")
@string(eccv = "European Conference on Computer Vision")
@string(ibpria = "Iberian Conference on Pattern Recognition and Image
Analysis")
@string(icassp = "{IEEE} International Conference on Acoustics, Speech,
and Signal Processing")
@string(iccv = "International Conference on Computer Vision")
@string(icvpr = "{IEEE} International Conference on Computer Vision and
Pattern Recognition")
@string(icga = "{IEEE} Computer Graphics and Applications")
@string(icip = "{IEEE} International Conference on Image Processing")
@string(icpr = "International Conference on Pattern Recognition")
@string(iembs = "{IEEE} International Conference on Engineering in
Medicine and Biology Society")
@string(ipmu = "International Conference on Information Processing and
Management of Uncertainty in Knowledge-Based Systems")
@string(ismm = "Proceedings of the International Symposium on
Mathematical Morphology")
@string(ismm02 = "Mathematical Morphology, Proceedings of the 6th
Intl. Symposium")
@string(ismm05 = "Mathematical Morphology: 40 Years On, Proceedings of
the International Symposium (ISMM)")
@string(nsip = "{IEEE} Workshop on Nonlinear Signal and Image Processing
(NSIP)")
% French conferences.
@string(icisp = "International Conference on Image and Signal
Processing")
@string(gretsi = "Colloque sur le Traitement du Signal et des Images")
@string(rfia = "Congr{\`e}s Francophone {AFRIF}-{AFIA} de Reconnaissance
des Formes et Intelligence Artificielle")
% Places.
@string(univgronigen = "University of Groningen, the Netherlands")
This diff is collapsed.
@misc{TigerAG,
title = {Tiger in AG},
author = {Arthur Baars},
howpublished = {\url{http://www.cs.uu.nl/wiki/bin/view/HUT/TigerCompiler}}
}
@misc{swierstra.uuag,
author = {S. D. Swierstra and Arthur Baars and Andres L\"oh},
title = {The {UU-AG} Attribute Grammar System},
year = {2003},
howpublished = {\url{http://www.cs.uu.nl/wiki/bin/view/HUT/AttributeGrammarSystem}}
}
@inproceedings{couvreur.04.ciaa,
author = {Jean-Michel Couvreur},
title = {A {BDD}-Like Implementation of an Automata Package.},
booktitle = {CIAA},
year = {2004},
pages = {310-311},
ee = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=3317{\&}spage=310},
crossref = {zzzref.04.ciaa},
}
@proceedings{zzzref.04.ciaa,
editor = {Michael Domaratzki and
Alexander Okhotin and
Kai Salomaa and
Sheng Yu},
title = {Implementation and Application of Automata, 9th International
Conference, CIAA 2004, Kingston, Canada, July 22-24, 2004,
Revised Selected Papers},
booktitle = {CIAA},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
volume = {3317},
year = {2004},
isbn = {3-540-24318-6},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
This diff is collapsed.
@techreport{fraser.91.burg,
author = {Christopher W. Fraser and Robert R. Henry and Todd
A. Proebsting},
title = {{BURG}--Fast Optimal Instruction Selection and Tree
Parsing},
number = {CS-TR-1991-1066},
year = {1991},
url = {citeseer.ist.psu.edu/henry92burg.html}
}
@article{ fraser.92.acm,
author = "Christopher W. Fraser and David R. Hanson and Todd
A. Proebsting",
title = "Engineering a Simple, Efficient Code-Generator
Generator",
journal = "ACM Letters on Programming Languages and Systems",
volume = "1",
number = "3",
month = "September",
publisher = "ACM Press",
pages = "213--226",
year = "1992",
url =
"citeseer.ist.psu.edu/article/fraser92engineering.html"
}
@article{ fraser.99.sigplan,
author = "Christopher W. Fraser and Todd A. Proebsting",
title = "Finite-State Code Generation",
journal = "ACM SIG{\-}PLAN Notices",
volume = "34",
number = "5",
pages = "270--280",
year = "1999",
url = "citeseer.ist.psu.edu/319609.html"
}
@article{ gough.97.acsc,
author = "K. John Gough and Jeff Ledermann",
title = "Optimal Code-Selection using {MBURG}",
journal = "Australian Computer Science Comm.: Proc. 20th
Australasian Computer Science Conf., ACSC",
volume = "19",
number = "1",
month = "5--7~",
editor = "Malti Patel",
pages = "441--450",
year = "1997",
url = "citeseer.ist.psu.edu/472529.html"
}
@misc{ proebsting.95.onepass,
author = "Todd A. Proebsting and Benjamin R. Whaley",
title = "One-Pass, Optimal Tree Parsing - With Or Without
Trees",
year = "1995",
url = "citeseer.ist.psu.edu/193477.html"
}
This diff is collapsed.
@InProceedings{llvm.04.cgo,
author = {Chris Lattner and Vikram Adve},
title = {LLVM: A Compilation Framework for Lifelong Program Analysis
\& Transformation},
booktitle = {Proceedings of the 2004 International Symposium on Code
Generation and Optimization (CGO'04)},
address = {Palo Alto, California},
month = {Mar},
year = {2004}
}
@InProceedings{moreau.03.apattern,
author = {Pierre-\'Etienne Moreau and Christophe Ringeissen and Marian
Vittek},
title = {A Pattern Matching Compiler for Multiple Target Languages},
booktitle = {12th Conference on Compiler Construction, Warsaw (Poland),
volume 2622 of LNCS},
year = {2003},
pages = {61--76},
publisher = {SpringerVerlag}
}
@Misc{ xt,
key = {Xt},
year = {2003},
title = {A Bundle of Program Transformation Tools},
howpublished = {Available on the Internet},
url = {http://www.program-transformation.org/xt}
}
@InProceedings{marlow.08.ismm,
title = {Parallel generational-copying garbage collection
with a block-structured heap},
author = {Simon Marlow and Tim Harris and Roshan P. James and
Simon Peyton Jones},
abstract = {We present a parallel generational-copying garbage
collector implemented for the Glasgow Haskell
Compiler. We use a block-structured memory
allocator, which provides a natural granularity for
dividing the work of GC between many threads,
leading to a simple yet effective method for
parallelising copying GC. The results are
encouraging: we demonstrate wall-clock speedups of
on average a factor of 2 in GC time on a commodity
4-core machine with no programmer intervention,
compared to our best sequential GC.},
booktitle = {Proceedings of the International Symposium on Memory
Management 2008},
year = 2008,
}
\ No newline at end of file
@Book{taft.07.adarm,
author = {S. Tucker Taft and Robert A. Duff and Randall
L. Brukardt and Erhard Ploedereder and Pascal Leroy},
title = {Ada 2005 Reference Manual. Language and Standard
Libraries: International Standard {ISO/IEC}
8652/1995(E) with Technical Corrigendum 1 and
Amendment 1},
publisher = pub-springer,
year = 2007,
series = coll-lncs,
ISBN = 3540693351,
}
% Programming languages.
@Book{ alexandrescu.10.d,
author = {Andrei Alexandrescu},
title = {The {D} Programming Language},
publisher = {Addison-Wesley Professional},
year = 2010,
isbn = {978-0321635365}
}
@InProceedings{ atkinson.78.acm,
author = {Russell R. Atkinson and Barbara H. Liskov and Robert W.
Scheifler},
title = {Aspects of Implementing {CLU}},
booktitle = {Proceedings of the 1978 annual conference},
series = {ACM '78},
year = 1978,
isbn = {0-89791-000-1},
location = {Washington, D.C., United States},
pages = {123--129},
numpages = 7,
doi = {http://doi.acm.org/10.1145/800127.804079},
acmid = 804079,
publisher = {ACM},
address = {New York, NY, USA},
keywords = {CLU, Exception handling, Implementation methods,
Iterators, Parameterized modules, Programming language}
}
@InProceedings{ beazley.96.usenix,
author = {David M. Beazley},
title = {{SWIG}: an easy to use tool for integrating scripting
languages with {C} and {C++}},
booktitle = {Proceedings of the 4th conference on USENIX Tcl/Tk
Workshop},
year = 1996,
location = {Monterey, California},
volume = 4,
publisher = {USENIX Association},
address = {Berkeley, CA, USA}
}
@inproceedings{bierman.2010.ecoop,
author = {Gavin M. Bierman and Erik Meijer and Mads Torgersen},
title = {Adding Dynamic Types to {C}\({}^{\mbox{{\#}}}\)},
booktitle = {{ECOOP} 2010 - Object-Oriented Programming, 24th
European Conference, Maribor, Slovenia, June 21-25,
2010. Proceedings},
pages = {76--100},
year = {2010},
crossref = {ecoop.2010},
abstract = {Developers using statically typed languages such as
C# and Java are increasingly having to interoperate
with APIs and object models defined in dynamic
languages. This impedance mismatch results in code
that is difficult to understand, awkward to analyze,
and expensive to maintain. In this paper we describe
new features in C#4.0 that support the safe
combination of dynamically and statically typed code
by deferring type checking of program fragments with
static type dynamic until runtime.When executed,
these dynamic code fragments are type-checked and
resolved using the same rules as statically typed
code. We formalize these features in a core fragment
of C# and prove important safety properties. In
particular, we show that subtyping remains
transitive.}
}
@Book{ budd.95.leda,
author = {Timothy Budd},
title = {Multiparadigm programming in {Leda}},
publisher = {Addison Wesley},
year = 1995,
address = {Reading, MA, USA},
isbn = {0-201-82080-3}
}
@proceedings{ecoop.2010,
editor = {Theo D'Hondt},
title = {{ECOOP} 2010 - Object-Oriented Programming, 24th European Conference,
Maribor, Slovenia, June 21-25, 2010. Proceedings},
series = {Lecture Notes in Computer Science},
volume = {6183},
publisher = {Springer},
year = {2010},
url = {http://dx.doi.org/10.1007/978-3-642-14107-2},
doi = {10.1007/978-3-642-14107-2},
isbn = {978-3-642-14106-5},
timestamp = {Thu, 01 Jul 2010 07:20:31 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/ecoop/2010},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@Book{ gosling.05.book,
title = {The {Java}\texttrademark Language Specification},
author = {James Gosling and Bill Joy and Guy Steele and Gilad
Bracha},
publisher = {Addison-Wesley},
edition = {Third},
isbn = {0321246780},
year = 2005
}
@Misc{ iso.05.ada,
author = {ISO/IEC},
title = {{Ada} Reference Manual, {ISO/IEC} 8652:1995(E), with
Technical Corrigendum 1 and Amendment 1 -- Language and
Standard Libraries},
year = 2005
}
@Misc{ iso.06.eiffel,
author = {ISO/IEC},
title = {{ISO/IEC} 25436:2006. {Information technology} ---
{Eiffel}: Analysis, Design and Programming Language},
year = 2006
}
@Misc{ iso.08.fortran,
author = {ISO/IEC},
title = {{ISO/IEC} 1539-1:2010 (E). {Programming languages} --
{Fortran} -- Part 1: Base language},
year = 2010
}
@Misc{ iso.11.c,
author = {ISO/IEC},
title = {{ISO/IEC} 9899:2011 (E). {Programming languages} --- {C}},
year = 2011,
month = dec
}
@Misc{ iso.99.c,
author = {ISO/IEC},
title = {{ISO/IEC} 9899:1999 (E). {Programming languages} --- {C}},
year = 1999
}
@Misc{ lang-bench.www,
title = {The Computer Language Benchmarks Game},
howpublished = {\url{http://shootout.alioth.debian.org/}}
}
@InProceedings{ liskov.93.hopl,
author = {Barbara Liskov},
title = {A history of {CLU}},
booktitle = {The second ACM SIGPLAN conference on History of
programming languages},
series = {HOPL-II},
year = 1993,
isbn = {0-89791-570-4},
location = {Cambridge, Massachusetts, United States},
pages = {133--147},
numpages = 15,
doi = {http://doi.acm.org/10.1145/154766.155367},
acmid = 155367,
publisher = {ACM},
address = {New York, NY, USA}
}
@inproceedings{meijer.2004.oopsla,
title = {Static Typing Where Possible, Dynamic Typing When
Needed: The End of the Cold War Between Programming
Languages},
author = {Erik Meijer and Peter Drayton},
booktitle = {OOPSLA'04 Workshop on Revival of Dynamic Languages},
year = {2004},
abstract = {{This paper argues that we should seek the golden
middle way between dynamically and statically typed
languages.}},
}
@Book{ ousterhout.09.book,
author = {John Kenneth Ousterhout and Ken Jones},
title = {{Tcl} and the {Tk} Toolkit},
publisher = {Addison-Wesley},
year = 2009,
series = {Addison-Wesley Professional Computing Series},
edition = {Second},
isbn = {978-0321336330}
}
@Book{ van-rossum.03.book,
author = {Guido Van Rossum},
editor = {Fred L. Jr. Drake},
title = {The {Python} Language Reference Manual},
publisher = {Network Theory},
year = 2003,
isbn = {978-0954161781}
}
This diff is collapsed.
@Manual{cecil.06.cecil-lib,
title = {Cecil Standard Library Reference Manual},
author = {The Cecil Group},
organization = {Department of Computer Science and Engineering,
University of Washington},
address = {Box 352350, Seattle, Washington 98195-2350},
edition = {Vortex 3.3},
month = feb,
year = 2006,
}
@Manual{cecil.06.diesel-lib,
title = {Diesel Standard Library Reference Manual},
author = {The Cecil Group},
organization = {Department of Computer Science and Engineering,
University of Washington},
address = {Box 352350, Seattle, Washington 98195-2350},
edition = {Vortex 3.3},
month = feb,
year = 2006,
}
@Unpublished{cecil.06.rtl,
author = {Vortex {RTL} Textual Description Grammar},
title = {The Cecil Group},
month = {mar},
year = 2006,
}
@Unpublished{cecil.06.vortex,
author = {How to Use the Vortex Compiler and Environment},
title = {The Cecil Group},
month = {mar},
year = 2006,
}
@Unpublished{cecil.06.vortex-perf,
author = {Performance Evaluation of Vortex-compiled
Applications},
title = {The Cecil Group},
month = {mar},
year = 2006,
}
@Unpublished{cecil.06.vortex-pragmas,
author = {Pragmas and Vortex},
title = {The Cecil Group},
month = {mar},
year = 2006,
}
@Unpublished{chambers.04.cecil,
author = {Craig Chambers},
title = {The {Cecil} Language Specification and Rationale:
Version 3.2},
year = 2004,
month = feb,
}
@unpublished{chambers.06.diesel,
author = {Craig Chambers},
title = {The {Diesel} Language Specification and Rationale:
Version 0.2},
year = 2006,
month = jan,
}
% Also appeared in a Journal. What is the best BibTeX entry for it?
%
% article{ chambers93predicate,
% author = "Craig Chambers",
% title = "Predicate Classes",
% journal = "Lecture Notes in Computer Science",
% volume = "707",
% pages = "268--??",
% year = "1993",
% url = "citeseer.ist.psu.edu/chambers93predicate.html" }
@inproceedings{chambers.93.ecoop,
author = {Craig Chambers},
title = {Predicate Classes},
booktitle = {ECOOP'93: Proceedings of the 7th European Conference
on Object-Oriented Programming},
year = {1993},
isbn = {3-540-57120-5},
pages = {268--296},
publisher = {Springer-Verlag},
address = {London, UK},
abstract = {Predicate classes are a new linguistic construct
designed to complement normal classes in
object-oriented languages. Like a normal class, a
predicate class has a set of superclasses, methods,
and instance variables. However, unlike a normal
class, an object is automatically an instance of a
predicate class whenever it satisfies a predicate
expression associated with the predicate class. The
predicate expression can test the value or state of
the object, thus supporting a form of implicit
property-based classification that augments the
explicit type-based classification provided by
normal classes. By associating methods with
predicate classes, method lookup can depend not only
on the dynamic class of an argument but also on its
dynamic value or state. If an object is modified,
the property-based classification of an object can
change over time, implementing shifts in major
behavior modes of the object. A version of predicate
classes has been designed and implemented in the
context of the Cecil language.},
}
@Manual{caseau.01.claire,
title = {Introduction to the CLAIRE Programming Language Version 3.2},
author = {Yves Caseau and Fran\,cois Laburthe},
edition = {3.2},
month = aug,
year = 2001,
}
@Manual{caseau.06.claire,
title = {Claire v3.3.39 documentation},
author = {Yves Caseau and Sylvain Benilan},
edition = {3.3.39},
month = dec,
year = 2006,
}
@Misc{ caseau.96.claire,
author = {Yves Caseau and Fran\,cois Laburthe},
title = {{CLAIRE}: a brief overview},
year = 1996,
}
@PhdThesis{josset.02.phd,
author = {Sp\'ecification et compilation d'un langage de haut niveau},
title = {Fran\,cois-Xavier josset},
school = {Universit\'e de Versailles Saint-Quentin-en-Yvelines},
year = {2002},
month = {jun},
}
@PhdThesis{laburthe.98.phd,
author = {Fran\,cois Laburthe},
title = {Contraintes et Algorithmes en Optimisation Combinatoire},
school = {Universit\'e Paris VII},
year = {1998},
month = sep,
}
@Book{virding.96.erlang,
title = {Concurrent Programming in Erlang},
author = {Robert Virding and Claes Wikstrom and Mike Williams},
edition = 2,
publisher = {Prentice Hall PTR},
url =
{http://www.amazon.com/Concurrent-Programming-Erlang-Robert-Virding/dp/013508301X%3FSubscriptionId%3D13CT5CVB80YFWJEPWS02%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D013508301X},
year = 1996,
biburl =
{http://www.bibsonomy.org/bibtex/289f9fdf7b552a6ba4e8663bfb2ec6287/gron},
description = {Amazon.com: Concurrent Programming in Erlang (2nd
Edition): Robert Virding, Claes Wikstrom, Mike
Williams, Joe Armstrong: Books},
ean = 9780135083017,
asin = {013508301X},
isbn = {013508301X},
dewey = {005.133},
keywords = {Concurrency PhD Proposal erlang }
}
@inproceedings{apel.2009.sc,
oldkeys = {Apel:2009:FCF:1575711.1575714},
author = {Apel, Sven and K\"{a}stner, Christian and
Gr\"{o}\sslinger, Armin and Lengauer, Christian},
title = {Feature (De)composition in Functional Programming},
booktitle = {Proceedings of the 8th International Conference on
Software Composition},
series = {SC '09},
year = {2009},
isbn = {978-3-642-02654-6},
location = {Zurich, Switzerland},
pages = {9--26},
numpages = {18},
url = {http://dx.doi.org/10.1007/978-3-642-02655-3_3},
doi = {10.1007/978-3-642-02655-3_3},
acmid = {1575714},
publisher = {Springer-Verlag},
address = {Berlin, Heidelberg},
}
@inproceedings{fournet.00.fsttcs,
author = {C{\'e}dric Fournet and Luc Maranget and Cosimo
Laneve and Didier R{\'e}my},
title = {Inheritance in the Join Calculus},
booktitle = {Foundations of Software Technology and Theoretical
Computer Science},
year = 2000,
month = dec,
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag},
volume = {1974},
abstract = {We propose an object-oriented calculus with internal
concurrency and class-based inheritance that is
built upon the join calculus. Method calls, locks,
and states are handled in a uniform manner, using
labeled messages. Classes are partial message
definitions that can be combined and transformed. We
design operators for behavioral and synchronization
inheritance. We also give a type system that
statically enforces basic safety properties. Our
model is compatible with the JoCaml implementation
of the join calculus. },
pdf = {http://cristal.inria.fr/~remy/work/ojoin/ojoin.pdf},
html = {http://cristal.inria.fr/~remy/work/ojoin/}
}
@misc{fournet.03.afp,
author = {C\'edric Fournet and Fabrice Le Fessant and Luc
Maranget and Alan Schmitt},
title = {JoCaml: a Language for Concurrent Distributed and
Mobile Programming},
booktitle = {Advanced Functional Programming: 4th International
School, AFP 2002},
editors = {Johan Jeuring, Simon Peyton Jones},
year = 2003,
series = {Lecture Notes in Computer Science},
volume = 2638,
publisher = {Springer-Verlag},
abstract = {In these lecture notes, we give an overview of
concurrent, distributed, and mobile programming
using JoCaml. JoCaml is an extension of the
Objective Caml language. It extends OCaml with
support for concurrency and synchronization, the
distributed execution of programs, and the dynamic
relocation of active program fragments during
execution.}
}
@inproceedings{hofer.2007.foal,
oldkeys = {Hofer:2007:RAM:1233833.1233838},
author = {Hofer, Christian and Ostermann, Klaus},
title = {On the relation of aspects and monads},
booktitle = {Proceedings of the 6th workshop on Foundations of
aspect-oriented languages},
series = {FOAL '07},
year = {2007},
isbn = {978-1-59593-671-4},
location = {Vancouver, British Columbia, Canada},
pages = {27--33},
numpages = {7},
url = {http://doi.acm.org/10.1145/1233833.1233838},
doi = {10.1145/1233833.1233838},