this post was submitted on 13 Sep 2026
40 points (100.0% liked)

Programming

28458 readers
271 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 3 years ago
MODERATORS
 

There are a few I'm aware of:

  1. Rust-style use (multiple imports per statement, renaming items using as)
  2. Java-style import (single import per statement, no renaming (afaik))
  3. Zig-style let xlib = @import("xlib") (imports as assignments)
  4. C-style #include (no importing, just pastes the code of the named file)
you are viewing a single comment's thread
view the rest of the comments
[–] palordrolap@fedia.io 4 points 1 day ago

Perl's system of use ModuleName LIST is pretty nifty.

The LIST may contain pretty much anything and it's passed to the module's import method (or one that the module has imported in turn from elsewhere). It can be interpreted or parsed freely by that routine.

Usually, it's expected to contain the names of variables and subroutines to be linked into (some might say "pollute") the current namespace, as well as special flags that can import multiple at once, but it can also be left empty with () and then everything in the module has to be referred to by prefix in a very similar way to how C++ does it.

But in theory, you could put an entirely different programming language into that LIST and have the module do magical things with it. If you thought the fact that C++'s template system being Turing complete was insane, this is basically that, but to the next order of magnitude.