Publications, Jaakko Järvi

Journal articles

[1] Ronald Garcia, Jaakko Järvi, Andrew Lumsdaine, Jeremy Siek, and Jeremiah Willcock. An extended comparative study of language support for generic programming. Journal of Functional Programming, 2007. To appear.
[ bib ]
[2] Douglas Gregor, Jaakko Järvi, Mayuresh Kulkarni, Andrew Lumsdaine, David Musser, and Sibylle Schupp. Generic programming and high-performance libraries. International Journal of Parallel Programming, 33(2-3):145-164, June 2005.
[ bib | .pdf ]
[3] Jaakko Järvi, Gary Powell, and Andrew Lumsdaine. The Lambda Library : unnamed functions in C++. Software-Practice and Experience, 33:259-291, 2003.
[ bib | .pdf ]
[4] Jaakko Järvi, Jeremiah Willcock, Howard Hinnant, and Andrew Lumsdaine. Function overloading based on arbitrary properties of types. C/C++ Users Journal, 21(6):25-32, June 2003.
[ bib ]
[5] Irina Virtanen, Eeva Ekholm, Tero Aittokallio, Jarno Tähtinen, Jussi Salmi, Jaakko Järvi, Päivi Polo-Kantola, and Olli Polo. State of vigilance, oestrogen replacement therapy, and libid profile as modifiers of nocturnal movement-induced heart rate responces. Clinical Physiology and Functional Imaging, 23(5):293-299, 2003.
[ bib ]
[6] Jaakko Järvi. Tuple types and multiple return values. C/C++ Users Journal, 19:24-35, August 2001.
[ bib ]
[7] Jaakko Järvi. Object-oriented model for partially separable functions in parameter estimation. Acta Cybernetica, 14(2):285-302, 1999.
[ bib | .ps ]
[8] Tero Aittokallio, Mats Gyllenberg, Jaakko Järvi, Olli Nevalainen, and Olli Polo. Detection of high-frequency respiratory movements during sleep. Computer Methods and Programs in Biomedicine, 61(3):171-185, 2000.
[ bib ]
[9] Jaakko Järvi, Samuel Nyman, Martti Komu, and Jari J. Forsström. A PC-program for automatic analysis of NMR spectrum series. Computer Methods and Programs in Biomedicine, 52:213-222, 1997.
[ bib ]

Conference articles

[1] Jacob Smith, Gabriel Dos Reis, and Jaakko Järvi. Algorithmic differentiation in Axiom. In ISSAC '07: Proceedings of the 2007 international symposium on Symbolic and algebraic computation, 2007. To appear.
[ bib ]
[2] Douglas Gregor and Jaakko Järvi. Variadic templates for C++. In SAC '07: Proceedings of the 2007 ACM symposium on Applied computing, New York, NY, USA, March 2007. ACM Press. To appear.
[ bib ]
[3] Douglas Gregor, Jaakko Järvi, Jeremy Siek, Bjarne Stroustrup, Gabriel Dos Reis, and Andrew Lumsdaine. Concepts: linguistic support for generic programming in C++. In OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 291-310, New York, NY, USA, 2006. ACM Press.
[ bib ]
[4] Jaakko Järvi, Douglas Gregor, Jeremiah Willcock, Andrew Lumsdaine, and Jeremy Siek. Algorithm specialization in generic programming: challenges of constrained generics in C++. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, pages 272-282, Ottawa, Ontario, Canada, 2006. ACM Press.
[ bib ]
[5] Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. Associated types and constraint propagation for mainstream object-oriented generics. In OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applications, pages 1-19, New York, NY, USA, 2005. ACM Press.
[ bib ]
[6] Ronald Garcia, Jaakko Järvi, Andrew Lumsdaine, Jeremy Siek, and Jeremiah Willcock. A comparative study of language support for generic programming. In Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pages 115-134. ACM Press, October 2003.
[ bib | .html ]
[7] Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. Concept-controlled polymorphism. In Frank Pfennig and Yannis Smaragdakis, editors, Generative Programming and Component Engineering, volume 2830 of LNCS, pages 228-244. Springer Verlag, September 2003.
[ bib | .html ]
[8] Jaakko Järvi. C++ function object binders made easy. In Proceedings of the Generative and Component-Based Software Engineering'99, volume 1799 of Lecture Notes in Computer Science, pages 165-177, Berlin, Germany, August 2000. Springer.
[ bib | .html ]
[9] Jaakko Järvi. Compile time recursive objects in C++. In Technology of Object-Oriented Languages and Systems, pages 66-77. IEEE Computer Society Press, 1998.
[ bib | .html ]
[10] Jaakko Järvi. Processing sparse vectors during compile time in C++. In Scientific Computing in Object-Oriented Parallel Environments, volume 1343 of Lecture Notes in Computer Science, pages 41-48. Springer-Verlag, 1997.
[ bib | .html ]

Workshop articles

[1] Jacob Smith, Jaakko Järvi, and Thomas Ioerger. A parametrized iterator request framework for generic libraries. In Workshop of Library-Centric Software Design at OOPSLA'06, Portland Oregon, October 2006. (short paper).
[ bib ]
[2] Yuriy Solodkyy, Jaakko Järvi, and Esam Mlaih. Extending type systems in a library - type-safe XML processing in C++. In Workshop of Library-Centric Software Design at OOPSLA'06, Portland Oregon, October 2006.
[ bib ]
[3] Lubomir Bourdev and Jaakko Järvi. Efficient run-time dispatching in generic programming with minimal code bloat. In Workshop of Library-Centric Software Design at OOPSLA'06, Portland Oregon, October 2006.
[ bib ]
[4] Gabriel Dos Reis and Jaakko Järvi. What is generic programming? In Proceedings of the First International Workshop of Library-Centric Software Design (LCSD '05). An OOPSLA '05 workshop, October 2005.
[ bib ]
[5] Jaakko Järvi, Andrew Lumsdaine, Douglas Gregor, Mayuresh Kulkarni, David Musser, and Sibylle Schupp. Generic programming and high-performance libraries. In Workshop on Next Generation Software at IPDPS 2004, Santa Fe, New Mexico, April 2004.
[ bib ]
[6] Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. Algorithm specialization and concept constrained genericity. In Concepts: a Linguistic Foundation of Generic Programming at Adobe Tech Summit, San Jose, CA. Adobe Systems, April 2004.
[ bib | .pdf ]
[7] Jeremiah Willcock, Jaakko Järvi, Andrew Lumsdaine, and David Musser. A formalization of concepts for generic programming. In Concepts: a Linguistic Foundation of Generic Programming at Adobe Tech Summit, San Jose, CA. Adobe Systems, April 2004.
[ bib | .pdf ]
[8] Jaakko Järvi, Andrew Lumsdaine, Jeremy Siek, and Jeremiah Willcock. An analysis of constrained polymorphism for generic programming. In Kei Davis and Jörg Striegnitz, editors, Multiparadigm Programming 2003: Proceedings of the MPOOL Workshop at OOPSLA'03, John von Neumann Institute of Computing series, pages 87-107, Anaheim, CA, October 2003.
[ bib | .pdf ]
[9] Jaakko Järvi and Gary Powell. Side effects and partial function application in C++. In Proceedings of the Multiparadigm Programming with OO Languages Workshop (MPOOL'01) at ECOOP 2001, John von Neumann Institute of Computing series, pages 43-60, 2001.
[ bib | .pdf ]
[10] Jaakko Järvi and Gary Powell. The lambda library : Lambda abstraction in C++. In Proceedings of the Second Workshop on C++ Template Programming (TMPW'01) at OOPSLA 2001, October 2001.
[ bib | .pdf ]

Software

[1] Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. Boost enable_if Templates in Boost Utility Library. www.boost.org, 2003.
[ bib ]
[2] Jaakko Järvi and Gary Powell. The Boost Lambda Library. www.boost.org, 2002.
[ bib ]
[3] Jaakko Järvi. The Boost Tuple Library. www.boost.org, 2001.
[ bib ]

C++ standardization work

[1] Douglas Gregor, Jaakko Järvi, Jens Maurer, and Jason Merrill. Proposed wording for variadic templates (revision 1). Technical Report N2191=07-0051, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++, March 2007.
[ bib ]
[2] Douglas Gregor and Jaakko Järvi. Variadic templates for the C++0x standard library (revision 1). Technical Report N2192=07-0052, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++, March 2007.
[ bib ]
[3] Douglas Gregor and Jaakko Järvi. decltype for the C++0x standard library. Technical Report N2194=07-0054, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++, March 2007.
[ bib ]
[4] Douglas Gregor, Jaakko Järvi, Jens Maurer, and Jason Merrill. Proposed wording for variadic tempplates. Technical Report N2152=07-0012, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++, January 2007.
[ bib | .pdf ]
[5] Douglas Gregor and Jaakko Järvi. Variadic templates for the C++0x standard library. Technical Report N2151=07-0011, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++, January 2007.
[ bib | .pdf ]
[6] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Decltype (revision 6): proposed wording. Technical Report N2115=06-0185, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, November 2006.
[ bib | .pdf ]
[7] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Decltype (revision 5). Technical Report N1978=06-0048, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, April 2006.
[ bib | .pdf ]
[8] Jeremiah Willcock, Jaakko Järvi, Douglas Gregor, Bjarne Stroustrup, and Andrew Lumsdaine. Lambda functions and closures for C++. Technical Report N1968=06-0038, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, February 2006.
[ bib | .pdf ]
[9] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Deducing the type of variable from its initializer expression (revision 4). Technical Report N1984=06-0054, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, April 2006.
[ bib | .pdf ]
[10] Douglas Gregor, Jaakko Järvi, and Gary Powell. Variadic templates (revision 3). Technical Report N2080=06-0150, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++, October 2006.
[ bib | .pdf ]
[11] Jeremy Siek, Douglas Gregor, Ronald Garcia, Jeremiah Willcock, Jaakko Järvi, and Andrew Lumsdaine. Concepts for C++0x (Revision 1). Technical Report N1849=05-0109, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, August 2005.
[ bib | .pdf ]
[12] Jeremy Siek, Douglas Gregor, Ronald Garcia, Jeremiah Willcock, Jaakko Järvi, and Andrew Lumsdaine. Concepts for C++0x. Technical Report N1758=05-0018, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, January 2005.
[ bib | .pdf ]
[13] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Deducing the type of variable from its initializer expression (revision 3). Technical Report N1894=04-0154, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, October 2005.
[ bib | .pdf ]
[14] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Deducing the type of variable from its initializer expression (revision 2). Technical Report N1794=04-0054, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, April 2005.
[ bib | .pdf ]
[15] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Deducing the type of variable from its initializer expression. Technical Report N1721=04-0161, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, October 2004.
[ bib | .pdf ]
[16] Jaakko Järvi, Bjarne Stroustrup, and Gabriel Dos Reis. Decltype and auto (revision 4). Technical Report N1705=04-0145, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, September 2004.
[ bib | .pdf ]
[17] Douglas Gregor, Jaakko Järvi, and Gary Powell. Variadic templates: Exploring the design space. Technical Report N1704=04-0144, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming language C++, September 2004. www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1704.pdf.
[ bib | .pdf ]
[18] Gary Powell, Douglas Gregor, and Jaakko Järvi. Overloading operator.() & operator.*(). Technical Report N1671=04-0111, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, September 2004.
[ bib ]
[19] Jaakko Järvi and Bjarne Stroustrup. Mechanisms for querying types of expressions: Decltype and auto revisited. Technical Report N1527=03-0110, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, September 2003. www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1527.pdf.
[ bib | .pdf ]
[20] Jaakko Järvi, Bjarne Stroustrup, Douglas Gregor, and Jeremy Siek. Decltype and auto. Technical Report N1478=03-0061, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, April 2003. www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1478.pdf.
[ bib | .pdf ]
[21] Jaakko Järvi. Proposal for adding tuple types into the standard library. Technical Report N1403=02-0061, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming Language C++, 2002.
[ bib | .pdf ]
[22] P. Dimov, Douglas Gregor, Jaakko Järvi, and Gary Powell. A proposal to add an enhanced binder to the library technical report. Technical Report N1455=03-0038, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming language C++, 2003. www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1455.htm.
[ bib ]
[23] Douglas Gregor, Gary Powell, and Jaakko Järvi. Typesafe variable-length function and template argument lists. Technical Report N1483=03-0066, ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming language C++, 2003. www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1483.pdf.
[ bib | .pdf ]

Other (local workshop papers, abstracts ...)

[1] Jaakko Järvi. Incorporating tuple types to C++. In Proceedings of the Nordic Workshop on Programming Theory'99, October 1999. Extended abstract.
[ bib ]
[2] Jaakko Järvi. Object Oriented Model for Parameter Estimation of Partially Separable Functions. In Volume of Extended Abstracts of the Conference of PhD Students in Computer Science, 1998.
[ bib ]
[3] Jaakko Järvi, Jari J. Forsström, and Antti Koski. The nesumed project - case studies of computational intelligence in medicine. In Leena Yliniemi and E. Juuso, editors, Proceedings of the TOOLMET 96' - Tool Environments and Development Methods for Intelligent Systems, University of Oulu, Control Engineering Laboratory, Report Series, 1996.
[ bib ]
[4] Antero Järvi and Jaakko Järvi. Shape recognition with modular neural networks. In C. Carlsson, T. Järvi, and T. Reponen, editors, STeP-94 - Multiple Paradigms for Artificial Intelligence, 1994.
[ bib ]

Technical reports

[1] Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. Associated types and constraint propagation for mainstream object-oriented generics. Technical Report 2004-12-3, Texas A&M University, Computer Science, December 2004. http://www.cs.tamu.edu/research/tr.
[ bib ]
[2] Jaakko Järvi, Andrew Lumsdaine, and David S. Wise, editors. MSPLS 2002: Proceedings of the Workshop of the Midwest Society for Programming Languages and Systems, April 2002. Technical Report 560. in the Indiana University Computer Science TR Series (www.cs.indiana.edu/Research/techreports/).
[ bib ]
[3] Jaakko Järvi and Gary Powell. The Lambda Library : Lambda abstraction in C++. Technical Report 378, Turku Centre for Computer Science, November 2000. www.tucs.fi.
[ bib | .ps ]
[4] Jaakko Järvi. ML-style tuple assignment in standard C++ - extending the multiple return value formalism. Technical Report 267, Turku Centre for Computer Science, March 1999. www.tucs.fi.
[ bib ]
[5] Jaakko Järvi. Tuples and multiple return values in C++. Technical Report 249, Turku Centre for Computer Science, March 1999. www.tucs.fi.
[ bib ]
[6] Tero Aittokallio, Mats Gyllenberg, Jaakko Järvi, Olli Polo, and Olli Nevalainen. Detection of High-Frequency Respiratory Movements During Sleep. Technical Report 261, Turku Centre for Computer Science, March 1999. www.tucs.fi.
[ bib ]
[7] Jaakko Järvi. Compile time recursive objects in C++. Technical Report 170, Turku Centre for Computer Science, April 1998. www.tucs.fi.
[ bib ]
[8] Jaakko Järvi. Compile time sparce vectors in C++. Technical Report 107, Turku Centre for Computer Science, March 1997. www.tucs.fi.
[ bib ]

Talks

[1] Jaakko Järvi. The Lambda Library : Unnamed Functions for C++. ACCU 2003 C++ conference, Oxford, UK, April 2003.
[2] Jaakko Järvi and Jeremiah Willcock. A comparative study of language support for generic programming. Presentation at Microsoft Reserach, Cambridge, UK, September 2003.
[ .pdf ]
[3] Jaakko Järvi. Language support for generic programming. Presentation at Texas A&M University, Computer Science, August 2004.