CljPerl

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

	    (. readline fh)))

####### Test

	(file#open ">t.txt" (fn [f]
	  (file#>> f "aaa")))
	
	(file#open "<t.txt" (fn [f]
	  (println (perl->clj (file#<< f)))))

An advanced example which creates a timer with AnyEvent.

	(. require AnyEvent)

	(def cv (->AnyEvent condvar))
	
	(def count 0)
	
	(def t (->AnyEvent timer
	  {:after 1
	   :interval 1
	   :cb (fn [ & args]
	         (println count)
	         (set! count (+ count 1))
	         (if (>= count 10)
	           (set! t nil)))}))
	
	(.AnyEvent::CondVar::Base recv cv)

lib/CljPerl.pm  view on Meta::CPAN

	    (. readline fh)))

=head4 Test

	(file#open ">t.txt" (fn [f]
	  (file#>> f "aaa")))
	
	(file#open "<t.txt" (fn [f]
	  (println (perl->clj (file#<< f)))))

An advanced example which creates a timer with AnyEvent.

	(. require AnyEvent)

	(def cv (->AnyEvent condvar))
	
	(def count 0)
	
	(def t (->AnyEvent timer
	  {:after 1
	   :interval 1
	   :cb (fn [ & args]
	         (println count)
	         (set! count (+ count 1))
	         (if (>= count 10)
	           (set! t nil)))}))
	
	(.AnyEvent::CondVar::Base recv cv)

lib/CljPerl/anyevent.clp  view on Meta::CPAN


  (defn cancel [o]
    (set! o nil))

  (defn condvar-recv [cv]
    (.AnyEvent::CondVar::Base recv cv))

  (defn condvar-send [cv & args]
    (.AnyEvent::CondVar::Base send cv args))

  (defn timer [opts]
    (->AnyEvent timer opts))

  )

t/timer.clp  view on Meta::CPAN

(require anyevent)

(def cv (anyevent#condvar))

(def count 0)

(def t (anyevent#timer
  {:after 1
   :interval 1
   :cb (fn [ & args]
         (println count)
         (set! count (+ count 1))
         (if (>= count 10)
           (begin 
             (anyevent#condvar-send cv)
             (anyevent#cancel t))))}))



( run in 0.810 second using v1.01-cache-2.11-cpan-49f99fa48dc )