<commit_before>Coding convention.

* Don't use exceptions in anyway in dubylib. You can use try..except, but never raise.
  Use functions returning Boolean (or Integers) instead.
  
  Objects must always be created. Use an object flag to indicate that object is ready for work or not 
  (to avoid using exception in constructors)
<commit_msg>update the docs about function call<commit_after>Coding convention.

* Don't use exceptions in anyway in dubylib. You can use try..except, but never raise.
  Use functions returning Boolean (or Integers) instead.
  
  Objects must always be created. Use an object flag to indicate that object is ready for work or not 
  (to avoid using exception in constructors)



== how to make a debugged process make a function call ==

The programmer = a person who debugs a program. (The real programmer is 
                 not the one writing a program, but the one fixing it)
The target     = the program being debugged by the programmer.
The debugger   = the utility program, used by the programmer to debug the target. 

Modern debuggers usually allow programmer to make a function call within the context 
of the target. It's usual way to check the current data state or if the function works 
correctly with some specified parameters.

It's also used to change values of some complex types. 
...
Function call happens whenever target execution stops and the programmer gets 
the access to target's state (memory, call-stack, etc.). While target is running 
the programmer is not able to interfere with the execution process successfully, 
because one's can't be sure about the current state.
...

The debugger does the following to make a function call:
1) saves the current registers and call-stack states;
2) fills the registers and the call-stack of passed parameters;
2.1) * execution register points to the procedure entry point;
3) * sets the breakpoint on the function exit point;
4) starts the execution of the process
4.1) if any user breakpoints being catched are skipped.
4.2) * if breakpoint is catched at call exit point and decision is made if call is finished.
5) call is finished. The result is reported to the used.
6) register and call-stack states are restored, so the execution may resume at the same point it stopped.

* the actuall implementation needs considiration if procedure is recursive or not.


{'fraction_non_alphanumeric': 0.04314720812182741, 'fraction_numerical': 0.005076142131979695, 'mean_word_length': 3.9066390041493775, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7166543', 'n_tokens_mistral': 596, 'n_tokens_neox': 563, 'n_words': 364}