Research

Papers

2020s

  • Samuel Yvon, Marc Feeley. A Small Scheme VM, Compiler, and REPL in 4K. Workshop on Virtual Machines and Intermediate Languages (VMIL@SPLASH'21). October 2021. [PDF]
  • Ian Sabourin, Stefan Monnier, Marc Feeley. Computation over partial information. Symposium on Implementation and Application of Functional Languages (IFL'21). September 2021. [PDF]
  • Marc-André Bélanger, Marc Feeley. A lightweight approach for accessing Python modules from Gambit Scheme (Lightning Talk). Scheme and Functional Programming Workshop (SFPW'21). August 2021. [PDF]
  • Marc-André Bélanger, Marc Feeley. A Scheme Foreign Function Interface to JavaScript Based on an Infix Extension. European Lisp Symposium (ELS'21). May 2021. [PDF]
  • Olivier Melançon, Marc Feeley. Teaching Programming to Novices Using the codeBoot Online Environment. International Workshop on Trends in Functional Programming in Education (TFPIE 2021). February 2021. [PDF]
  • Frédéric Hamel, Marc Feeley. An R7RS Compatible Module System for Termite Scheme. European Lisp Symposium (ELS'20). April 2020. [PDF]

2010s

  • Manuel Serrano, Marc Feeley. Property caches revisited. International Conference on Compiler Construction (CC'19). February 2019. [PDF]
  • Laurent Huberdeau, Marc Feeley. Tail Calling Between Code Generated by C and Native Backends. Scheme and Functional Programming Workshop (SFPW'18). September 2018. [PDF]
  • Baptiste Saleil, Marc Feeley. Building JIT compilers for dynamic languages with low development effort. Workshop on Virtual Machines and Intermediate Languages (VMIL@SPLASH'18). November 2018. [PDF]
  • Baptiste Saleil, Marc Feeley. Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis. European Conference on Object-Oriented Programming (ECOOP'17). June 2017. [PDF]
  • Maxime Chevalier-Boisvert, Marc Feeley. Interprocedural Type Specialization of JavaScript Programs Without Type Analysis. European Conference on Object-Oriented Programming (ECOOP'16). July 2016. [PDF]
  • Marc Feeley. Compiling for Multi-Language Task Migration. ACM Dynamic Languages Symposium (DLS'15). October 2015. [PDF]
  • Baptiste Saleil, Marc Feeley. Type Check Removal Using Lazy Interprocedural Code Versioning. Scheme and Functional Programming Workshop (SFPW'15). September 2015. [PDF]
  • Maxime Chevalier-Boisvert, Marc Feeley. Simple and Effective Type Check Removal through Lazy Basic Block Versioning. European Conference on Object-Oriented Programming (ECOOP'15). July 2015. [PDF]
  • Maxime Chevalier-Boisvert, Marc Feeley. Structure Vectors and their Implementation. Scheme and Functional Programming Workshop (SFPW'14). November 2014. [PDF]
  • Baptiste Saleil, Marc Feeley. Code Versioning and Extremely Lazy Compilation of Scheme. Scheme and Functional Programming Workshop (SFPW'14). November 2014. [PDF]
  • Eric Lavoie, Bruno Dufour, Marc Feeley. Portable and Efficient Run-time Monitoring of JavaScript Applications using Virtual Machine Layering. European Conference on Object-Oriented Programming (ECOOP'14). July 2014. [PDF]
  • Eric Lavoie, Bruno Dufour, Marc Feeley. Harnessing Performance for Flexibility in Instrumenting a Virtual Machine for JavaScript through Metacircularity. Runtime Environments, Systems, Layering and Virtualized Environments (RESoLVE'13). March 2013. [PDF]
  • Eric Thivierge, Marc Feeley. Efficient Compilation of Tail Calls and Continuations to JavaScript. Scheme and Functional Programming Workshop (SFPW'12). September 2012. [PDF]
  • Maxime Chevalier-Boisvert, Erick Lavoie, Marc Feeley, Bruno Dufour. Bootstrapping a Self-Hosted Research Virtual Machine for JavaScript: An Experience Report. Dynamic Languages Symposium (DLS'11). October 2011. [PDF]
  • Etienne Bergeron, Louis-David Perron, Marc Feeley, 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. [PDF]

2000s

  • Vincent St-Amour, Marc Feeley. PICOBIT: A Compact Scheme System for Microcontrollers. Implementation and Application of Functional Languages (IFL'09). September 2009. [PDF]
  • Vincent St-Amour, Lysiane Bouchard, Marc Feeley. Small Scheme stack: a Scheme TCP/IP stack targeting small embedded applications. Scheme and Functional Programming Workshop (SFPW'08). September 2008. [PDF]
  • Etienne Bergeron, Marc Feeley, Jean-Pierre David. Hardware JIT Compilation for Off-the-Shelf Dynamically Reconfigurable FPGAs. International Conference on Compiler Construction (CC'08). March 2008. [PDF]
  • Etienne Bergeron, Marc Feeley, Marc-André Daigneault, Jean Pierre David. Using dynamic reconfiguration to implement high-resolution programmable delays on an FPGA. International IEEE Northeast Workshop on Circuits and Systems (NEWCAS'08). June 2008. [PDF]
  • Marc Feeley. Speculative inlining of predefined procedures in an R5RS Scheme to C compiler. Implementation and Application of Functional Languages (IFL'07). 2008. [PDF]
  • Etienne Bergeron, Marc Feeley, Jean Pierre David. Toward on-chip JIT synthesis on Xilinx VirtexII-Pro FPGAs. International IEEE Northeast Workshop on Circuits and Systems (NEWCAS'07). August 2007. [PDF]
  • Adrien Piérard, Marc Feeley. Towards a portable and mobile Scheme interpreter. Scheme and Functional Programming Workshop (SFPW'07). September 2007. [PDF]
  • Marc Feeley. SRFI-91: Extended ports. July 2007. [PDF]
  • Marc Feeley. SRFI-90: Extensible hash table constructor. July 2007. [PDF]
  • Marc Feeley. SRFI-89: Optional positional and named parameters. July 2007. [PDF]
  • Marc Feeley. SRFI-88: Keyword objects. July 2007. [PDF]
  • Guillaume Germain, Marc Feeley, Stefan Monnier. Concurrency oriented programming in Termite Scheme. Scheme and Functional Programming Workshop (SFPW'06). September 2006. [PDF]
  • Xavier Saint-Mleux, Marc Feeley, Jean-Pierre David. SHard: a Scheme to hardware compiler. Scheme and Functional Programming Workshop (SFPW'06). September 2006. [PDF]
  • Xavier Saint-Mleux, Marc Feeley, Jean-Pierre David. A Scheme compiler for hardware dataflow machines. ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'06). June 2006. [PDF]
  • Marc Feeley, Phil Trinder, editors.. Proceedings of the ACM SIGPLAN Workshop on Erlang (ERLANG'06). ERLANG'06. September 2006. [PDF]
  • Matthew Flatt, Marc Feeley. SRFI-75: R6RS Unicode data. May 2006. [PDF]
  • Guillaume Germain, Stefan Monnier, Marc Feeley. Termite: a Lisp for distributed computing. 2nd European LISP and Scheme Workshop - European Conference on Object-Oriented Programming. September 2005. [PDF]
  • Danny Dubé, Marc Feeley. BIT: A very compact Scheme system for microcontrollers. Higher Order and Symbolic Computation 18(3-4):271-298. 2005. [PDF]
  • Mario Latendresse, Marc Feeley. Generation of fast interpreters for Huffman compressed bytecode. Science of Computer Programming 57(3):295-317. 2005. [PDF]
  • Etienne Bergeron, Xavier Saint-Mleux, Marc Feeley, Jean Pierre David. High level synthesis for data-driven applications. International Workshop on Rapid System Prototyping (RSP'05). June 2005. [PDF]
  • Fernanda Kri, Marc Feeley. Genetic instruction scheduling and register allocation. International Conference on the Quantitative Evaluation of Systems (QEST'04). 2004. [PDF]
  • Marc Feeley. The revised R6RS status report. Scheme and Functional Programming Workshop (SFPW'04). September 2004. [PDF]
  • Marc Feeley. SRFI-39: Parameter objects. June 2003. [PDF]
  • Marc Feeley, Danny Dubé. Running Scheme on a PIC microcontroller. Lightweight Languages (LL'03). November 2003. [PDF]
  • Mario Latendresse, Marc Feeley. Generation of fast interpreters for Huffman compressed bytecode. ACM Workshop on Interpreters, Virtual Machines and Emulators (IVME'03). June 2003. [PDF]
  • Marc Feeley, Danny Dubé. PICBIT: A Scheme system for the PIC microcontroller. Scheme and Functional Programming Workshop (SFPW'03). November 2003. [PDF]
  • Fernanda Kri, Marc Feeley. Utilizacion de méthodos metaheuristicos en compilacion: Una experiencia preliminar. IV Workshop on Advances and Trends in AI for Problem Solving (ATAI'03). November 2003.
  • Danny Dubé, Marc Feeley. A demand-driven adaptive type analysis. ACM SIGPLAN International Conference on Functional Programming (ICFP'02). October 2002. [PDF]
  • Mauricio Solar, Marc Feeley. mdl2dag: Convert graphical model system files to dag. Forum on Specification and Design Languages (FDL'02). September 2002.
  • Mario Latendresse, 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.
  • Marc Feeley. SRFI-21: Real-time multithreading support. March 2001. [PDF]
  • Marc Feeley. SRFI-18: Multithreading support. March 2001. [PDF]
  • Marc Feeley. A better API for first-class continuations. Scheme and Functional Programming Workshop (SFPW'01). September 2001. [PDF]
  • Danny Dubé, Marc Feeley. Demand-driven type analysis: an introduction. Scheme and Functional Programming Workshop (SFPW'01). September 2001. [PDF]
  • Marc Feeley. A case for the unified heap approach to Erlang memory management. Erlang Workshop - Principles, Logics, and Implementations of high-level programming languages. September 2001. [PDF]
  • Marc Feeley. A portable implementation of first-class continuations for unrestricted interoperability with C in a multithreaded Scheme. Scheme and Functional Programming Workshop (SFPW'00). September 2000. [PDF]
  • Danny Dubé, Marc Feeley. Efficiently building a parse tree from a regular expression. Acta Informatica 37(2):121-144. 2000. [PDF]
  • Eric Methot, Marc Feeley, Bernard Gendron. Cpar: A parallel language for divide and conquer parallelism. International Conference on Communications in Computing (CIC'00). June 2000. [PDF]
  • Mauricio Solar, Marc Feeley. Scheduling algorithm considering latency time on a shared-memory machine. XVI World Computer Congress, International Conference on Software: Theory and Practice. August 2000.

1990s

  • William Clinger, Kent Dybvig, Mathew Flatt, Marc Feeley. SRFI-12: Exception handling in Scheme. October 1999. [PDF]
  • Marc Feeley. SRFI-4: Homogeneous numeric vector datatypes. May 1999. [PDF]
  • Marc Feeley. SRFI-0: Feature-based conditional expansion construct. May 1999. [PDF]
  • Marc Feeley, Patrick Piché. Status report on the ETOS Erlang to Scheme compiler. Erlang User Conference (EUC'99). September 1999.
  • Mauricio Solar, Marc Feeley. Seleccion de algoritmos de scheduling segun classificacion de aplicaciones. VI Chilean Meeting on Computing (CMC'98). November 1998.
  • Martin Larose, Marc Feeley. A compacting incremental collector and its performance in a production quality compiler. International Symposium on Memory Management (IMM'98). October 1998. [PDF]
  • Marc Feeley, Martin Larose. Compiling Erlang to Scheme. International Symposium on Principles of Declarative Programming (PLILP'98/ALP'98). September 1998. [PDF]
  • Marc Feeley, James S. Miller, Guillermo J. Rozas, 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]
  • Marc Feeley, 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]
  • 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, Peter Wentworth. Benchmarking implementations of functional languages with ``pseudoknot'' a float-intensive benchmark. Journal of Functional Programming 6(4):621-655. 1996. [PDF]
  • Danny Dubé, Marc Feeley, Manuel Serrano. Un GC temps réel semi-compactant. Journées Francophones des Langages Applicatifs (JFLA'96). January 1996. [PDF]
  • Carl Dionne, Marc Feeley, Jocelyn Desbiens. A taxonomy of distributed debuggers based on execution replay. International Conference on Parallel and Distributed Processing Techniques (PDPTA'96). August 1996. [PDF]
  • Dominique Boucher, Marc Feeley. Abstract compilation: a new implementation paradigm for static analysis. International Conference on Compiler Construction (CC'96). April 1996. [PDF]
  • Manuel Serrano, Marc Feeley. Storage use analysis and its applications. ACM SIGPLAN International Conference on Functional Programming (ICFP'96). May 1996. [PDF]
  • Danny Dubé, Marc Feeley, 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.
  • Dominique Boucher, 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]
  • Marc Feeley. Lazy remote procedure call and its implementation in a parallel variant of C. International Workshop on Parallel Symbolic Languages and Systems (PSLS'95). 1996. [PDF]
  • Marc Feeley, Marcel Turcotte, 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]
  • Dominique Boucher, Marc Feeley. Construction parallèle de l'automate LR(0): Une application de Multilisp à la compilation. Rencontres Francophones du Parallélisme (RENPAR'94). June 1994. [PDF]
  • Marc Feeley. Polling efficiently on stock hardware. ACM Conference on Functional Programming Languages and Computer Architecture (FPCA'93). 1993. [PDF]
  • Marc Feeley. An Efficient and General Implementation of Futures on Large Scale Shared-Memory Multiprocessors. PhD thesis, Brandeis University. April 1993. [PDF]
  • Marc Feeley. A message passing implementation of lazy task creation. US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications. 1993. [PDF]
  • Marc Feeley, Guy Lapalme. Closure generation based on viewing LAMBDA as EPSILON plus COMPILE. Computer Languages 17(4):251-267. 1992. [PDF]
  • Marc Feeley, James S. Miller. A parallel virtual machine for efficient Scheme compilation. ACM SIGPLAN Conference on Lisp and Functional Programming (LFP'90). June 1990. [PDF]

1980s

  • Marc Feeley, Guy Lapalme. Using closures for code generation. Computer Languages 12(1):47-66. 1987. [PDF]
  • Marc Feeley. Deux approches à l'implantation du language Scheme. Master's thesis, Université de Montréal. May 1986. [PDF]