BIGLOO(1)

πŸ’– BIGLOO πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about bigloo v2.3 β€” and the manpage itself calls it `a practical Scheme compiler'. that's the whole title, that's the vibe, we're done here. jk we are SO not done. πŸŽ€


✨ SYNOPSIS ✨

bigloo [ options ] [ input ]

🌸 DESCRIPTION 🌸

so Bigloo is a Scheme compiler. Scheme has an IEEE standard defining the Scheme Programming Language, and Bigloo does not entirely conform to it β€” no cap, the manpage says so itself. πŸ™ˆ

the compiler spits out either C files or Java class files. The C files then get handed to any ISO C compiler, which turns them into .o files or executables.

and the big one: Bigloo is a module compiler, which literally means it's allowed to compile several files and link them together into one single unique executable. it's giving teamwork, it's giving main character energy. πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • options β€” bestie there are SO many options. Type bigloo -help and it will print them all out for you. go look, we'll wait. 🫢
  • -jvm β€” produces Java class files instead of C files. ⚠️ important: you have to use this one both when compiling and when linking. not one or the other. both. periodt.
  • -no-jvmjar β€” disables jar file production when you're linking with -jvm. that's it, that's the whole job, and it does it flawlessly.
  • input β€” if you hand it an input file, Bigloo compiles it. If you don't? it drops you into the interpreter instead. 🧚 the input has to be a recognized Scheme source file name, meaning a file name with a recognized suffix β€” check the -suffix option for the deets.

πŸŽ€ CONFIGURATION FILE πŸŽ€

every Bigloo user gets to have their own special little configuration file, and it must be named:

~/.bigloorc

this file lets you modify the behaviour of the compiler. πŸ’– it's a regular Scheme file, and it contains expressions that are bound in an environment where compiler parameters are bound. See the documentation for details β€” that's what it says, and honestly? valid.


πŸ¦‹ ENVIRONMENT VARIABLES πŸ¦‹

  • BIGLOOHEAP β€” sets the environment size, in megabytes. the default value is 4.
  • TMPDIR β€” sets the temporary directory. the default value is /tmp.
  • BIGLOOLIB β€” the path used to find Bigloo's library.
  • BIGLOOJAVAOPT β€” Java Virtual Machine options, used when running a Bigloo application.

⭐ FILES ⭐

  • /.../lib/bigloo/2.3a/bigloo.heap β€” saved heap image for the compiler.
  • /.../lib/bigloo/2.3a/bigloo.jheap β€” saved heap image for the compiler for -jvm compiations.
  • /.../lib/bigloo/2.3a/bigloo.h β€” definitions which are #include'd in the C code.
  • /.../lib/bigloo/2.3a/libbigloo.a β€” library.
  • /.../lib/bigloo/2.3a/libbigloo_u.a β€” library.
  • ~/.bigloorc β€” user runtime-command configuration file.
  • /.../.bigloorc β€” idem.

🌈 SEE ALSO 🌈

go read these too, they're iconic, they're the friend group:

bglafile(1), bgljfile(1), bgldepend(1), bglmake(1), bglpp(1), bglprof(1), bgltags(1), bglmco(1), gcc(1), camloo(1), cigloo(1), jigloo(1).


πŸ‘‘ AUTHOR πŸ‘‘

Manuel SERRANO, Manuel.Serrano@inria.fr β€” thank you for your service, legend. 🫑


and that's the whole page bestie!! Version 2.3, dated Mar 8 2001 β€” this manual page is lowkey older than us and it still ate. πŸ’€βœ¨ mwah, go compile something gorgeous. πŸ“πŸ’œ
πŸ“¦ where this page comes from