ADDABLHEXPR(3)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

✨ ADDABLHEXPR(3) β€” the ABL FUNCTIONS glow-up ✨

okay bestie, sit down, hydrate, and let me tell you about addablhexpr πŸ’– this one lives in the ABL FUNCTIONS section of the manual (third section, the library girlies), and it's literally just "put a new argument at the head of an expression." that's it. that's the whole vibe. but the way it does it? chef's kiss. no cap.


🌸 ORIGIN 🌸

so this software? it belongs to the ALLIANCE CAD SYSTEM, which was developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre and Marie CURIE, in Paris, France πŸ₯πŸ—Ό

like, actual Paris. main character location fr fr.


πŸŽ€ SYNOPSIS πŸŽ€

here's the incantation, copy it exactly or it will not work, i don't make the rules:

#include "abl101.h"
void addablhexpr( Expr1, Expr2 )
  chain_list *Expr1;
  chain_list *Expr2;

πŸ¦‹ PARAMETERS πŸ¦‹

  • Expr1 β€” the first expression. the one getting a lil something added to its head πŸ’…
  • Expr2 β€” the second expression. the something in question.

πŸ’– DESCRIPTION πŸ’–

addablhexpr adds Expr2 in head of Expr1. that's the whole function. it's giving "prepend but make it expressions" and honestly? iconic.

🚨 BIG ONE, DO NOT SKIP THIS: the expression pointers Expr2 MUSTN'T be used after the call to this function. like, not once. not casually. not "just to peek." it's consumed, bestie, it's gone, it's living its new life inside Expr1 now. using it afterwards is a one-way ticket to undefined-behavior-ville and we are NOT going there πŸ™ˆ

⭐ RETURN VALUE ⭐

addablhexpr returns nothing. zero. void. the void is voiding. it does the thing and then it simply leaves 🫢


🌈 EXAMPLE 🌈

here's how the girlies actually use it:

#include "abl101.h"
  chain_list βˆ—Expr;
  Expr = createabloper( ABL_OR );
  addablhexpr( Expr, createablatom( "a" ) );
  addablhexpr( Expr, createablatom( "b" ) );
  /* displays (a or b) */
  viewablexpr( Expr, ABL_VIEW_VHDL );

look at that. a goes in the head, then b goes in the head, and boom β€” (a or b) ✨ it ate and left no crumbs.


πŸ‘‘ SEE ALSO πŸ‘‘

go read these next, they're all part of the same friend group:


πŸ’€ BUG REPORT πŸ’€

this tool is under development at the ASIM department of the LIP6 laboratory. we need your feedback to improve documentation and tools β€” so if something's weird, tell them, don't just suffer in silence 😭 your input is lowkey the whole point.


and that's the page, bestie πŸŽ€ this one came out of ASIM/LIP6 and it's dated October 1, 1997 β€” yes, a 90s baddie, and it still slays. mwah πŸ’…βœ¨