FLENG(1)

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

✨ fleng(1) β€” your fave FGHC, Strand, KL1, PCN and FLENG compiler, straight from the General Commands Manual ✨

🏷️ NAME 🏷️

fleng β€” A FGHC, Strand, KL1, PCN and FLENG compiler

🌸 SYNOPSIS 🌸

fleng [OPTION ...] [FILENAME] [OBJECTFILE ...]

πŸ’– DESCRIPTION πŸ’–

okay so fleng is a compiler and run-time system for FLENG, a concurrent logic programming language descended from Prolog. It translates source code written in FLENG, FGHC (Flat Guarded Horn Clauses) or Strand into executable code. iconic behavior, honestly ✨

FILENAME should name a FGHC, Strand, KL1, PCM or FLENG source file, or a file previously compiled to assembler or a binary object file. C/C++ source files given on the command line will be compiled to object files and linked to the final executable unless the -c option is given. no cap 🫢

OPTION should be one of the following:

  • -h β€” Show usage information and exit. πŸ’…
  • --version β€” Show compiler version and exit.
  • -w β€” Disable compiler warnings.
  • -k β€” Keep intermediate files.
  • -c β€” Compile to object file, do not create an executable program.
  • -t β€” Show some internal compiler information.
  • -a β€” Show intermediate representation on standard output.
  • -e β€” Generate entry-point file for faster cross-module calls.
  • -link FILENAME β€” Make use of entry-point definitions from given file.
  • -p β€” Generate profiling information.
  • -l LANGUAGE β€” Specify source language to clarify or force the translation of the source file in a particular mode. LANGUAGE should be one of "fghc", "strand", "kl1", "pcn" or "fleng". If this option is not specified, the source language will be inferred from the source file name extension. πŸŽ€
  • -check β€” Only perform syntactical and semantic checking, do not generate any output files.
  • -cc β€” Output the name of the C compiler used for building FLENG.
  • -cflags β€” Output C compiler options suitable for compiling C code interfacing to FLENG-compiled code.
  • -libs β€” Output libraries needed to be linked to compiled FLENG code.
  • -c++ β€” Compile generated foreign code with C++ compiler instead of C compiler and force linking in C++ mode.
  • -m MODULE β€” Specifies the name of the compiled module. If no module name is given the module name defaults to "" (empty), which designates a main module.
  • -I DIRECTORY β€” Prepends the given directory to the list of locations where FGHC or FLENG include files should be searched. Also applies to C compiler invocations for foreign code stubs.
  • -foreign BASENAME β€” Sets the basename of the file that will hold C/C++ wrappers and stubs for foreign code. The default is "NAME~foreign" where "NAME" is the basename of the compiled source file. πŸ¦‹
  • -o OUTFILE β€” Produce OUTFILE and exit. Depending on the file extension, the compilation process will stop after generating a FLENG source file (.fl or .fleng) an assembler file (.s), a binary object file (.o) or an executable (any other extension). As default output filename the basename of the source file is given and an executable file is created.
  • -d β€” Enable debug information, which shows slightly more information in debug logs and enables some additional error checking.
  • -i β€” Enables interactive debugging. When this option is given and the executable is invoked with the -+INTERACTIVE run-time option, a read-eval-print loop is started that allows invoking arbitrary program and library goals. πŸ”₯
Note that options can not be combined β€” any unrecognized option is passed to the C linker in the linking stage. You can add binary object files or libraries to the invocation of fleng which will be linked to the final executable.

🌿 ENVIRONMENT 🌿

The following environment variables change the behaviour of fleng:

  • FLENG_PREFIX β€” Contains the directory where support binaries, include files and libraries are located. If this variable is not set, the files are located in the path specified during installation. πŸ“

🚦 EXIT STATUS 🚦

The fleng utility exits 0 on success, and >0 if an error occurs. periodt πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

πŸ‘‘ AUTHORS πŸ‘‘

Felix L. Winkelmann

πŸ’€ BUGS πŸ’€

Most certainly β€” please submit reports to felix@call-with-current-continuation.org


That's the whole page, bestie β€” FLENG(1), Debian edition, dated Jan 31, 2021. Go compile something iconic πŸ’…βœ¨

πŸ“¦ where this page comes from