One important difference between Kernel and traditional LISP/Scheme is Kernel’s pervasive use of encapsulated types [1]. There is a clear distinction in Kernel between decomposable structures and opaque objects. Encapsulated types are a significant contributor toward smooth extensibility. They allow the definition of objects, and operations on those object, that are indistinguishable from primitives. We [...]
Tag Cloud
actor asynchronous blocking capability channel composition concurrency consistency data-flow deadlock debugging distribution equation Erlang evaluation extensibility functional grammar Humus imperative iteration Kernel lambda-calculus language message-passing object-oriented pair pattern-matching patterns PEG protocol queue recursion scalability Scheme sequence serializer starvation state-machine streams synchronization synchronous unification value vau-calculus