HaskellWiki

Haskell | Wiki community | Recent changes
Random page | Special pages

 

Not logged in
Log in | Help

Note: new account creation has been disabled as an anti-spam measure.

Lambdabot

Categories: Tools

Lambdabot

Lambdabot is an IRC bot written over several years by those on the #haskell IRC channel. It also operates in an offline mode as a Haskell development tool, and embedded as an extension to ghci.

Lambdabot lives here. Lambdabot's source is available via a darcs repository, here

Lambdabot is written in Haskell, and supports plugins for adding new commands. It has many plugins, including:

Contents

1 Installing

If you are using GHC 6.8.x, just cabal install lambdabot. 6.10.x support is forthcoming; see /Building for details on that.

2 Interacting with the Bot

Almost all commands start with an @ or ?. A command is invoked by writing @<command-name> [args]. For example @type map will make lambdabot respond with (a -> b) -> [a] -> [b].

The special command @run has a synonym >, meaning that you can evaluate Haskell expressions dynamically with:

 > map (+1) [1..10]
 [2,3,4,5,6,7,8,9,10,11]

Good commands to know are @help and @list. The full command list is here.

3 Contributing

Lambdabot is an open-source application. The @version command provides details on where to find the source. Anyone may write a plugin. To submit a plugin, use darcs send to submit it to the bot's current maintainer.

For more info, see the sources or ask the bot itself. If you have any questions about Lambdabot, ask on the #haskell irc channel.

4 How can it securely execute Haskell, on the Web?

See Safely running untrusted Haskell code

5 @version

A list of various lambdabots over time.

  #haskell                       lambdabot 4p534, GHC 6.6 (Linux i686 2.66GHz)
  #haskell                       lambdabot 4p255, GHC 6.5 (OpenBSD i386)
  #haskell                       lambdabot 4p172, GHC 6.5   (OpenBSD i386)
  #haskell                       lambdabot 3p396, GHC 6.4.1 (Linux i686 3.20GHz)
  #haskell                       lambdabot 2p200, GHC 6.4 (OpenBSD i386)
  #haskell                       lambdabot ghc-6.2.2 (Mar 30 20:48:23 EST 2005)  (OpenBSD i386)
  #maya                          lambdabot 3.1p48, GHC 6.5   (OpenBSD i386)
  #dutchhack (irc.cyberarmy.net) lambdabot 3p399, GHC 6.4.1 (Linux sparc64)

6 Lambdabot 2

Sketch of design for a new lambdabot, smaller, more maintainable, more reliable. Features:

Core:

New plugins:

Improved plugins:

Retrieved from "http://www.haskell.org/haskellwiki/Lambdabot"

This page has been accessed 26,297 times. This page was last modified 19:02, 8 December 2008. Recent content is available under a simple permissive license.