#check_call

Invocation

#check_call <regular_function_name> <checking_function_name> - run a provided checking function whenever the named function is called. 1 2

Description

The checking function should have a signature as follows:

checking_function_name :: (
  arguments : [] Any,
  filename : string, line_number : int) -> bool {

  good := true; // replace with arbitrary checks

  if !good {
    printf("details about what was not good\n");
  }

  return good;
}

Returning true allows execution to continue; false halts execution and exits with an error message indicating the file and line where the check returned false.

More specific messages can be printed during the checking function execution.


  1. #check_call invokes arbitrary user-provided checking methods at compile time.
    “Demo: Base language, compile-time execution.” YouTube, uploaded by Jonathan Blow, Oct 31, 2014, https://youtu.be/UTqZNujQOlA?t=2362 

  2. I can have my arguments be an array of Any, and filename, and line number.
    “Demo: Run-Time (and Compile-Time) Type Information” YouTube, uploaded by Jonathan Blow, Feb 11, 2015, https://youtu.be/JoNkttD_MUs?t=2262 

jailang 2019 pixeldroid
https://github.com/pixeldroid/jailang
programming pages theme v0.5.21 (https://github.com/pixeldroid/programming-pages)