August 2001
- [DGN] RP awards (was: Something in the water) Ananda Dawnsinger
- [DGN] RP awards (was: Something in the water) Matt Mihaly
- Anarchy Online (was Community Feeling) Matt Mihaly
- Anarchy Online (was Community Feeling) Hanz, Rob
- Anarchy Online (was Community Feeling) Travis Casey
- Anarchy Online (was Community Feeling) Dave Rickey
- Anarchy Online (was Community Feeling) Richard A. Bartle
- Anarchy Online (was Community Feeling) Steve {Bloo} Daniels
- Anarchy Online (was Community Feeling) Koster, Raph
- Anarchy Online (was Community Feeling) Daniel.Harman@barclayscapital.com
- Anarchy Online (was Community Feeling) Daniel James
- CGMud testing Chris Gray
- TECH: STL / Heaps, Eli Stevens
- TECH: STL / Heaps, David Bennett
- TECH: STL / Heaps, Travis Nixon
- TECH: STL / Heaps, Vincent Archer
- TECH: STL / Heaps, Sean K
- TECH: STL / Heaps, Daniel.Harman@barclayscapital.com
- TECH: STL / Heaps, Sean K
- TECH: STL / Heaps, Caliban Tiresias Darklock
- TECH: STL / Heaps, Adam Martin
- TECH: STL / Heaps, Ola Fosheim Grøstad
- TECH: STL / Heaps, Ling Lo
- TECH: STL / Heaps, Paul Schwanz
- TECH: STL / Heaps, Chris Jones
- TECH: STL / Heaps, Kwon Ekstrom
- TECH: STL / Heaps, Caliban Tiresias Darklock
- TECH: STL / Heaps, shren
- TECH: STL / Heaps, Jon Lambert
- Dictionary of Body Language ling.lo@coment.dk
- Dictionary of Body Language Koster, Raph
- Where to go with the maddog page Frank Crowell
- Academic journal on computer games Jussi 'Sulka' Haro
- "The gaming situation" by Markku Eskelinen Jussi 'Sulka' Haro
- "The gaming situation" by Markku Eskelinen Ola Fosheim Grøstad
- "The gaming situation" by Markku Eskelinen Madman Across the Water
- "The gaming situation" by Markku Eskelinen Matt Mihaly
- "The gaming situation" by Markku Eskelinen Travis Casey
- Non-Linear Item Combination Systems... Justin Rogers
- Rats in a cage? J C Lawrence
- Rats in a cage? J C Lawrence
- ECTS 2001 & GDC Europe Adam Martin
- ECTS 2001 & GDC Europe J C Lawrence
- Java tidbits (was: TECH: STL / Heaps, etc.) Ling Lo
- Java tidbits (was: TECH: STL / Heaps, etc.) Bobby Martin
- Java tidbits (was: TECH: STL / Heaps, etc.) Alistair Milne
- Player Types (Was Anarchy Online) Ola Fosheim Grøstad
- Korean marketing effort... Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bruce Mitchener
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Federico Di Gregorio
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bruce Mitchener
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Luke Carruthers
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bruce Mitchener
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Robin Lee Powell
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Robin Lee Powell
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bruce Mitchener
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Robin Lee Powell
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bruce Mitchener
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Robin Lee Powell
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Hans-Henrik Staerfeldt
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bobby Martin
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Miroslav Silovic
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Kwon Ekstrom
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Ola Fosheim Grøstad
- Skotos Articles: Why Marrach Isn't the Movies #1, #2, #3, and a Coda [LONG] Christopher Allen
- [BIZ] Job on a MMORPG Dave Kennerly
- Personality Types (was Anarchy Online (was Community Feeling)) Dave Kennerly
- Personality Types (was Anarchy Online (was Community Feeling)) Richard A. Bartle
- Personality Types (was Anarchy Online (was Community Feeling)) Ian Collyer
- Personality Types (was Anarchy Online (was Communit y Feeling)) Koster, Raph
- Personality Types (was Anarchy Online (was Community Feeling)) Ling Lo
- Personality Types (was Anarchy Online (was Community Feeling)) Hans-Henrik Staerfeldt
- Personality Types (was Anarchy Online (was Community Feeling)) Richard A. Bartle
- Personality Types (was Anarchy Online (was Community Feeling)) Marc Fielding
- Personality Types (was Anarchy Online (was Community Feeling)) John Hopson
- Personality Types (was Anarchy Online (wasCommunity Feeling)) Ola Fosheim Grøstad
- Personality Types (was Anarchy Online (was Community Feeling)) Hans-Henrik Staerfeldt
- Personality Types (was Anarchy Online (was Community Feeling)) Adam Martin
- Personality Types (was Anarchy Online (was Community Feeling)) Ola Fosheim Grøstad
- Personality Types (was Anarchy Online (was Community Feeling)) Erwin S. Andreasen
- Personality Types (was Anarchy Online (was CommunityFeeling)) Dave Kennerly
- Personality Types (was Anarchy Online (was CommunityFeeling)) Erwin S. Andreasen
- Personality Types (was Anarchy Online (was Community Feeling)) Ola Fosheim Grøstad
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Brian Hook
- MudDev FAQ - part 1 Marian Griffith
- MudDev FAQ - part 1 Marian Griffith
- MudDev Faq - part 1 Marian Griffith
- Mud Dev FAQ - Part 1 Marian Griffith
- Mounts and Vehicles Greg B
- Mounts and Vehicles Justin Harvey
- Mounts and Vehicles Richard A. Bartle
- Mounts and Vehicles Ammon Lauritzen
- Mounts and Vehicles Koster, Raph
- Mounts and Vehicles susan wu
- Mounts and Vehicles Tamzen Cannoy
- Mounts and Vehicles J C Lawrence
- Mounts and Vehicles Richard A. Bartle
- Mounts and Vehicles lwl@black-knight.org (Lydia Leong)
- Mounts and Vehicles Frederick Nacino
- Personality Types (was Anarchy Online (was Community Feeling)) Trump
- Wilderness (AO) Peter Tyson
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Caliban Tiresias Darklock
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Brian Hook
- TECH: programming languages (was: TECH: STL / H eaps, etc.) Daniel.Harman@barclayscapital.com
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Justin Rogers
- TECH: programming languages (was: TECH: STL / H eaps, etc.) Daniel.Harman@barclayscapital.com
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Bruce Mitchener
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Dave Kennerly
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Jeremy Noetzelman
- TECH: programming languages (was: TECH: STL / Heaps, etc.) Nathan F. Yospe
- small outfit is looking for computer game designers/programmers Frank Crowell
- Personality Types (was Anarchy Online (was Community Feeling)) Marc Fielding
- Personality Types (was Anarchy Online (was Community Feeling)) Kristen L. Koster
- Personality Types (was Anarchy Online (was Community Feeling)) Kwon Ekstrom
- Pocket PC Development Daniel.Harman@barclayscapital.com
- Pocket PC Development Peter Tyson
- Pocket PC Development Frank Crowell
- Pocket PC Development Peter Tyson
- Pocket PC Development Frank Crowell
- Pocket PC Development Peter Tyson
- Pocket PC Development Paul Schwanz
- Pocket PC Development Peter Tyson
- Pocket PC Development Matt Owen
- Pocket PC Development Coyote
- Pocket PC Development Frank Crowell
- Pocket PC Development Daniel.Harman@barclayscapital.com
- Pocket PC Development Peter Tyson
- Pocket PC Development Ling Lo
- Re[4]: d20 Travis Casey
- Re[4]: d20 Travis Casey
- Re[4]: d20 Michael Tresca
- Re[4]: d20 Travis Casey
- Re[4]: d20 Michael Tresca
- [TECH] [ObjC] : programming languages - Obj-C as opposed to Java Adam Martin
- [TECH] [ObjC] : programming languages - Obj-C as opposed to Java Bruce Mitchener
- [TECH] [ObjC] : programming languages - Obj-C as opposed to Java Brian Hook
- Chances of success (was d20 system) Bobby Martin
- Chances of success (was d20 system) Travis Casey
- Chances of success (was d20 system) Daniel.Harman@barclayscapital.com
- Chances of success (was d20 system) Travis Casey
- Chances of success (was d20 system) Daniel.Harman@barclayscapital.com
- Chances of success (was d20 system) Jon Lambert
- Chances of success (was d20 system) Kwon Ekstrom
- CoolMUD lives!, sort of. Robin Lee Powell
- CoolMUD lives!, sort of. Bruce Mitchener
- CoolMUD lives!, sort of. Dan Root
- CoolMUD lives!, sort of. Robin Lee Powell
- CoolMUD lives!, sort of. Miroslav Silovic
- CoolMUD lives!, sort of. Robin Lee Powell
- CoolMUD lives!, sort of. Bruce Mitchener
- CoolMUD lives!, sort of. Miroslav Silovic
- CoolMUD lives!, sort of. Robin Lee Powell
- MBTI vs Bartle Type (was: Personality Types) Ian Collyer
- Personality Types (was Anarchy Online (was Community Feeling)) Matt Mihaly
- Re[4]: Chances of success (was d20 system) Travis Casey
- Re[6]: d20 Travis Casey
- Re[6]: d20 rayzam
- Re[6]: d20 Bobby Martin
- MUD-Dev digest, Vol 1 #404 - 16 msgs Dr. Cat
- Personality Types Corey Crawford
- Chances of success (Bobby's algorithm) Bobby Martin
- SMAUG Code (was Personality Types) Kwon Ekstrom
- SMAUG Code (was Personality Types) Corey Crawford
- SMAUG Code (was Personality Types) Alistair Milne
- SMAUG Code (was Personality Types) Kwon Ekstrom
- SMAUG Code (was Personality Types) Miroslav Silovic
- SMAUG Code (was Personality Types) Kwon Ekstrom
- SMAUG Code (was Personality Types) Bruce Mitchener
Miroslav Silovic wrote:
> The proper approach is multiple polymorphic dispatch (here
> demonstrated using TinyCLOS syntax, employed by Guile's GOOPS):
>
> (define-generic look)
>
> (define-method look (subject <Player>) (object <Described>)
> ;; the default, since all other cases inherit from (Player, Described)
> ;; pair.
> )
>
> (define-method look (subject <Player>) (object <Room>)
> ... )
>
> (define-method look (subject <Troll>) (object <Room>)
> ... )
>
> (define-method look (subject <Player>) (object <Thing>)
> ... )
> etc.
A quick definition before starting in: dispatch is the process of
determining what method should be invoked and then invoking it. In
some systems, this is done by the compiler, other systems do it at
runtime. At any rate, there are several styles of method dispatch,
ranging from single dispatch in traditional languages to multiple
dispatch in Dylan, CLOS, to pattern matching in ML, and predicate
dispatch in Cecil. These are just different strategies for handling
the general problem of dispatch. I've given URLs to papers on some
of these in previous posts.
Sometimes, it is hard for people to see why multiple dispatch as
shown in Miro's example is substantively different or superior to
the more traditional style that is expressable in C++/Java (as shown
in Alistair's code). I know that I spent a long time disliking
multiple dispatch. :)
Quoting a bit from this paper on an implementation of multiple
dispatch in Perl,
http://www.csse.monash.edu.au/~damian/TPC/1999/MultipleDispatch/Paper.html:
--- begin quote ---
It's possible to build "hand-crafted" multiply dispatched
methods that look at the types of each of their arguments and
react accordingly. For example, a normal (singly- dispatched)
method could use ref or isa to determine the types of its other
arguments and then select the correct behaviour in a cascaded
if statement. Alternatively, it's possible to use hashes of
hashes to set up a multidimensional table of subroutine
references, then use the class names of the arguments (again
found with ref) to index into it. Both these approaches are
described in detail in [1,2].
The problem is that such hand-crafted mechanisms are
complicated to construct and even harder to debug. And because
every hand-built method is structurally similar, they're also
tedious to code and maintain. Life would be very much easier if
it were possible to define a set of identically named methods
with distinct parameter lists, and then the program would
"automagically" find the right one. Such a set of multiply
dispatched methods is known as a multimethod, and each
alternative method in the set is known as a variant.
---- end quote ----
One of the goals of using multiple dispatch rather than double
dispatch (like the pattern that Alistair used in his post) is that
it can simplify the longer term maintainence of your codebase, as
adding a new class to the system needn't mean that you have to go
and modify a bunch of methods. Instead, you need only provide
variants that are specialized for the new class. This is a very
powerful concept and can lead to radical simplifications in the
structure of code when employed properly.
With the more generalized form, predicate dispatching, that I've
previously mentioned on the list, its power grows.
And multiple and predicate dispatch can be applied outside the
domain of method lookup and dispatch. Any problem where you are
taking a set of input values and considering what action to carry
out can benefit. An example of this might be determine which event
handler to run for an event. (Depending on the structure of your
system.)
- Bruce
- Re[6]: d20 Caliban Tiresias Darklock
- Writing a MUD Server in Visual Basic? Matt Owen
- Writing a MUD Server in Visual Basic? Dan MacDonald
- Writing a MUD Server in Visual Basic? Kevin Littlejohn
- Writing a MUD Server in Visual Basic? Troy Fisher
- Writing a MUD Server in Visual Basic? Chris Gray
- Writing a MUD Server in Visual Basic? Matt Mihaly
- Writing a MUD Server in Visual Basic? Lars Duening
- Writing a MUD Server in Visual Basic? Dan MacDonald
- Writing a MUD Server in Visual Basic? Chris Gray
- Writing a MUD Server in Visual Basic? Dan MacDonald
- Writing a MUD Server in Visual Basic? Kwon Ekstrom
- Writing a MUD Server in Visual Basic? Jon Lambert
- Writing a MUD Server in Visual Basic? Sean K
- Writing a MUD Server in Visual Basic? Caliban Tiresias Darklock
- Writing a MUD Server in Visual Basic? Daniel.Harman@barclayscapital.com
- Writing a MUD Server in Visual Basic? Daniel.Harman@barclayscapital.com
- Writing a MUD Server in Visual Basic? Matt Owen
- Writing a MUD Server in Visual Basic? verb@rpn.port5.com
- Writing a MUD Server in Visual Basic? Travis Casey
- Writing a MUD Server in Visual Basic? Matt Owen
- Writing a MUD Server in Visual Basic? Troy Fisher
- Writing a MUD Server in Visual Basic? Matt Owen
- Writing a MUD Server in Visual Basic? Dan MacDonald
- Writing a MUD Server in Visual Basic? Matt Owen
- Writing a MUD Server in Visual Basic? Bruce Mitchener
- Writing a MUD Server in Visual Basic? Tess Lowe
- Writing a MUD Server in Visual Basic? Nathan F. Yospe
- TECH: .Net (was: programming languages (was: TE CH: STL / Heaps, etc.)) Daniel.Harman@barclayscapital.com
- Pocket PC Development Peter Tyson
- Mental Nudges (was Pocket PC development) Paul Schwanz
- Mental Nudges (was Pocket PC development) Frank Crowell
- Mental Nudges (was Pocket PC development) Ian Collyer
- MojoWorld, or a new product for generated content Bruce Mitchener
- MojoWorld, or a new product for generated content Hans-Henrik Staerfeldt
- MUDs as an educational tool in impoverished regions? Eric Rhea
- ColdC documentation (SMAUG Code) brandon@roguetrader.com
- MUD to include space and more Daniel Bendiksen
- MUD to include space and more Brian Hook
- MUD to include space and more Andrew Norman
- MUD to include space and more David Loeser
- MUD to include space and more Phillip Lenhardt
- MUD to include space and more shren
- [DSN] Why Permadeath is Irrelevant Paul Schwanz
- [DSN] Why Permadeath is Irrelevant Robin Lee Powell
- [DSN] Why Permadeath is Irrelevant John Buehler
- [DSN] Why Permadeath is Irrelevant Paul Schwanz
- [DSN] Why Permadeath is Irrelevant Daniel Bendiksen
- [DSN] Why Permadeath is Irrelevant John Buehler
- AOL lawsuit Matt Mihaly
- AOL lawsuit John Robert Arras
- AOL lawsuit Matt Mihaly
- AOL Lawsuit John Robert Arras
- AOL Lawsuit Matt Mihaly
- AOL lawsuit Marian Griffith
- AOL lawsuit shren
- AOL lawsuit Jon Lambert
- Release and social aspect Ola Fosheim Grøstad
- Release and social aspect Daniel Bendiksen
- Mining the SW:G Forums Eric L. Rhea
- Mining the SW:G Forums Trump
- [TECH] MySQL for mud databases Brian Hook
- [TECH] MySQL for mud databases ryan daum
- [TECH] MySQL for mud databases Jim S
- [TECH] MySQL for mud databases Brian Hook
- [TECH] MySQL for mud databases Jussi 'Sulka' Haro