Wszystkie instrukcja poprzedzone jednakową etykietą PART tworzą bezparametrową procedurę.

1.1 DEMAND N 1.2 DEMAND A(I) FOR I=1(1)N 1.3 SET T=0 1.4 LET SUM(A,B)=A+B 1.5 DO PART 2 FOR I=1(1)N 1.6 TYPE T 2.1 SET T=SUM(T,A(I)) IF A(I)>0 2.2 SET T=T+1 DO PART 1

Tak jak podprogram można również użyć pojedynczej instrukcji poprzez wywołanie o postaci: 1.7 DO STEP 1.1

Ponadto w języku Jean można definiować funkcje w postaci prostych wyrażeń (podobnie jak w języku Basic): 4.1 LET SINX(X,A)=X+SIN(A)

Podprogram w języku Logo Podprogram w języku Logo: Procedura: to square :side repeat 4 [fd :side rt 90] end

Zmienna z listą poleceń: make "inst [fd 40 rt 90] run :inst

Podprogram w języku MCPL Podprogram w języku MCPL: FUN ''name'' : [P, …, Pn] => ''Clist'' [: … : P, …, Pxn => ''Clist-x''] .

MATH | EVERY [(''args'')] : P, …, Pn => ''Clist'' [: … : P, …, Pxn => ''Clist-x''] .

Język posiada także mechanizmy umożliwiające definiowanie korutyn.

Podprogram w języku Modula 2 Podprogram w języku Modula-2: PROCEDURE nazwa([lista_paramertów]) deklaracje lokalne BEGIN instrukcje END nazwa;

PROCEDURE nazwa([lista_paramertów]): typ; deklaracje lokalne BEGIN instrukcje RETURN wyrażenie END nazwa;