106 citations found. Retrieving documents...
Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages, second edition. The MIT Press, 2001.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Teaching Programming with - The Kernel Language   (Correct)

....gradually introducing more sophisticated ones. This gives students a good understanding of practical programming. For example, object oriented programming is explained in terms of functional programming by adding explicit state. Textbooks that use this approach are Abelson et al. and its successors [1, 2, 15, 17]. However, these textbooks lack formal semantics and they leave out many important concepts. Modularity Component based programming inheritance concurrency Dataflow programming No race conditions Both eager and lazy Databases, relations Logic programming nondeterministic choice ....

....semantics that allows practicing programmers to reason about correctness and complexity at a high level of abstraction. We give an operational semantics for all kernel languages and axiomatic and logical semantics for those kernel languages for which it is appropriate. This is in contrast to [1, 2, 15], which define languages in terms of interpreters. Compared to giving a simple operational semantics, we find that using interpreters is obscure (since language features interact in nonobvious ways) and makes it harder to reason abstractly about program correctness and complexity. Our operational ....

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. The MIT Press, 1992.


Linear Continuation-Passing - Berdine, O'Hearn, Reddy, Thielecke (2002)   (Correct)

....reason Propositions 1 and 2 hold is that in the application of an intuitionistic function, the argument cannot have any free linear variables. This has the e#ect of precluding upward continuations. In the procedures source language, a procedure (closure) is upward if it is returned or stored [13]. In the presence of other control behaviours, this definition must be altered accordingly. In the language with exceptions, for instance, a procedure raised as an exception is also upward. Hence, in cps a continuation is upward if it is thrown to another continuation. Note that we do not ....

Friedman, D. P., M. Wand, and C. T. Haynes: 1992, Essentials of Programming Languages. The MIT Press, McGraw-Hill Book Company, first edition.


Functional Low-Level Interpreters - Karczmarczuk (2002)   (Correct)

....to avoid that name. We abandoned the representation of Code as a list, introducing a special sequencing operator. In such a way we introduced practically the CPS paradigms, and we signalled their use in the compilation, more restricted than in [15] or in hundreds of other works, see e.g. [16 18] but fairly suggestive. We returned later to it while discussing parsing and program transformations. Here we applied the following reasoning: Until now every instruction fetched its successor from the code list. But almost all the time the successor is known statically, during the code ....

D.P. Friedman, M. Wand, C.T. Haynes, Essentials of Programming Languages, MIT Press, (1992).


Application-Specific Routing for Mobile Agents - Satoh (2001)   (1 citation)  (Correct)

....for automatically offering its own services and resources to its inner agents and can subordinate its inner agents. Therefore, an agent can directly instruct its inner agents to move to another location. My protocols for agent migration transmit other mobile agents as first class objects [4], in the sense that mobile agents can be passed to and returned from other mobile agents as values. A container agent is still mobile and also can migrate its inner agents to their destinations. Therefore, mobile agents are introduced as the only constituent of my network architecture and my ....

D.P. Friedman, M. Wand, and C. T. Haynes, "Essentials of Programming Languages", MIT Press, 1992.


Dynamic Configuration of Agent Migration Protocols for the Internet - Satoh (2002)   (Correct)

....Therefore, an agent can directly instruct its inner agents to move to another location. Agent D Agent C Agent E migration Agent C Agent A Agent D Agent E Figure 1. Agent hierarchy and inter agent migration. Our mobile agents can transmit other mobile agents as first class objects [3], in the sense that mobile agents can be passed to and returned from other mobile agents as values by their container agents. Such container agents are still mobile and thus can transport their inner agents to other agents. As a result, our framework allows various operations for mobile agents, ....

D.P. Friedman, M. Wand, and C. T. Haynes, "Essentials of Programming Languages", MIT Press, 1992.


Advanced Control Flows for Flexible Graphical User.. - Graunke, Krishnamurthi (2002)   (Correct)

....Programs also have different patterns of information flow. Broadly, there are two kinds of information, which are familiar to authors of interpreters and compilers: lexically updated and globally mutated information, which reside, respectively, in the lexical environment and in the mutable store [1, 12]. When we automatically generate code for parallel exploration, we must distinguish between these so there are multiple copies of the former, but only one of the latter. In a functional programming language such as ML [21] it is usually easy to distinguish between these two: by default ....

Friedman, D. P., M. Wand and C. T. Haynes. Essentials of Programming Languages. The MIT Press, Cambridge, MA, 1992.


Distel: Distributed Emacs Lisp (for Erlang) - Gorrie (2002)   (Correct)

....from Erlang programming style: in Erlang a receive means handle a message and then return, but erl receive means this process state is complete here is the next one. This is an important point for programming with Distel, and leads to writing Emacs processes in continuation passing style [5] [6] where what to do afterwards is given explicitly to erl receive instead of relying on the stack. Because erl receive doesn t return, and nor do functions that call it, they should only be tail called called as the last thing a function does. This rule is made explicit in Distel programs ....

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. MIT Press, Cambridge, MA, 1992.


Composable and Compilable Macros: You Want it When? - Flatt (2002)   (6 citations)  (Correct)

....to Work Although we can define an animal specific zoo switch form that works with hand rolled data structures, we would certainly prefer a general define record form with a corresponding record switch dispatching form. Indeed, many such recorddeclaration extensions to Scheme have been implemented [10, 13, 21, 27], but such implementations rarely provide compile time checking for record switch clauses. In the same way that zoo match reports a syntax error when a clause has the wrong number of variables, record switch should trigger a syntax error when a clause mentions an undefined datatype or lists the ....

.... ) Find c name in table,returnp name . define (constructor field accessors c name) Find c name in table,returnf names . An alternative design is to put a set of record definitions together in a named datatype, so that missing clauses can be reported at compile time [10] as in ML. The Run Time module defines the tag and procedure generators: module Run Time MzScheme (provide (all defined) define counter 0) define (generate unique tag) set counter ( counter 1) counter) define (make record procs tag f names) Return multiple ....

D. P. Friedman, M. Wand, and C. P. Haynes. Essentials of Programming Languages. The MIT Press, Cambridge, Massachusetts, 2001.


Static Analysis of Aspects - Sereni, de Moor (2002)   (5 citations)  (Correct)

....its own execution, and splicing in code at appropriate times. In AspectJ, the sequences that are observed are an abstraction of the call stack, and the patterns in the aspect that trigger the execution of new code refer to patterns in the call stack. A definitional interpreter (in the style of [11]) for this dynamic view of aspect weaving was described in a pioneering paper by Wand et al. 26] An alternative formal model can be found in [9] Naturally dynamic weaving is costly, and it is important to find more e#cient compilation strategies, and indeed AspectJ does implement one such ....

D. P. Friedman, M. Wand, and C. T. Haynes. Essentials of Programming Languages. MIT Press, second edition, 2001.


Linear Continuation-Passing - Berdine, O'Hearn (2002)   (Correct)

....reason Propositions 1 and 2 hold is that in the application of an intuitionistic function, the argument cannot have any free linear variables. This has the e ect of precluding upward continuations. In the procedures source language, a procedure (closure) is upward if it is returned or stored [13]. In the presence of other control behaviours, this de nition must be altered accordingly. In the language with exceptions, for instance, a procedure raised as an exception is also upward. Hence, in cps a continuation is upward if it is thrown to another continuation. Note that we do not ....

Friedman, D. P., M. Wand, and C. T. Haynes: 1992, Essentials of Programming Languages. The MIT Press, McGraw-Hill Book Company, rst edition.


A Semantics for Advice and Dynamic Join Points in.. - Wand, Kiczales, al. (2002)   (39 citations)  Self-citation (Wand)   (Correct)

....representing different models of AOP; AJD is intended to capture the As6 pectJ dynamic join point style of AOP. The relation between AJD and BASE is intended to model the relationship between AspectJ and Java. We implemented the base language and AJD using an interpreter in Scheme in the style of [FWH01] For the semantics, we have simplified BASE and AJD still further by removing types, classes, and objects from the language and by slightly simplifying the join point model; the details are listed in the appendix. While much has been left out, the language of the semantics still models ....

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. MIT Press, Cambridge, MA, second edition, 2001.


On the Correctness and Efficiency of the Krivine Machine - Wand, Friedman (2003)   Self-citation (Friedman Wand)   (Correct)

....the space leak in response to the call for papers for this special issue. The idea of short circuiting variable operands is derived from modelling callby reference and improves the execution for languages that use call by name and call by need. The short circuiting appears in Section 3. 8 of [FWH01]. Thanks to Olivier Danvy for urging us to submit this note. ....

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. MIT Press, Cambridge, MA, second edition, 2001. 5


A Functional Correspondence between Monadic Evaluators and.. - Ager (2004)   (1 citation)  (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages, second edition. The MIT Press, 2001.


A Functional Correspondence between Call-by-Need Evaluators and.. - Ager, al. (2004)   (2 citations)  (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages, second edition. The MIT Press, 2001.


A Functional Correspondence between Call-by-Need Evaluators and.. - Ager, al. (2004)   (2 citations)  (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. The MIT Press and McGraw-Hill, 1991.


Configurable Network Processing for Mobile Agents on the Internet - Satoh (2003)   (Correct)

No context found.

D. P. Friedman, M. Wand, and C. T. Haynes, "Essentials of Programming Languages", MIT Press, 1992.


On Evaluation Contexts, Continuations, and the Rest of Computation - Danvy   (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages, second edition. The MIT Press, 2001.


Separating Stages in the Continuation-Passing Style.. - Lawall, Danvy (1993)   (13 citations)  (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. MIT Press and McGraw-Hill, 1991.


Categorical Structure of Continuation Passing Style - Thielecke (1997)   (18 citations)  (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. MIT Press and McGraw-Hill, 1992.


Automatically Restructuring Programs for the Web - Jacob Matthews Jacobm (2003)   (Correct)

No context found.

Friedman, D. P., M. Wand, and C. T. Haynes: 1992, Essentials of Programming Languages. Cambridge, MA: The MIT Press.


Workflow Enactment with Continuation and Future Objects - Manolescu (2002)   (2 citations)  (Correct)

No context found.

D. P. Friedman, M. Wand, and C. T. Haynes. Essentials of Programming Languages. The MIT Press, Cambridge, MA, second edition, 2001.


Web Interactions - Graunke (2003)   (Correct)

No context found.

Friedman, D. P., M. Wand and C. T. Haynes. Essentials of Programming Languages. The MIT Press, Cambridge, MA, 1992.


Comparing Control Constructs by Double-barrelled CPS - Thielecke (2002)   (2 citations)  (Correct)

No context found.

D. P. Friedman, M. Wand, and C. T. Haynes. Essentials of Programming Languages. MIT Press, 1992.


What Is Aspect-Oriented Programming, Revisited - Filman (2001)   (Correct)

No context found.

Friedman, D. P., Wand, M., and Haynes, C. T. Essentials of Programming Languages (2nd Edition).Cambridge, MA: MIT Press, 2001.


Fine Control of Demand in Haskell - Harrison, Sheard, Hook (2002)   (3 citations)  (Correct)

No context found.

Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. Essentials of Programming Languages. McGraw-Hill Book Co., New York, N.Y., second edition, 2001.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC