FLENG(7)

πŸ“¦ version 23, in nixos 26.05, nixpkgs unstable

FLENG(7) πŸ’…

🌸 NAME 🌸

fleng β€” Runtime options for programs compiled with the FLENG compiler. Yup, this is the Miscellaneous Information Manual page, and we're about to make it make sense, bestie. πŸ’–

✨ SYNOPSIS ✨

<program> [+HELP] [+VERSION] [+LOG <mask>] [+LOGX <mask>]
[+HEAP <heapsize>] [+GOALS <maxgoals>] [+TIMESLICE <ticks>]
[+LOGFILE <filename>] [+THREADS <number>] [+STATS <mask>]
[+STAT_TICKS <number>] [+HEAPSTATS <mask>] [+PROFILE <filename>]
[+INTERACTIVE] [+CHECK_FOR_LEAKS] [+LOAD <filename>] [--] [...]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so fleng is a compiler and run-time system for FLENG, a concurrent logic programming language descended from Prolog. Programs compiled with fleng provide a common set of run-time options to customize the execution or enable additional features. iconic.

  • +HELP β€” Show available run-time options and exit. literally the β€œwhat can I even do” button. ✨
  • +VERSION β€” Show the version of the fleng compiler and run-time system, including run-time build flags used to create this executable, and exit.
  • +LOG <mask> β€” Enable logging for all threads specified by <mask>, where bit 1 corresponds to thread 1 and so on.
  • +LOGX <mask> β€” Enable explicit logging with log/1 for all threads specified by <mask>, where bit 1 (the lowest bit) corresponds to thread 1 and so on.
  • +HEAP <heapsize> β€” Set default heap size for each thread in bytes. The default size is 10000000 bytes (10MB). The value may be suffixed by k, m or g.
  • +GOALS <maxgoals> β€” Set the default number of goals a thread can have active at the same time. The default number is 10000. The value may be suffixed by k, m or g.
  • +LOGFILE <filename> β€” Specifies the location of the log file where debug information is written to, if logging is enabled for one or more threads. By default logging output is written to standard error. If <filename> starts with +, then output will be appended to the file instead of truncating an existing file.
  • +THREADS <number> β€” Specifies the number of threads to be used and defaults to 1.
  • +TIMESLICE <ticks> β€” Sets the number of goal-invocations after which a process yields, is added to the active process queue and another active process is scheduled.
  • +STATS <mask> β€” Write statistics to the log file for all threads selected by the <mask>. The statistics are given in textual format and have the following format:
## <THREAD> <TICKS> G <GOALS> Q <ACTIVE> S <SUSPENDED> C <CELLS>
A <AVERAGE> P <PEAK>

THREAD gives the ordinal number of the thread, starting at 1. TICKS is the number of internal clock ticks of the thread. ACTIVE is the number of active goals. SUSPENDED is the number of inactive, suspended threads. CELLS is the number of used cells in the heap, AVERAGE and PEAK give the average and peak number of heap cells used. πŸ“Š

  • +STAT_TICKS <ticks> β€” Sets the number of internal clock ticks, after which statistics are written for a thread. The default is 1000. Whenever a new process is scheduled, the internal clock is increased.
  • +HEAPSTATS <mask> β€” Enable heap statistics, similar to +STATS. The format is as follows:
#$ <THREAD> <TICKS> T <TUPLES> L <LISTS> V <VARS>

TUPLES, LISTS and VARS give the number of heap cells storing objects of the corresponding type at the time the statistics were written. Note that tuple arguments are stored in a list, so TUPLES gives the number of heap cells holding tuple heads. 🧚

  • +OCCURS_CHECK β€” Enable β€œoccurs check” to enable possibly circular variable unifications. This has a significant performance impact and is by default disabled. πŸ’€
  • +PROFILE <filename> β€” When the executable has been compiled with the -p option, write a dump with profiling information to the given file after execution completed and the program terminated without errors. The generated file will contain a breakdown of how much time was spent in all user processes.
  • +CHECK_FOR_LEAKS β€” Check for memory leaks before the process terminates.
  • +INTERACTIVE β€” Enables interactive debugging. The normal initialization goal of the main module (if it exists) is ignored and the library operation eval:repl is invoked. To use this option, the executable has to be compiled with the -i option or a run-time error is produced. See the user's manual for more information about the interactive debugging facility.
  • +LOAD <filename> β€” Load FGHC forms from <filename> instead of running the normal initialization goal of the main module and terminate execution when the end of the file is reached. Also requires that the program has been compiled with the -i option. A filename of - reads terms to be evaluated from standard input.
  • -- β€” Disables any further run-time option processing.

🫢 SEE ALSO 🫢

More information can be found in the User's Manual and at http://www.call-with-current-continuation.org/fleng/fleng.html

πŸ‘‘ AUTHORS πŸ‘‘

Felix L. Winkelmann πŸ‘‘

πŸ’€ BUGS πŸ’€

Submit bug reports by e-mail to felix@call-with-current-continuation.org


okay bestie, that's the whole FLENG(7) page β€” brought to you by Debian, stamped Oct 15, 2021, and filed under FLENG(7). slay. πŸ’…βœ¨

πŸ“¦ where this page comes from