Wire up ability to print RTL program arities
authorAndy Wingo <wingo@pobox.com>
Thu, 16 May 2013 18:58:54 +0000 (20:58 +0200)
committerAndy Wingo <wingo@pobox.com>
Sun, 9 Jun 2013 21:43:25 +0000 (23:43 +0200)
commiteb2bc00fb3863986927f0bade97487209b6d6a5b
tree8671c68378b99fc3066de39d6e0e9dc1e11a8b3e
parentf88e574d58aa3e64b6f1ed0bc6ea918d20a67d88
Wire up ability to print RTL program arities

* libguile/procprop.c (scm_i_procedure_arity): Allow RTL programs to
  dispatch to scm_i_program_arity.

* libguile/programs.c (scm_i_program_print): Refactor reference to
  write-program.
  (scm_i_rtl_program_minimum_arity): New procedure, dispatches to
  Scheme.
  (scm_i_program_arity): Dispatch to scm_i_rtl_program_minimum_arity if
  appropriate.

* module/system/vm/debug.scm (program-minimum-arity): New export.

* module/system/vm/program.scm (rtl-program-minimum-arity): New internal
  function.
  (program-arguments-alists): New helper, implemented also for RTL
  procedures.
  (write-program): Refactor a bit, and call program-arguments-alists.

* test-suite/tests/rtl.test ("simply procedure arity"): Add tests that
  arities make it all the way to cold ELF and back to warm Guile.
libguile/procprop.c
libguile/programs.c
module/system/vm/debug.scm
module/system/vm/program.scm
test-suite/tests/rtl.test