The hs-dotnet package
hs-dotnet integrates the .NET platform with Haskell (via GHC.)
It lets you interact with .NET code and libraries, providing full access to .NET objects in a type-safe manner. This also includes parameterized .NET types (generic types), representing them in a manner natural to Haskell.
Dually, Haskell functions can be accessed and called from .NET, hs-dotnet transparently exposing these as delegates for you. Two example uses of this facility are the use of Haskell when programming LINQ and in Windows Forms UIs. Here's how to fire up an example program accessing LINQ:
c:\haskell> cd examples c:\haskell> ghci LinqQuery.hs .... LinqQuery> whereQuery
The package also includes tool support for automatically generating Haskell wrappers and types to .NET classes. The package assumes at least v2.0 of the .NET framework.
More info on package and its features at http://haskell.forkIO.com/dotnet
Properties
| Versions | 0.3.0, 0.3.1, 0.4.0 |
|---|---|
| Dependencies | base (<3), ghc-prim or base (≥4), ghc-prim |
| License | BSD3 |
| Author | Sigbjorn Finne <sof@forkIO.com> |
| Maintainer | Sigbjorn Finne <sof@forkIO.com> |
| Category | .NET |
| Upload date | Sat Apr 18 20:35:18 UTC 2009 |
| Uploaded by | SigbjornFinne |
| Build failure | ghc-6.10 (log), ghc-6.12 (log), ghc-7.0 (log) |
Modules
- NET
- NET.Base
- System
- NET.System.Action
- NET.System.Action.Type
- NET.System.Array
- NET.System.AsyncCallback
- NET.System.AsyncCallback.Type
- NET.System.Char
- Collections
- NET.System.Collections.CollectionBase
- Generic
- NET.System.Collections.Generic.Dictionary
- NET.System.Collections.Generic.Dictionary.Enumerator
- NET.System.Collections.Generic.Dictionary.Enumerator.Type
- NET.System.Collections.Generic.Dictionary.KeyCollection
- NET.System.Collections.Generic.Dictionary.KeyCollection.Type
- NET.System.Collections.Generic.Dictionary.Type
- NET.System.Collections.Generic.Dictionary.ValueCollection
- NET.System.Collections.Generic.Dictionary.ValueCollection.Type
- NET.System.Collections.Generic.Dictionary.Enumerator
- NET.System.Collections.Generic.ICollection
- NET.System.Collections.Generic.ICollection.Type
- NET.System.Collections.Generic.IComparer
- NET.System.Collections.Generic.IComparer.Type
- NET.System.Collections.Generic.IDictionary
- NET.System.Collections.Generic.IDictionary.Type
- NET.System.Collections.Generic.IEnumerable
- NET.System.Collections.Generic.IEnumerable.Type
- NET.System.Collections.Generic.IEnumerator
- NET.System.Collections.Generic.IEnumerator.Type
- NET.System.Collections.Generic.IEqualityComparer
- NET.System.Collections.Generic.IEqualityComparer.Type
- NET.System.Collections.Generic.IList
- NET.System.Collections.Generic.IList.Type
- NET.System.Collections.Generic.KeyValuePair
- NET.System.Collections.Generic.KeyValuePair.Type
- NET.System.Collections.Generic.List
- NET.System.Collections.Generic.List.Enumerator
- NET.System.Collections.Generic.List.Enumerator.Type
- NET.System.Collections.Generic.List.Type
- NET.System.Collections.Generic.List.Enumerator
- NET.System.Collections.Generic.Queue
- NET.System.Collections.Generic.Queue.Enumerator
- NET.System.Collections.Generic.Queue.Enumerator.Type
- NET.System.Collections.Generic.Queue.Type
- NET.System.Collections.Generic.Queue.Enumerator
- NET.System.Collections.Generic.Dictionary
- NET.System.Collections.ICollection
- NET.System.Collections.ICollection.Type
- NET.System.Collections.IDictionary
- NET.System.Collections.IDictionary.Type
- NET.System.Collections.IEnumerable
- NET.System.Collections.IEnumerable.Type
- NET.System.Collections.IEnumerator
- NET.System.Collections.IEnumerator.Type
- NET.System.Collections.IList
- NET.System.Collections.IList.Type
- ObjectModel
- NET.System.Collections.ObjectModel.ReadOnlyCollection
- NET.System.Collections.ObjectModel.ReadOnlyCollection.Type
- NET.System.Collections.ObjectModel.ReadOnlyCollection
- NET.System.Comparison
- NET.System.Comparison.Type
- NET.System.Converter
- NET.System.Converter.Type
- NET.System.DateTime
- NET.System.DateTime.Type
- NET.System.DateTimeKind
- NET.System.DayOfWeek
- NET.System.Decimal
- NET.System.Decimal.Type
- NET.System.Delegate
- NET.System.Delegate.Type
- NET.System.Enum
- NET.System.Enum.Type
- NET.System.EnumTy
- NET.System.Func
- NET.System.Func.Type
- Globalization
- NET.System.Globalization.Calendar
- NET.System.Globalization.CalendarAlgorithmType
- NET.System.Globalization.CalendarWeekRule
- NET.System.Globalization.CompareInfo
- NET.System.Globalization.CultureInfo
- NET.System.Globalization.DateTimeFormatInfo
- NET.System.Globalization.DateTimeStyles
- NET.System.Globalization.DigitShapes
- NET.System.Globalization.NumberFormatInfo
- NET.System.Globalization.NumberStyles
- NET.System.Globalization.SortKey
- NET.System.Globalization.TextInfo
- NET.System.Globalization.UnicodeCategory
- NET.System.IAsyncResult
- NET.System.IAsyncResult.Type
- NET.System.ICloneable
- NET.System.ICloneable.Type
- NET.System.IComparable
- NET.System.IComparable.Type
- NET.System.IConvertible
- NET.System.IConvertible.Type
- NET.System.IDisposable
- NET.System.IDisposable.Type
- NET.System.IEquatable
- NET.System.IEquatable.Type
- NET.System.IFormatProvider
- NET.System.IFormattable
- NET.System.IFormattable.Type
- IO
- NET.System.IO.BinaryReader
- NET.System.IO.BinaryReader.Type
- NET.System.IO.BinaryWriter
- NET.System.IO.BinaryWriter.Type
- NET.System.IO.SeekOrigin
- NET.System.IO.SeekOrigin.Type
- NET.System.IO.Stream
- NET.System.IO.Stream.Type
- NET.System.IO.TextReader
- NET.System.IO.TextWriter
- NET.System.IO.BinaryReader
- NET.System.Int32
- Linq
- NET.System.Linq.Enumerable
- NET.System.Linq.Enumerable.Type
- NET.System.Linq.IGrouping
- NET.System.Linq.IGrouping.Type
- NET.System.Linq.ILookup
- NET.System.Linq.ILookup.Type
- NET.System.Linq.IOrderedEnumerable
- NET.System.Linq.IOrderedEnumerable.Type
- NET.System.Linq.Enumerable
- NET.System.MarshalByRefObject
- NET.System.MarshalByRefObject.Type
- NET.System.MulticastDelegate
- NET.System.MulticastDelegate.Type
- NET.System.Nullable
- NET.System.Nullable.Type
- NET.System.Object
- NET.System.ObjectTy
- NET.System.Predicate
- NET.System.Predicate.Type
- Runtime
- Serialization
- NET.System.Runtime.Serialization.ISerializable
- NET.System.Runtime.Serialization.ISerializable.Type
- NET.System.Runtime.Serialization.SerializationEntry
- NET.System.Runtime.Serialization.SerializationEntry.Type
- NET.System.Runtime.Serialization.SerializationInfo
- NET.System.Runtime.Serialization.SerializationInfo.Type
- NET.System.Runtime.Serialization.SerializationInfoEnumerator
- NET.System.Runtime.Serialization.SerializationInfoEnumerator.Type
- NET.System.Runtime.Serialization.StreamingContext
- NET.System.Runtime.Serialization.StreamingContext.Type
- NET.System.Runtime.Serialization.StreamingContextStates
- NET.System.Runtime.Serialization.StreamingContextStates.Type
- NET.System.Runtime.Serialization.ISerializable
- Serialization
- NET.System.String
- NET.System.String.Type
- NET.System.StringComparison
- NET.System.StringComparison.Type
- NET.System.StringTy
- Text
- NET.System.Text.Encoding
- NET.System.Text.StringBuilder
- NET.System.TimeSpan
- NET.System.TimeSpan.Type
- NET.System.Type
- NET.System.Type.Type
- NET.System.TypeCode
- NET.System.TypeCodeTy
- NET.System.TypeTy
- NET.System.Uri
- NET.System.Uri.Type
- NET.System.UriComponents
- NET.System.UriComponents.Type
- NET.System.UriFormat
- NET.System.UriFormat.Type
- NET.System.UriHostNameType
- NET.System.UriHostNameType.Type
- NET.System.UriKind
- NET.System.UriKind.Type
- NET.System.UriPartial
- NET.System.UriPartial.Type
- NET.System.ValueType
- NET.System.ValueType.Type
- NET.System.Action
Downloads
- hs-dotnet-0.4.0.tar.gz (Cabal source package)
- package description (included in the package)