Personal tools

Lambdabot

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Add some help to the complete noob about how to invoke lambdabot)
m (Expand on the help)
Line 34: Line 34:
 
* Spell checking
 
* Spell checking
   
All commands starts with an <TT>@</TT>. A command is invoked by writing <TT>@<command-name> [args]</TT>. For example <TT>@eval 1+2</TT> will make lambdabot respond with <TT>3</TT>. Good commands to know are <tt>@help</tt> and <tt>@listcommands</tt>.
+
=== Interacting with the Bot ===
   
See the sources or ask the bot itself. If you have any questions about
+
Almost all commands start with an <TT>@</TT>. A command is invoked by
Lambdabot, ask on the #haskell irc channel.
+
writing <TT>@<command-name> [args]</TT>. For example <TT>@type map</TT>
  +
will make lambdabot respond with <TT>(a -> b) -> [a] -> [b]</TT>.
  +
  +
The special command <tt>@eval</tt> has a synonym <tt>></tt>, 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 <tt>@help</tt> and <tt>@listcommands</tt>.
  +
  +
=== Contributing ===
  +
  +
Lambdabot is an open-source application. The <tt>@version</tt> 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.

Revision as of 04:33, 20 February 2006

1 Lambdabot

Lambdabot is an IRC bot written over several years by those on the #haskell irc channel.

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:

  • Haskell evaluation
  • Hoogle interface
  • Pointfree refactoring
  • A theorem prover, Djinn.
  • Lambda calculus interpreter
  • Haskell type and kind checking
  • Dynamic plugin composition
  • Haskell library source lookup
  • Language translation
  • Quotes
  • Todo lists
  • Irc functions
  • Darcs patch tracking
  • A vixen/eliza personality
  • Random dice
  • Project database
  • Dictionary lookups
  • Karma tracking
  • User poll and election support
  • Quotes
  • Search google, wikipedia and more
  • Spell checking

1.1 Interacting with the Bot

Almost all commands start with an @. 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 @eval 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 @listcommands.

1.2 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.