Marc Feeley

[PICTURE]
Professeur titulaire (Full professor)
Université de Montréal
Dépt. d'informatique et de r.o.
C.P. 6128, succ. centre-ville
Montréal (Québec)
Canada  H3C 3J7

WWW   : http://www.iro.umontreal.ca/~feeley/
Email : feeley@iro.umontreal.ca
Tel   : (514) 343-7477
Fax   : (514) 343-5834
Bureau: 2389 pavillon André-Aisenstadt

Research Interests


Selected publications

  1. Olivier Melançon, Marc Feeley, and Manuel Serrano, An Executable Semantics for Faster Development of Optimizing Python Compilers. In Software Language Engineering (SLE'23), October 2023. [PDF]
  2. Leonard Oest O'Leary, Mathis Laroche, and Marc Feeley, A R4RS Compliant REPL in 7 KB. In Scheme and Functional Programming Workshop (SFPW'23), September 2023. [PDF] (preprint)
  3. Leonard Oest O'Leary and Marc Feeley, A Compact and Extensible Portable Scheme VM. In MoreVMs Workshop (MOREVMS@PROGRAMMING'23), March 2023. [PDF] (preprint)
  4. Marc-André Bélanger and Marc Feeley, Interfacing with CPython from Gambit Scheme. In Languages, Architectures, and Tools for Heterogeneous Computing Workshop (LATHC'23), February 2023. [PDF] (abstract)
  5. Marc-André Bélanger and Marc Feeley, A Foreign Function Interface between Gambit Scheme and CPython. In Scheme and Functional Programming Workshop (SFPW'22), September 2022. [PDF]
  6. Samuel Yvon and Marc Feeley, A Small Scheme VM, Compiler, and REPL in 4K. In Workshop on Virtual Machines and Intermediate Languages (VMIL@SPLASH'21), October 2021. [PDF]
  7. Ian Sabourin, Stefan Monnier, and Marc Feeley, Computation over partial information. In Symposium on Implementation and Application of Functional Languages (IFL'21), September 2021. [PDF]
  8. Marc-André Bélanger and Marc Feeley, A lightweight approach for accessing Python modules from Gambit Scheme (Lightning Talk). In Scheme and Functional Programming Workshop (SFPW'21), August 2021. [PDF]
  9. Marc-André Bélanger and Marc Feeley, A Scheme Foreign Function Interface to JavaScript Based on an Infix Extension. In European Lisp Symposium (ELS'21), May 2021. [PDF]
  10. Olivier Melançon and Marc Feeley, Teaching Programming to Novices Using the codeBoot Online Environment. In International Workshop on Trends in Functional Programming in Education (TFPIE 2021), February 2021. [PDF]
  11. Frédéric Hamel and Marc Feeley, An R7RS Compatible Module System for Termite Scheme. In European Lisp Symposium (ELS'20), April 2020. [PDF]
  12. Manuel Serrano and Marc Feeley, Property caches revisited. In International Conference on Compiler Construction (CC'19), February 2019. [PDF]
  13. Laurent Huberdeau and Marc Feeley, Tail Calling Between Code Generated by C and Native Backends. In Scheme and Functional Programming Workshop (SFPW'18), September 2018. [PDF]
  14. Baptiste Saleil and Marc Feeley, Building JIT compilers for dynamic languages with low development effort. In Workshop on Virtual Machines and Intermediate Languages (VMIL@SPLASH'18), November 2018. [PDF]
  15. Baptiste Saleil and Marc Feeley, Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis. In European Conference on Object-Oriented Programming (ECOOP'17), June 2017. [PDF]
  16. Maxime Chevalier-Boisvert and Marc Feeley. Interprocedural Type Specialization of JavaScript Programs Without Type Analysis. In European Conference on Object-Oriented Programming (ECOOP'16), July 2016. [PDF]
  17. Marc Feeley. Compiling for Multi-Language Task Migration. In ACM Dynamic Languages Symposium (DLS'15), October 2015. [PDF]
  18. Baptiste Saleil and Marc Feeley. Type Check Removal Using Lazy Interprocedural Code Versioning. In Scheme and Functional Programming Workshop (SFPW'15), September 2015. [PDF]
  19. Maxime Chevalier-Boisvert and Marc Feeley. Simple and Effective Type Check Removal through Lazy Basic Block Versioning. In European Conference on Object-Oriented Programming (ECOOP'15), July 2015. [PDF]
  20. Benjamin Cerat and Marc Feeley. Structure Vectors and their Implementation. In Scheme and Functional Programming Workshop (SFPW'14), November 2014. [PDF]
  21. Baptiste Saleil and Marc Feeley. Code Versioning and Extremely Lazy Compilation of Scheme. In Scheme and Functional Programming Workshop (SFPW'14), November 2014. [PDF]
  22. Eric Lavoie, Bruno Dufour, and Marc Feeley. Portable and Efficient Run-time Monitoring of JavaScript Applications using Virtual Machine Layering. In European Conference on Object-Oriented Programming (ECOOP'14), July 2014. [PDF]
  23. Eric Lavoie, Bruno Dufour, and Marc Feeley. Harnessing Performance for Flexibility in Instrumenting a Virtual Machine for JavaScript through Metacircularity. In Runtime Environments, Systems, Layering and Virtualized Environments (RESoLVE'13), March 2013. [PDF]
  24. Eric Thivierge and Marc Feeley. Efficient Compilation of Tail Calls and Continuations to JavaScript. In Scheme and Functional Programming Workshop (SFPW'12), September 2012. [PDF]
  25. Maxime Chevalier-Boisvert, Erick Lavoie, Marc Feeley, and Bruno Dufour. Bootstrapping a Self-Hosted Research Virtual Machine for JavaScript: An Experience Report. In Dynamic Languages Symposium (DLS'11), October 2011. [PDF]
  26. Etienne Bergeron, Louis-David Perron, Marc Feeley, and Jean Pierre David. Logarithmic-Time FPGA bitstream analysis: A step towards JIT hardware compilation. ACM Transactions on Reconfigurable Technology and Systems, Vol 4, No 2, Article 12 (May 2011), 27 pages. [PDF]
  27. Vincent St-Amour and Marc Feeley. PICOBIT: A Compact Scheme System for Microcontrollers. In Symposium on Implementation and Application of Functional Languages (IFL'09), pages 1-11, September 2009. (best paper award) [PDF]
  28. Vincent St-Amour, Lysiane Bouchard, and Marc Feeley. Small Scheme stack: a Scheme TCP/IP stack targeting small embedded applications. In Scheme and Functional Programming Workshop (SFPW'08), pages 11-18, September 2008. [PDF]
  29. Etienne Bergeron, Marc Feeley, and Jean-Pierre David. Hardware JIT Compilation for Off-the-Shelf Dynamically Reconfigurable FPGAs. In International Conference on Compiler Construction (CC'08), volume 4959 of Lecture Notes in Computer Science, pages 178-192, March 2008. [PDF]
  30. Etienne Bergeron, Marc Feeley, Marc-André Daigneault, and Jean Pierre David. Using dynamic reconfiguration to implement high-resolution programmable delays on an FPGA. In International IEEE Northeast Workshop on Circuits and Systems (NEWCAS'08), pages 265-268, June 2008. [PDF]
  31. Marc Feeley. Speculative inlining of predefined procedures in an R5RS Scheme to C compiler. In Symposium on Implementation and Application of Functional Languages (IFL'07), volume 5083 of Lecture Notes in Computer Science, pages 237-253, 2008. [PDF]
  32. Etienne Bergeron, Marc Feeley, and Jean Pierre David. Toward on-chip JIT synthesis on Xilinx VirtexII-Pro FPGAs. In International IEEE Northeast Workshop on Circuits and Systems (NEWCAS'07), pages 642-645, August 2007. [PDF]
  33. Adrien Piérard and Marc Feeley. Towards a portable and mobile Scheme interpreter. In Scheme and Functional Programming Workshop (SFPW'07), pages 59-68, September 2007. [PDF]
  34. Marc Feeley. SRFI-91: Extended ports, July 2007. [LINK]
  35. Marc Feeley. SRFI-90: Extensible hash table constructor, July 2007. [LINK]
  36. Marc Feeley. SRFI-89: Optional positional and named parameters, July 2007. [LINK]
  37. Marc Feeley. SRFI-88: Keyword objects, July 2007. [LINK]
  38. Guillaume Germain, Marc Feeley, and Stefan Monnier. Concurrency oriented programming in Termite Scheme. In Scheme and Functional Programming Workshop (SFPW'06), pages 125-135, September 2006. [PDF]
  39. Xavier Saint-Mleux, Marc Feeley, and Jean-Pierre David. SHard: a Scheme to hardware compiler. In Scheme and Functional Programming Workshop (SFPW'06), pages 39-49, September 2006. [PDF]
  40. Xavier Saint-Mleux, Marc Feeley, and Jean-Pierre David. A Scheme compiler for hardware dataflow machines. In ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'06), June 2006. Poster. [PDF]
  41. Marc Feeley and Phil Trinder, editors. Proceedings of the ACM SIGPLAN Workshop on Erlang (ERLANG'06), September 2006. [LINK]
  42. Matthew Flatt and Marc Feeley. SRFI-75: R6RS Unicode data, May 2006. [LINK]
  43. Guillaume Germain, Stefan Monnier, and Marc Feeley. Termite: a Lisp for distributed computing. In 2nd European LISP and Scheme Workshop - European Conference on Object-Oriented Programming, September 2005. [PDF]
  44. Danny Dubé and Marc Feeley. BIT: A very compact Scheme system for microcontrollers. Higher Order and Symbolic Computation, 18(3-4):271-298, 2005. [PDF]
  45. Mario Latendresse and Marc Feeley. Generation of fast interpreters for Huffman compressed bytecode. Science of Computer Programming, 57(3):295-317, 2005. [PDF]
  46. Etienne Bergeron, Xavier Saint-Mleux, Marc Feeley, and Jean Pierre David. High level synthesis for data-driven applications. In International Workshop on Rapid System Prototyping (RSP'05), pages 54-60, June 2005. [PDF]
  47. Fernanda Kri and Marc Feeley. Genetic instruction scheduling and register allocation. In International Conference on the Quantitative Evaluation of Systems (QEST'04), pages 76-83, 2004. [PDF]
  48. Marc Feeley. The revised R6RS status report. In Scheme and Functional Programming Workshop (SFPW'04), pages 121-124, September 2004. [PDF]
  49. Marc Feeley. SRFI-39: Parameter objects, June 2003. [LINK]
  50. Marc Feeley and Danny Dubé. Running Scheme on a PIC microcontroller. In Lightweight Languages (LL'03), November 2003. Poster. [PDF]
  51. Mario Latendresse and Marc Feeley. Generation of fast interpreters for Huffman compressed bytecode. In ACM Workshop on Interpreters, Virtual Machines and Emulators (IVME'03), pages 32-40, June 2003. [PDF]
  52. Marc Feeley and Danny Dubé. PICBIT: A Scheme system for the PIC microcontroller. In Scheme and Functional Programming Workshop (SFPW'03), pages 7-15, November 2003. [PDF]
  53. Fernanda Kri and Marc Feeley. Utilizacion de méthodos metaheuristicos en compilacion: Una experiencia preliminar. In IV Workshop on Advances and Trends in AI for Problem Solving (ATAI'03), November 2003. (best paper award)
  54. Danny Dubé and Marc Feeley. A demand-driven adaptive type analysis. In ACM SIGPLAN International Conference on Functional Programming (ICFP'02), pages 84-97, October 2002. [PDF]
  55. Mauricio Solar and Marc Feeley. mdl2dag: Convert graphical model system files to dag. In Forum on Specification and Design Languages (FDL'02), September 2002.
  56. Mario Latendresse and Marc Feeley. Fast and compact decoding of Huffman encoded virtual instructions. Technical Report 1219, département d'informatique et r.o., Université de Montréal, 2002.
  57. Marc Feeley. SRFI-21: Real-time multithreading support, March 2001. [LINK]
  58. Marc Feeley. SRFI-18: Multithreading support, March 2001. [LINK]
  59. Marc Feeley. A better API for first-class continuations. In Scheme and Functional Programming Workshop (SFPW'01), pages 1-3, September 2001. [PDF]
  60. Danny Dubé and Marc Feeley. Demand-driven type analysis: an introduction. In Scheme and Functional Programming Workshop (SFPW'01), pages 21-32, September 2001. [PDF]
  61. Marc Feeley. A case for the unified heap approach to Erlang memory management. In Erlang Workshop - Principles, Logics, and Implementations of high-level programming languages, September 2001. [PDF]
  62. Marc Feeley. A portable implementation of first-class continuations for unrestricted interoperability with C in a multithreaded Scheme. In Scheme and Functional Programming Workshop (SFPW'00), pages 65-66, September 2000. [PDF]
  63. Danny Dubé and Marc Feeley. Efficiently building a parse tree from a regular expression. Acta Informatica, 37(2):121-144, 2000. [PDF]
  64. Eric Methot, Marc Feeley, and Bernard Gendron. Cpar: A parallel language for divide and conquer parallelism. In International Conference on Communications in Computing (CIC'00), June 2000. [PDF]
  65. Mauricio Solar and Marc Feeley. Scheduling algorithm considering latency time on a shared-memory machine. In XVI World Computer Congress, International Conference on Software: Theory and Practice, August 2000.
  66. William Clinger, Kent Dybvig, Mathew Flatt, and Marc Feeley. SRFI-12: Exception handling in Scheme, October 1999. [LINK]
  67. Marc Feeley. SRFI-4: Homogeneous numeric vector datatypes, May 1999. [LINK]
  68. Marc Feeley. SRFI-0: Feature-based conditional expansion construct, May 1999. [LINK]
  69. Marc Feeley and Patrick Piché. Status report on the ETOS Erlang to Scheme compiler. In Erlang User Conference (EUC'99), September 1999.
  70. Mauricio Solar and Marc Feeley. Seleccion de algoritmos de scheduling segun classificacion de aplicaciones. In VI Chilean Meeting on Computing (CMC'98), November 1998.
  71. Martin Larose and Marc Feeley. A compacting incremental collector and its performance in a production quality compiler. In International Symposium on Memory Management (IMM'98), October 1998. [PDF]
  72. Marc Feeley and Martin Larose. Compiling Erlang to Scheme. In International Symposium on Principles of Declarative Programming (PLILP'98/ALP'98), pages 300-317, September 1998. [PDF]
  73. Marc Feeley, James S. Miller, Guillermo J. Rozas, and Jason A. Wilson. Compiling higher-order languages into fully tail-recursive portable C. Technical Report 1078, département d'informatique et r.o., Université de Montréal, August 1997. [PDF]
  74. Marc Feeley and Martin Larose. Etos: an Erlang to Scheme compiler. Technical Report 1079, département d'informatique et r.o., Université de Montréal, August 1997. [PDF]
  75. Pieter H. Hartel, Marc Feeley, Martin Alt, Lennart Augustsson, Peter Baumann, Marcel Beemster, Emmanuel Chailloux, Christine H. Flood, Wolfgang Grieskamp, John H. G. Van Groningen, Kevin Hammond, Bogumil Hausman, Melody Y. Ivory, Richard E. Jones, Jasper Kamperman, Peter Lee, Xavier Leroy, Rafael D. Lins, Sandra Loosemore, Niklas Röjemo, Manuel Serrano, Jean-Pierre Talpin, Jon Thackray, Stephen Thomas, Pum Walters, Pierre Weis, and Peter Wentworth. Benchmarking implementations of functional languages with ``pseudoknot'' a float-intensive benchmark. Journal of Functional Programming, 6(4):621-655, 1996. [PDF]
  76. Danny Dubé, Marc Feeley, and Manuel Serrano. Un GC temps réel semi-compactant. Journées Francophones des Langages Applicatifs (JFLA'96), pages 165-181, January 1996. [PDF]
  77. Carl Dionne, Marc Feeley, and Jocelyn Desbiens. A taxonomy of distributed debuggers based on execution replay. In International Conference on Parallel and Distributed Processing Techniques (PDPTA'96), pages 203-214, August 1996. [PDF]
  78. Dominique Boucher and Marc Feeley. Abstract compilation: a new implementation paradigm for static analysis. In International Conference on Compiler Construction (CC'96), pages 192-207, April 1996. [PDF]
  79. Manuel Serrano and Marc Feeley. Storage use analysis and its applications. In ACM SIGPLAN International Conference on Functional Programming (ICFP'96), pages 50-61, May 1996. [PDF]
  80. Danny Dubé, Marc Feeley, and Manuel Serrano. Un GC temps réel semi-compactant. Technical Report 998, département d'informatique et r.o., Université de Montréal, September 1995.
  81. Dominique Boucher and Marc Feeley. Un système pour l'optimisation globale de programmes d'ordre supérieur par compilation abstraite séparée. Technical Report 992, département d'informatique et r.o., Université de Montréal, September 1995. [PDF]
  82. Marc Feeley. Lazy remote procedure call and its implementation in a parallel variant of C. In International Workshop on Parallel Symbolic Languages and Systems (PSLS'95), pages 3-21, 1996. [PDF]
  83. Marc Feeley, Marcel Turcotte, and Guy Lapalme. Using Multilisp for solving constraint satisfaction problems: an application to nucleic acid 3D structure determination. Lisp and Symbolic Computation, 7(2-3):231-247, 1994. [PDF]
  84. Dominique Boucher and Marc Feeley. Construction parallèle de l'automate LR(0): Une application de Multilisp à la compilation. Rencontres Francophones du Parallélisme (RENPAR'94), Juin 1994. [PDF]
  85. Marc Feeley. Polling efficiently on stock hardware. In ACM Conference on Functional Programming Languages and Computer Architecture (FPCA'93), pages 179-187, 1993. [PDF]
  86. Marc Feeley. An Efficient and General Implementation of Futures on Large Scale Shared-Memory Multiprocessors. PhD thesis, Brandeis University, April 1993. [PDF]
  87. Marc Feeley. A message passing implementation of lazy task creation. In US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications, pages 94-107, 1993. [PDF]
  88. Marc Feeley and Guy Lapalme. Closure generation based on viewing LAMBDA as EPSILON plus COMPILE. Computer Languages, 17(4):251-267, 1992. [PDF]
  89. Marc Feeley and James S. Miller. A parallel virtual machine for efficient Scheme compilation. In ACM SIGPLAN Conference on Lisp and Functional Programming (LFP'90), pages 119-130, June 1990. [PDF]
  90. Marc Feeley and Guy Lapalme. Using closures for code generation. Computer Languages, 12(1):47-66, 1987. [PDF]
  91. Marc Feeley. Deux approches à l'implantation du language Scheme. Master's thesis, Université de Montréal, May 1986. [PDF]

Related


feeley@iro.umontreal.ca