20 lines
531 B
Plaintext
20 lines
531 B
Plaintext
|
|
;; Define a geometry module with public and private functions
|
||
|
|
(define module geometry
|
||
|
|
(import math)
|
||
|
|
|
||
|
|
;; Public function - can be used from outside
|
||
|
|
(define public square (number -> number)
|
||
|
|
(dup *))
|
||
|
|
|
||
|
|
;; Public function using arithmetic
|
||
|
|
(define public cube (number -> number)
|
||
|
|
(dup dup * *))
|
||
|
|
|
||
|
|
;; Private helper function - only visible within module
|
||
|
|
(define private double (number -> number)
|
||
|
|
(2 *))
|
||
|
|
|
||
|
|
;; Public function using private helper
|
||
|
|
(define public quadruple (number -> number)
|
||
|
|
(double double)))
|