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;