Example Lambda callcc 001

 

 

Description

The following example shows how call_cc creates a current continuation, which is used to halt evaluation of an inner loop before the loop has completed.

 

Details

        (call_cc
          (lambda (aContinuation)
          pvars:(callback)
          (setq  callback  aContinuation)
          ;; Note: If I do not use a call back here, mapc will not quit at 1020.
          ;;          When I find 1020, I need to break out of mapc. I do so by 
          ;;          invoking the current continuation created by the call_cc
          (mapc
             (lambda(x)  (if  (>  x  1000) then (callback  x)))
             #(54  0  37  1020  245  19))
          true)
       )           
       ;;return the result of adding  
Returns: 1020

 

Related Examples

Here are examples of the callcc function at work.

Lambda callcc 001

 

Function Links

Here is the link to the current function used in this example.

callcc

Here are a number of links to other related functions.

eval(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

Lambda

Here are a number of links to examples having similar argument types.

Context debug 001 Context debugBrowsableProcs 001 Context disassemble 001 Context globalBinding 001
Context inspect 001 Lambda argCount 001 Lambda argFetch 001 Lambda balance 001
Lambda callcc 001 Lambda compare 008 Lambda compareEQ 008 Lambda compareGE 008
Lambda compareGT 008 Lambda compareLT 008 Lambda compareNE 004 Lambda compile 001
Lambda copy 008 Lambda debug 001 Lambda debugBrowsableProcs 001 Lambda defchild 001
Lambda define 001 Lambda define(macro) 001 Lambda defmacro 001 Lambda defmacro 002
Lambda deforphan 001 Lambda defriend 001 Lambda defun 001 Lambda defun 002
Lambda disassemble 001 Lambda eval 001 Lambda exportTab 001 Lambda globalBinding 001
Lambda importTab 001 Lambda inspect 001 Lambda isLambda 001 Lambda lambda 001
Lambda makeLambda 001 Lambda myself 001 Lambda new 001 Lambda new 002
Lambda new 003 Lambda onError 001 Lambda send 008 Lambda send 009
Lambda setq 015 Lambda type 011 ObjectRepository detachLibrarian 001 ObjectRepository refLibrarian 001

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE