Is this possible to define a function with no arguments in racket?

function, racket

Solution

(define (fun1)
  "hello")

(define fun2
  (lambda ()
    "world"))

(define fun3
  (thunk
   "I am back"))      

(fun1)
=> "hello"
(fun2)
=> "world"
(fun3)
=> "I am back"

EDIT

If, as @Joshua suggests, you want a procedure which can take any argument(s) and ignore them, the equivalent definitions would be:

(define (fun1 . x)
  "hello")

(define fun2
  (lambda x
    "world"))

(define fun3
  (thunk*
   "I am back"))      

(fun1)
(fun1 1 2 3)
=> "hello"

(fun 2)
(fun2 4 5 6 7)
=> "world"

(fun3)
(fun3 8 9)
=> "I am back"

Problem

I'm trying to define a function in Racket which takes no arguments. All the examples that I have seen take one or more arguments. How can I do that?

Original source