MultiMethods.NET - fast multiple dispatch for .NET

  •        60

Adds multimethod support for .NET enabling fast polymorphic dispatch based on argument types. MultiMethods.NET is developed in C# 3.0 and targets the 2.0 runtime. Enables development of loosely coupled systems where class hierarchies and behavior evolve over time.

http://multimethods.codeplex.com/

Tags
Implementation
License
Platform

   




Related Projects

Multiple-Dispatch


This project provides easy-to-use and light-weight multiple dispatch (multimethods) for Java, .net and Windows Phone 7. Multiple dispatch gives you the ability to call methods based on the runtime type of arguments, eliminating the need for the Visitor pattern. It can help make you write code that is loosely coupled, less verbose and easier to understand. Windows Phone 7 support means that you can use multimethods in WP7 applications without waiting for Microsoft to support Silverlight 4.

multimethod - Performant multimethods for Python inspired by Clojure's multimethods


Performant multimethods for Python inspired by Clojure's multimethods

dispatch-map - Persistent map with Clojure's multimethod dispatch semantics


Persistent map with Clojure's multimethod dispatch semantics

ruby-multimethods - clojure style multimethods for general dispatch in ruby


clojure style multimethods for general dispatch in ruby



py-multimethod - An implementation of Clojure-like multimethods for Python


An implementation of Clojure-like multimethods for Python

multimethod - Multimethods for Ruby


Multimethods for Ruby

gamelisp


(+ [1 2] 3) -> [1 2 3](+ [1 2] [3 4]) -> [1 2 3 4]````Core Functions (so far)--------------````clojure(def symbol value) ; Define a new variable(type x) ; Get type of variable(str x) ; Get string representation of variable(print x) ; Print value of x(map f xs) ; Apply function to items in list xs(filter f xs) ; Filter items xs with function f(get dict key) ; Get dictionary entry(get list index) ; Get list entry (negative indices like in Python)(put dict key value) ; Add or set dictionary entry(p

multiple-signal-handlers - perl library to allow dispatch of multiple handlers for any given signal.


perl library to allow dispatch of multiple handlers for any given signal.

multimethod-php - A multimethod library for PHP


A multimethod library for PHP

multimethod-js - A multimethod library for JavaScript, Clojure-inspired.


A multimethod library for JavaScript, Clojure-inspired.

clj-clu - A Clojure library to define and dispatch to multiple command line utilities.


A Clojure library to define and dispatch to multiple command line utilities.

JS-MouseKD - Efficiently track and dispatch multiple mouse events inside a DOM object by K-D tree


Efficiently track and dispatch multiple mouse events inside a DOM object by K-D tree

js-pmd - Multiple dispatch for JavaScript (toy implementation)


Multiple dispatch for JavaScript (toy implementation)

def.js - A multiple-dispatch function overloading library for JavaScript.


A multiple-dispatch function overloading library for JavaScript.

multiple-dispatch


A library extending Bigloo's object system with multiple-dispatch generic function

genfun.js - Prototype-friendly multiple dispatch for JavaScript.


Prototype-friendly multiple dispatch for JavaScript.

MultiJava


MultiJava adds open classes and multiple dispatch to Java. Open classes let one add new operations to existing objects. Multiple dispatch has many uses; one typical example is to write event handlers for Swing applications while avoiding nested ifs.

typed.py - Inquisitive Types and Multiple Dispatch for Python


Inquisitive Types and Multiple Dispatch for Python

FluentIoc - Placing some code I like to carry over to multiple projects surrounding Ioc Containers


Placing some code I like to carry over to multiple projects surrounding Ioc Containers