Starting with tag: [TAG lambdabot-4.0 dons@cse.unsw.edu.au**20060615041235] [bump Versoin.hs number dons@cse.unsw.edu.au**20060615042526] [add dmhouse to copyright on Log.hs dons@cse.unsw.edu.au**20060615083907] [limit output of Unlambda plugin to 2048 characters Bertram Felgenhauer **20060616025039 this avoids crazy output like ' [5537 @more lines]' ] [add ios80 function for limiting output to channels Bertram Felgenhauer **20060616045036] [use ios80 in Unlambda plugin Bertram Felgenhauer **20060616045519] [use ios80 in Eval plugin Bertram Felgenhauer **20060616045555] [import unsafeUseAsCString from Data.ByteString.Base (follows recent change in FPS) dons@cse.unsw.edu.au**20060616051012] [Get rid of error messages from Url.hs pete-lambdabot@kazmier.com**20060616092733 And ignore c++ paste bin posts. ] [brevity is the art of .. something or other dons@cse.unsw.edu.au**20060616100942] [Need to update the ignored list when the output is changed in Url plugin pete-lambdabot@kazmier.com**20060616112053] [Reduce chance of mishaps with the ignored list pete-lambdabot@kazmier.com**20060616113441] [reenable @remember dons@cse.unsw.edu.au**20060618051552] [Refactored the URL page and title fetching to a URL library. pete-lambdabot@kazmier.com**20060618032331 The intent of this is to allow other plugins to leverage the fetching of pages (and following of redirects) as well as the fetching of page titles for text/html content. It was suggested by dmhouse that I modify the Search plugin to print not only the URL of the result, but also the title of it. ] [Enhanced Search plugin with url page title fetching. pete-lambdabot@kazmier.com**20060618044512 In addition, I removed the buggy extractLoc function, which failed to remove the trailing CR. Instead, it now uses the new Url library's getHeader function instead. ] [Add a workaround for violators of the HTTP RFC 2619 wrt Location headers. pete-lambdabot@kazmier.com**20060618180207] [ignore ??... @@... dons@cse.unsw.edu.au**20060619033926] [Change @paste url. Suggested by vincenz dons@cse.unsw.edu.au**20060625023325] [readNBytes, to avoid possible bandwidth games in @url dons@cse.unsw.edu.au**20060627090842] [url decode the titles, no more &s; dons@cse.unsw.edu.au**20060627091824] [some palomers dons@cse.unsw.edu.au**20060629031654] [Fix url handling to be HTTP/1.1 for requests not sent through a proxy davidf@rd.bbc.co.uk**20060630110228 Webservers are often required to be HTTP/1.1 compliant, which requires an extra host: header to be sent to identify virtual hosts. Proxies handle this automatically and can continue to use HTTP/1.0 requests from us. ] [Every project needs a cheesy ASCII-art logo! TODO: make it better. I'm not too david **20060612175106 gifted in the creative sectors :) ] [Fix @instances for Arrow and Monad and other classes where (->), or indeed any operator involving the character '-', was an instance. david **20060701182819] [Fix HTTP/1.1 headers to avoid persistent connections and associated timeouts davidf@rd.bbc.co.uk**20060703115945 HTTP/1.1 by default maintains persistent connections. Url plugin now sends correct headers to close the connection and stop timeouts with some servers. ] [note that the ghci way depends on a successful cabal build to get the preprocessor Don Stewart **20060704031514] [Move command prefixes into Config.hs. Kevin Reid **20060704033226] [Make the Url plugin's title fetching mode persistent. Kevin Reid **20060707164802] [State -> ST Don Stewart **20060714032219] [Add a string replace function and use it to implement unhtml Vesa Kaihlavirta **20060714050344] [more human prompt for @url-title Don Stewart **20060714060423] [somewhat revert Don Stewart **20060714061028] [(runplugs) fix > error (repeat 'a') :: Int Bertram Felgenhauer **20060717235330] [fix two compiler warnings Bertram Felgenhauer **20060718000347] [MORE AI! Paolo Martini **20060718141019] [Added unquote command to Dummy plugin. Kevin Reid **20060727172405] [leading space to unquote, to prevent abuse dons@cse.unsw.edu.au**20060728041916] [ignore dot-ghci files in instances Don Stewart **20060729132153] [Remove hs-plugins dependency by default. Don Stewart **20060730045043] [more quotes Don Stewart **20060730045107] [Remove haskell98 deps in hoogle and djiinn Don Stewart **20060730051538] [Remove haskell98 dep :) Don Stewart **20060730051649] [fix paths in backup cabal file Don Stewart **20060730053556] [dice plugin enhancements Bertram Felgenhauer **20060802153425 - use normally distributed random numbers to approximate many dice - use Integer instead of Int (prevents overflows) - limit output to 79 characters - add eof to parser ] [Dice: more concise error messages, minor formula improvement for many dice. Bertram Felgenhauer **20060806050254] [@users, count the number of current users Don Stewart **20060806064852] [Track maximum, and current users Don Stewart **20060806071857] [handle max users for multiple channels Don Stewart **20060806074250] [missing binary instance Don Stewart **20060806074408] [hid @seen by accident Don Stewart **20060806095954] [disable @last and friends for now. too evil Don Stewart **20060810072830] [java karma fun Don Stewart **20060810080303] [-w in log Don Stewart **20060810080312] [no self-raising of karma Don Stewart **20060810080938] [add read/show (for unquote/quote games) Don Stewart **20060811091137] [add state cons/snoc Don Stewart **20060811093312] [fix snoc/cons and add nil Don Stewart **20060811094528] [simplify Don Stewart **20060811100304] [remember how to script the state Don Stewart **20060811101139] [rsync hoogle Don Stewart **20060812100018] [Make @arr and @yarr! do what I think they should do. Duncan Coutts **20060812163700 Oh, and add more pirate quotes. ] [Fix up @yarr quotes and command. Duncan Coutts **20060812164657] [haskell 98 in case dons@cse.unsw.edu.au**20060813045145] [Add @protontorpedo dons@cse.unsw.edu.au**20060813045211] [sort quotes dons@cse.unsw.edu.au**20060813051858] [more quotes Don Stewart **20060814020148] [get rid of implicit arguments Bertram Felgenhauer **20060813155635 - ModuleT is an actual transformer now, a newtyped ReaderT. - ?ref and ?name are replaced by getRef and getName actions. - there are explicit binding options for converting module specific actions to LB actions, namely bindModule1 :: (a -> ModuleT s LB b) -> ModuleT s LB (a -> LB b) and similarily bindModule0 and bindModule2. - a lot of small changes to plugins were necessary because the types weren't quite correct but that was hidden by the fact that ModuleT was merely a type alias. ] [fix type error for ghc 6.4 Bertram Felgenhauer **20060813174010] [wibbles Don Stewart **20060814041338] [-fasm and haskell98 dep is not needed (thanks ndm) Don Stewart **20060814041348] [fix karma- java Don Stewart **20060815054445] [idea from syntaxfree Don Stewart **20060817042017] [less verbose Don Stewart **20060819025054] [100 * Don Stewart **20060819085608] [update @quotes dons@cse.unsw.edu.au**20060816032324] [sync state dons@cse.unsw.edu.au**20060822051136] [update dons@cse.unsw.edu.au**20060822051149] [search google.com Don Stewart **20060822152436] [Add free theorems plugin Don Stewart **20060823040623] [support latest fps Don Stewart **20060823040634] [Add rename pass Don Stewart **20060823060207] [wibble Don Stewart **20060823061351] [less lines in output Don Stewart **20060823061648] [add control.monad.writer Don Stewart **20060824011955] [remove \n from read Don Stewart **20060824024108] [fix unlamda hack Don Stewart **20060824062012] [Changes to the Seen module. Lemmih **20060824133838 * Proper help message for @users. * Made @users take an optional channel argument. * (Added myself to the admin list) ] [wibbles Don Stewart **20060824135636] [merge Don Stewart **20060824140105] [Implement doless -- a plugin to translate do notation to Monad operations sjanssen@cse.unl.edu**20060825034232] [typo dons@cse.unsw.edu.au**20060825035434] [Doless -> Undo dons@cse.unsw.edu.au**20060825035909] [quieter Don Stewart **20060827045106] [track active users Don Stewart **20060828015033] [fix buglet Don Stewart **20060828020710] [proxy = Nothing, to keep SamB happy Don Stewart **20060828042327] [Quarter-baked @djinn-names command. Kevin Reid **20060704045204] [Make @free use @type if no signature is supplied. Kevin Reid **20060828064238] [Refactor undo, add redo sjanssen@cse.unl.edu**20060829025607] [improve docs. Stop Korollary whinging Don Stewart **20060830033405] [add note to README describing how to get 'run' working Jason Dagit **20060830065619] [Undo: handle pattern match failures sjanssen@cse.unl.edu**20060829145432] [Plugin.Djinn: move from Haskell '98 style modules to hierarchical sjanssen@cse.unl.edu**20060829145103] [Track maximum uptime sjanssen@cse.unl.edu**20060901034159] [added tiny-url to Url plugin Jason Dagit **20060901041714] [sync state dons@cse.unsw.edu.au**20060901042754] [fixed a short url bug and renamed isTiny -> findTiny Jason Dagit **20060901042750 Accidentally applied the minimum length of a url to fetching the title, this patch fixes that bug. ] [sync dons@cse.unsw.edu.au**20060901051550] [add some more stuff to version control dons@cse.unsw.edu.au**20060901051608] [added brainf*ck interpreter Jason Dagit **20060901054551] [added bf to lambdabot.cabal.plugins Jason Dagit **20060901055833] [added bf to main cabal file Jason Dagit **20060901060340] [scrub "Machine Halted." from bf output Jason Dagit **20060901063443] [added optimizations to building bf Jason Dagit **20060901063526] [Add #ghc dons@cse.unsw.edu.au**20060901083314] [removed unneeded filtering Jason Dagit **20060901084914] [optimized bf Jason Dagit **20060901085059] [bf is now an optimizing interpreter Jason Dagit **20060901230358 phase1 -> remove instruction which will be ignored anyway phase2 -> runs of inc/dec instructions are now grouped and turned into a single inc/dec. For example, ++++++ would become IncByteBy 6 phase3 -> Jumps are transformed to abosulte changes in the instruction pointer ] [more concise time diffs Don Stewart **20060903005916] [wibble Don Stewart **20060903032828] [nicer Don Stewart **20060903033717] [Fix up whitespace in logo Samuel Bronson **20060904005257] [Add instructions for updating Cabal to README (thanks lispy!) Samuel Bronson **20060904012059] [sync Don Stewart **20060904060617] [wibble dons@cse.unsw.edu.au**20060904061037] [Add #perl6 style karma Samuel Bronson **20060904145059] [Plea for help Samuel Bronson **20060904150906] [resync freetheorems Don Stewart **20060906025620] [make the bot quieter Don Stewart **20060906030527] [disable listall except as a priv command Don Stewart **20060906030856] [add commands file Don Stewart **20060906033640] [point to commands Don Stewart **20060906033908] [sync Don Stewart **20060906053410] [Match karma like dons asked Samuel Bronson **20060906113031] [bf wibbles Don Stewart **20060907031434] [add offline contextual support. Introduce contextual data with !foo Don Stewart **20060907074316] [fix nick++ regex Don Stewart **20060907074341] [no more long @list Don Stewart **20060907074402] [the impredicative stuff only work in 6.6 dons@cse.unsw.edu.au**20060907074809] [silent, simple Don Stewart **20060907080256] [more quotes Don Stewart **20060908010540] [fixify Don Stewart **20060908011858] [fixed bug in tiny-url and url-title where the url was not found sometimes Jason Dagit **20060908051744] [fix a potential bug with returning multiple titles/urls Jason Dagit **20060908060325] [fix a bug with composing tiny-url and url-title Jason Dagit **20060908060358] [in BF.hs isAscii wasn't stringent enough so replaced with custom 'printable' Jason Dagit **20060908064735] [turn off logging Don Stewart **20060908125145] [limit getHtmlPage to follow 5 redirects max Jason Dagit **20060908222107 This fixes a possible DoS where a website does an infinite sequence of redirects. ] [added more html entities to ./Lib/Url.hs Jason Dagit **20060909002407] [Import Janis Voigtlaender and Sascha Bohme's FT tool for free theorems Don Stewart **20060909025221] [add FT.hs Don Stewart **20060909030928] [add FT Don Stewart **20060909031028] [Don't commit to 6.6 modules just yet Don Stewart **20060909031144] [add chmod Don Stewart **20060909031352] [wibble Don Stewart **20060909032141] [wibble Don Stewart **20060909032419] [don't use -threaded twice Don Stewart **20060909032534] [resync Don Stewart **20060909033933] [error Don Stewart **20060909071924] [add a cabal script for ghc 6.6 Don Stewart **20060909090823] [no haskell98 Don Stewart **20060909095347] [Add @check, test an instance of Testable with quickCheck Don Stewart **20060910035257] [working @check Don Stewart **20060910050925] [add cabal rule for building quickCheck Don Stewart **20060910051056] [improvements Don Stewart **20060910052949] [add an instance Arbitrary Ordering dons@cse.unsw.edu.au**20060910060621] [add a synonym for [Int] Don Stewart **20060910062312] [add I = Int Don Stewart **20060910065959] [add check Don Stewart **20060910072443] [wibbles Don Stewart **20060910090853] [Add persistent declarations to Eval plugin Don Stewart **20060911045634] [increase check limit dons@cse.unsw.edu.au**20060911050035] [500 tests seems reasonable dons@cse.unsw.edu.au**20060911050048] [add local decl support to quickCheck Don Stewart **20060911051829] [generalise binding regex Don Stewart **20060911055345] [add Test.QuickCheck Don Stewart **20060911060428] [wibble Don Stewart **20060911061403] [Make @let use Language.Haskell rather than a regex sjanssen@cse.unl.edu**20060911065925] [add @let and @undefine to command list Don Stewart **20060911072133] [don't warn so much Don Stewart **20060911084203] [disable input in bf Don Stewart **20060912004649] [move hoogle state into State/ Don Stewart **20060913051522] [quotes, and log everything Don Stewart **20060913102257] [hopefully catch and handle better some state change serialisation issues Don Stewart **20060913111018] [Add instance for Ratio Don Stewart **20060913160428] [fixify Don Stewart **20060913161128] [typo Don Stewart **20060913165550] [Add SmallCheck support Don Stewart **20060913165626] [And build smallcheck Don Stewart **20060913165744] [Add scheck command Don Stewart **20060913175013] [wibbles Don Stewart **20060914023241] [hide bounds for ghc 6.4.2 Don Stewart **20060914023257] [pervert Don Stewart **20060914100853] [fix Don Stewart **20060916020254] [lambdabot's own response to @time mail@joachim-breitner.de**20060915112642 (Note that I could not test the code, sorry) ] [add --web, which is like command line mode, but disables the priv commands Don Stewart **20060916032012] [wibbles in @localtime patch Don Stewart **20060916032040] [wibbles Don Stewart **20060916032059] [--restricted, disables priv commands in command line mode Don Stewart **20060916032338] [just double check handling of [[]] empty output in Base.hs Don Stewart **20060916032624] [add logging in offline mode. Logs go into State/Logs/*/offline/ Don Stewart **20060916035901] [revert contextual super-handling. broke > Don Stewart **20060916054603] [nice the build Don Stewart **20060916054619] [wibbles Don Stewart **20060916055408] [Fix logging. Goes into State/log now (a full transcript) Don Stewart **20060916062802] [sync Don Stewart **20060916063055] [wibble dons@cse.unsw.edu.au**20060916065054] [disable state plugin dons@cse.unsw.edu.au**20060916065111] [fix version string on non-linux Don Stewart **20060916074605] [always print a \n. fixes goa Don Stewart **20060916074615] [auto-reconfigure Don Stewart **20060916074636] [tweak build isntrs Don Stewart **20060916074645] [update dons@cse.unsw.edu.au**20060916145634] [fix help for dicts Don Stewart **20060917044506] [added web todo to TODO Jason Dagit **20060916185358] [disable slap, echo, listchans by defualt Don Stewart **20060917044901] [fix some todos Don Stewart **20060917045003] [move source -> Dummy.source Don Stewart **20060917050029] [wibbe Don Stewart **20060917050057] [Make @type and @kind work for me Samuel Bronson **20060917224306] [fixed major bug in BF interpretation Jason Dagit **20060919050233 The bf interpreter was not handling nested loops correctly. ] [stop filtering spaces in BF Jason Dagit **20060919050510] [Move Show instance for (->) out of ShowQ for SmallCheck Samuel Bronson **20060919023113] [Oops, left this out of previous patch... Samuel Bronson **20060919025033] [Add Serial instance for Ordering in SmallCheck Samuel Bronson **20060919025313] [all the web TODOs have been fixed Jason Dagit **20060919063052] [Add Monad.Error Don Stewart **20060920042403] [enable -O Don Stewart **20060921021042] [strictify Don Stewart **20060921023551] [more strictness Don Stewart **20060921235443] [fix Don Stewart **20060922084717] [wibbles Don Stewart **20060924035028] [sync state dons@cse.unsw.edu.au**20060924041327] [revert to "No IO allowed", suggest by int-e Don Stewart **20060925021956] [don't use Monad.ST, spotted by sjanssen Don Stewart **20060926070744] [less Monad.ST Don Stewart **20060926070913] [quotes dons@cse.unsw.edu.au**20060927061446] [handle out of memory errors more gracefully Don Stewart **20060928093031] [Clean up patterns. Spencer Janssen **20061001224333] [Make @redo handle non-lambda expressions on the RHS of (>>=) sjanssen@cse.unl.edu**20060912005550] [Enable comments in @undo code Spencer Janssen **20061003014622] [tune Karma's xxx++ regexp to allow nicks with + and - (but not at end) Bertram Felgenhauer **20060927052647] [Add Data.Generics Don Stewart **20061004005054] [more generics Don Stewart **20061004005900] [Figlet plugin mux@FreeBSD.org**20060916162721] [sync dons@cse.unsw.edu.au**20061003120631] [sync dons@cse.unsw.edu.au**20061010022824] [import Generics qualified Don Stewart **20061014160221] [strictify randomly Don Stewart **20061018235857] [Trailing whitespace in Modules.hs is no longer fatal. smith@bcs.org**20061010130913] [sync dons@cse.unsw.edu.au**20061020034917] [add #haskell.jp Don Stewart **20061025062815] [add a new keal Don Stewart **20061026030944] [disable giant log file for now Don Stewart **20061026224718] [add #gentoo-uy Don Stewart **20061030011702] [more details on protontorpedo Don Stewart **20061030090219] [sync dons@cse.unsw.edu.au**20061031014924] [more quotes dons@cse.unsw.edu.au**20061031015333] [stay in ##logic Don Stewart **20061104012236] [don't stay in ##logic. leave that to mbot Don Stewart **20061104020349] [Factor out the common parts of fptools, source and docs Spencer Janssen **20061102015118] [Make fptools and docs strip beginning and trailing whitespace Spencer Janssen **20061102015409] [add more chans Don Stewart **20061105105033] [#haskell.no Don Stewart **20061106235535] [update dons@cse.unsw.edu.au**20061107001120] [update free theorem Don Stewart **20061110042311] [new quotes dons@cse.unsw.edu.au**20061114015950] [Thanks to the unsafePerformIO Police, another crime against referential transparency has been solved. Spencer Janssen **20061102021955] [Another unsafePerformIO bites the dust Spencer Janssen **20061102022827] [Fix @source so that it outputs a / between the base URL and the package Spencer Janssen **20061115155022] [Add Pointful plugin. Kevin Reid **20061107180224] [Add Pointful dons@cse.unsw.edu.au**20061115235116] [Add a show instance for IO Don Stewart **20061117034858] [redo: fix m >>= f Spencer Janssen **20061119015905] [Import SmallCheck 0.2 Spencer Janssen **20061118053101] [merge in small check changes Don Stewart **20061119031821] [Two new vim scripts smith@bcs.org**20061119194516] [this week's quotes dons@cse.unsw.edu.au**20061122121031] [add #jtiger Don Stewart **20061126093956] [more quotes dons@cse.unsw.edu.au**20061127024617] [wibbles dons@cse.unsw.edu.au**20061127031021] [Seen.hs whitespace cleanup Bertram Felgenhauer **20061127052917] [Seen.hs: lowercase all channel names before using them. Bertram Felgenhauer **20061127060006] [more gschuett notes Don Stewart **20061127233704] [Remove stray comma. Spencer Janssen **20061130192653] [Pointful: pretty print in single line mode Spencer Janssen **20061202021803] [add :t / :k syntax Don Stewart **20061203030756] [add hac07 site dons@cse.unsw.edu.au**20061203031508] [Added GNU Talk Filters ekmett@gmail.com**20061129011340 Adds Plugin.Filter filter provides: austro b1ff brooklyn chef cockney drawl dubya fudd funetak jethro jive kraut pansy pirate postmodern redneck valspeak warez To use, install: http://www.hyperrealm.com/talkfilters/talkfilters.html If you install them in a non-standard location you may need to change the directory named in Plugins/Filter.hs ] [fmt dons@cse.unsw.edu.au**20061203054541] [Get dynamic loading working again, yay! Samuel Bronson **20061102235724] [Fix static build Samuel Bronson **20061103024316] [merge dons@cse.unsw.edu.au**20061203055223] [increase tinyurl threshold Don Stewart **20061204002111] [increase N bytes limit for grabbing titles dons@cse.unsw.edu.au**20061204002654] [Pointful: recognize ($) Kevin Reid **20061204222122] [Pointful: removing broken 'fix' definition Kevin Reid **20061204222252] [update state dons@cse.unsw.edu.au**20061204235759] [more state dons@cse.unsw.edu.au**20061205000454] [gschuett Don Stewart **20061208001843] [stunnel instructions in README Daniel Nilsson **20061207104152] [add @bug Don Stewart **20061209005730] [bug fix Don Stewart **20061209010234] [log-log commiter graph script Don Stewart **20061209040542] [quotes dons@cse.unsw.edu.au**20061212055301] [record patch for Syzygy- Don Stewart **20061215141211] [add some more monads Don Stewart **20061218105226] [op sjanssen, int-e and sorear Don Stewart **20061220071649] [fix expected location of BotPP stefanor@cox.net**20061223002750] [Special case lowercase c++, so that lazy irc-ers don't inadvertantly praise c stefanor@cox.net**20061220211927] [Add #if'd aliases to Lib/Parser.ly for functions in haskell-src that were renamed post-6.6 stefanor@cox.net**20061220071934] [Improve nick++ handling. Spencer Janssen **20061226204954 Messages may now have several occurrences of nick++ and nick--. The current code should ignore most Haskell or Perl code that happens to have ++ or -- in it. ] [make the ghc 6.6 cabal file the default Don Stewart **20061231063912] [bytestring interface to regex matching, and fix premature optimisation bug Don Stewart **20061231101322] [implement regex matching for quotes Don Stewart **20061231101348] [make ./ghci a bit friendlier Don Stewart **20061231101404] [print name of author when doing pattern matching Don Stewart **20061231102620] [switch to a simple MVar track for output from the contextual handler Don Stewart **20061231110733] [record some quotes dons@cse.unsw.edu.au**20061231114853] [serliase vixen state to disk, rather than compiling it in Don Stewart **20070101032701] [no more vixenstate file Don Stewart **20070101032731] [Remove regex.hsc Don Stewart **20070101044344] [Add regex-posix wrapper layer, rather than rolling our own bytestring regex Don Stewart **20070101044400] [port to new regex interface Don Stewart **20070101044439] [we need regex-posix now Don Stewart **20070101044446] [don't need Lib.Regex as extra anymore Don Stewart **20070101044459] [no more moos Don Stewart **20070101045847] [fix way=ghci Don Stewart **20070101045852] [And back port new regex interface to 6.4 Don Stewart **20070101051308] [update 6.4 cabal file Don Stewart **20070101051324] [add clean target Don Stewart **20070101051405] [warn Don Stewart **20070101051817] [no more DrHylo Don Stewart **20070101051858] [Remove @lambda plugin. Unused since the invention of Eval Don Stewart **20070101052359] [wibble dons@cse.unsw.edu.au**20070101054010] [6.4 isms dons@cse.unsw.edu.au**20070101055658] [move vixen state Don Stewart **20070101060330] [tabs Don Stewart **20070101071417] [add @flush Don Stewart **20070101090234] [sync state dons@cse.unsw.edu.au**20070102020240] [remove State/lambda Don Stewart **20070102044008] [remove prelude.lam Don Stewart **20070102044117] [tweaks for @src Don Stewart **20070102062558] [add @src plugin Don Stewart **20070102062620] [more src Don Stewart **20070102065247] [fix id Don Stewart **20070102071327] [move functions Don Stewart **20070102071710] [fmt Don Stewart **20070102072610] [don't import L qualified Don Stewart **20070102072618] [add some extra things to @type Don Stewart **20070102074151] [simplify Don Stewart **20070102091434] [tabs Don Stewart **20070102092620] [some more @whers dons@cse.unsw.edu.au**20070102112240] [leading spaces Don Stewart **20070102235425] [add some more source Don Stewart **20070103003856] [add readOnly serial combinator, refactor Don Stewart **20070103010227] [remove LShell.hs, too many external deps Don Stewart **20070103011506] [untab Don Stewart **20070103011614] [Refactor some popen uses Don Stewart **20070103011720] [needs -cpp for ./ghci script Don Stewart **20070103021736] [i wrote another plugin Don Stewart **20070103021747] [add bytestring-based fprocess_ module command. takes a msg as a bytestring and returns one. Avoids unnec. unpacks, and will be part of the bytestring-only path in and out of lambdabot Don Stewart **20070103021755] [more src Don Stewart **20070103023519] [some more @src Don Stewart **20070103024354] [add types for attaching server names to messages stefanor@cox.net**20070101210528] [fix errors in Message stefanor@cox.net**20070101211206] [fixup IRC for server tags stefanor@cox.net**20070101214510] [fix errors induced in Lambdabot stefanor@cox.net**20070101222531] [fixup ios80 stefanor@cox.net**20070101222701] [make Topic compile stefanor@cox.net**20070101231716] [fix Tell + Todo stefanor@cox.net**20070101233739] [fix Slap + System stefanor@cox.net**20070101234737] [refactor Message, add (un)packing stefanor@cox.net**20070102000203] [fixup Todo to properly keep server data stefanor@cox.net**20070102000901] [fix LBState + PL stefanor@cox.net**20070102024112] [fix Log + More stefanor@cox.net**20070102025220] [fix Localtime stefanor@cox.net**20070102025619] [fix Karma stefanor@cox.net**20070102031852] [fix Compose stefanor@cox.net**20070102031951] [force Base to compile stefanor@cox.net**20070102035607] [fix lack of privs at offline console stefanor@cox.net**20070102040833] [two nick-type fixes stefanor@cox.net**20070103002223] [three lambdabotName fixes stefanor@cox.net**20070103002550] [get Seen compiling stefanor@cox.net**20070102023628] [hopefully fix Seen stefanor@cox.net**20070103003705] [fix all compile errors in Seen stefanor@cox.net**20070103004706] [try again - get Seen working stefanor@cox.net**20070103014747] [fix instance Show Nick so that save files from patched LB's can be read by unpatched LB's... just in case. stefanor@cox.net**20070103023410] [resolve conflict stefanor@cox.net**20070103024958] [Add Gzip compression of the state. Use zcat to read State/quote now. Needs dcoutt's zlib binding, see the README Don Stewart **20070103034629] [Use gzip serialisation on more state types Don Stewart **20070103040516] [update state dons@cse.unsw.edu.au**20070103043616] [wibble dons@cse.unsw.edu.au**20070103044300] [tabs Don Stewart **20070103045847] [state Don Stewart **20070103045915] [add some class instances Don Stewart **20070103110126] [src tweaks Don Stewart **20070103234837] [more state Don Stewart **20070104013731] [compulsively lowercase nicks in Seen stefanor@cox.net**20070104032120] [add Spelling Nazi (@nazi-on, @nazi-off) stefanor@cox.net**20070104035539] [Declare my LB-hacker-status stefanor@cox.net**20070104035831] [refactor, add @spell-all Don Stewart **20070104041905] [use tag/channel names for logfiles stefanor@cox.net**20070104045851] [change default tag to "freenode" (was "fn"), as discussed on IRC stefanor@cox.net**20070104053822] [Satisfy my ego Spencer Janssen **20070104073029] [add stref code Don Stewart **20070104083515] [fix separate privmsg/channel handling Don Stewart **20070106031541] [add LargeWord Don Stewart **20070106061152] [update source Don Stewart **20070106064029] [quotes Don Stewart **20070106065424] [insults Don Stewart **20070106070731] [Word2048 dons@cse.unsw.edu.au**20070106075544] [some more types Don Stewart **20070106075623] [hide TH Don Stewart **20070106104125] [threading rearchitecture, make almost everything synchronous stefanor@cox.net**20070107010531 * The read loop calls LMain.received (via a pointer to avoid recursive module issues): offline does it synchronously, online does it asynchronously. * Also due to recursive module issues, the IRC loops (kept in IRC) were split from the IRC data types (in IRCBase). * LMain.recieved calls the callbacks syncronously. * Side effects: There is no longer a need for the synchronization MVars. Offline mode no longer has a timeout. ] [better catch url lookup failures Don Stewart **20070107030133] [fix separate privmsg/channel handling Don Stewart *-20070106031541] [rollback Base.hs patch Don Stewart **20070107030509] [rollback Base.hs patch Don Stewart *-20070107030509] [add timeout in offline mode stefanor@cox.net**20070107030721] [add printing for moduleInit exceptions (so you don't get silent failure) stefanor@cox.net**20070107030746] [update commands Don Stewart **20070107071058] [Add unit tests `finally` Don Stewart **20070107075248] [add readme Don Stewart **20070107080217] [remove the Maybe type on message sends (unneccessary now that plugins are invoked synchronously) stefanor@cox.net**20070107081055] [more test stuff Don Stewart **20070107083114] [more tests Don Stewart **20070107084332] [more tests Don Stewart **20070107094716] [stuff Don Stewart **20070107101347] [Test @src Don Stewart **20070107111131] [create vchat indirection layer stefanor@cox.net**20070107225838 In order to support having several different servers, potentially speaking different protocols, we insert an additional layer of indirection in the path used for sending messages. An `ircServerMap' field in the main state maps the server tags to functions which are able to send messages to the associated servers. The two original servers are modified to be actions which, when run, connect to the servers in a newly-forked thread and register the servers in the vchat's map. When any server fails (IO error), it is removed from the map. The main thread terminates when the number of servers falls to zero. The names invocation in Seen fails due to the "freenode" server not being connected at the time of module initialisation; the effects of this are unknown, however Seen works in autojoined channels. There is no longer any connection-specific data in the read-only state. ] [move testsuite Don Stewart **20070108011401] [try to return the time for the person who asked, if no args are supplied Don Stewart **20070108014205] [add some classes Don Stewart **20070108020031] [add words Don Stewart **20070108020716] [only catch IO errors in IRC send handler (brown paper bag fix) stefanor@cox.net**20070108022410] [fix @time Don Stewart **20070108032903] [more classes Don Stewart **20070108032913] [tag messages with lambdabot's nick stefanor@cox.net**20070108024528 To allow different servers to have different names for lambdabot, but not require the LB monad for accessing lambdabot's name, we annotate incoming IRCMessages with a msgLBName field. This seems a little too hackish... ] [add missing logpp.in Don Stewart **20070108033727] [tabs Don Stewart **20070108034833] [more source Don Stewart **20070108035503] [add command-line parsing for -e 'foo' (execute command on startup) stefanor@cox.net**20070108044501] [add initDoneMVar, so that plugins that want to run code when LB is fully initialized can forkIO (readMVar ...) stefanor@cox.net**20070108050530] [y Don Stewart **20070108100640] [remove the Maybe from lambdabot's readonly state stefanor@cox.net**20070109000344 This appeared as the easiest way to solve the 'No connection' errors encountered with initDoneMVar; it is hoped that this will cause no problems, since the virtual-chat system subsumes what Heffalump called the original purpose of the Maybe. ] [add first OfflineRC plugin; -e works now stefanor@cox.net**20070109005834 This creates a new plugin, which executes the actions specified using -e 'foo'. The actions are processed and executed as if entered at an offline prompt. ] [add offline mode to OfflineRC plugin stefanor@cox.net**20070109012406 The new offline mode is activated using the ?offline privileged command, and works mostly like the core offline mode. Currently it is treated as --restricted. ] [add the plugin level IRC, @irc-connect to use stefanor@cox.net**20070109040641] [add simple activity-monitor plugin stefanor@cox.net**20070111035033] [remove core IRC stefanor@cox.net**20070109053326 This patch removes the core's IRC and readline modules; you are now expected to use the plugin versions instead: lambdabot -e offline # use the readline interface lambdabot -e 'irc-connect freenode chat.freenode.net 6667 lambdabot Lambda_robots:_100%_loyal' ] [add 'source' command, to load a rcfile: lambdabot -e 'source online.rc' stefanor@cox.net**20070111043215] [I ought to typecheck before sending :( stefanor@cox.net**20070111043845] [sign on synchronously, fixes a race stefanor@cox.net**20070111044427] [add @listservers, @admin stefanor@cox.net**20070111050106] [reverse-sort @activity stefanor@cox.net**20070111050140] [remove from Config.hs all that is currently subsumed by rc-files stefanor@cox.net**20070112015056] [Lambdabot now depends on 'binary' Don Stewart **20070112125037 Toss out the old newBinary, in favour of 'binary'. darcs get http://darcs.haskell.org/binary Note that you'll have to remove the State/seen file, since it uses a new binary encoding. ] [rename OfflineRC.source to rc (fixes embarassing collision) stefanor@cox.net**20070113004912 The current expected method of initalizing lambdabot is: lambdabot -e 'rc online.rc' online.rc contains commands for server connection, joining, admin setup, and sources 'passwd.rc' which is expected to contain a 'msg freenode:nickserv identify foobar' commmand. ] [remove State/passwd support (forgotten in previous config-sweep) stefanor@cox.net**20070113010612] [fix type errors believed to result from binary changes stefanor@cox.net**20070113064049] [use new time library in Activity ; fix interval bug stefanor@cox.net**20070113064132] [only ask for topic in response to our joining ; should give much better netsplit performance Stefan O'Rear **20070113230626] [add a little strictness to fix Activity Stefan O'Rear **20070114052638] [centralize QSem waiting, fixes serious race condition Stefan O'Rear **20070114220920 This creates a single MVar for IRC flood control, which is filled at a predictable rate by the semaphore code. This allows the semaphores to be used only from the safe fill loops; previously the semaphores were waited on in plugin context, causing deadlocks when waitQSem was interrupted. ] [use older System.Time in Activity (I failed a check-compatibility check) Stefan O'Rear **20070115094230] [default to offline mode Stefan O'Rear **20070115101911] [fix admin list in online.rc Stefan O'Rear **20070115102829] [create a admin-only @activity-full ; obscure usernames in normal @activity Stefan O'Rear **20070115103956] [claim more credit Stefan O'Rear **20070115104105] [a few small doc updates Stefan O'Rear **20070115185211] [make @seen not ping entire channels Stefan O'Rear **20070115185300] [make last patch compile & work Stefan O'Rear **20070115190136] [make @paste use glguy's amazing Haskell-hosted pastebin Stefan O'Rear **20070118232735] [Make -- comments work in @unpl Spencer Janssen **20070116033328] [split optimizer out of Plugin.Pl.Transform Stefan O'Rear **20070116035506] [pastebin has moved again Stefan O'Rear **20070120004657] [Plugin.Karma: minor cosmetic change. Spencer Janssen **20070119164230] [No response for @seen in channel Spencer Janssen **20070122064822] [nick identity, act 1 - the base API Stefan O'Rear **20070122040126] [add NickEq support to Karma Stefan O'Rear **20070122055045] [add support for a polynick to have | separated terms Stefan O'Rear **20070122060825] [Lie about BotPP's language dependencies, for the sake of shim Stefan O'Rear **20070121095331] [add dyndns short url for hpaste Stefan O'Rear **20070121210957] [Lie about BotPP's language dependencies, for the sake of shim Stefan O'Rear *-20070121095331] [fix type errors believed to result from binary changes stefanor@cox.net*-20070113064049] [hpaste Don Stewart **20070123103738] [shorter Don Stewart **20070123203735] [Add UnMtl module Lennart Kolmodin **20070123221755] [UnMtl should curry if possible Lennart Kolmodin **20070124104811] [UnMtl should join tuples when possible Lennart Kolmodin **20070124104855] [Intercept "lisppaste2: url" and respond with hpaste! Spencer Janssen **20070124052505] [Factor string constant into pastebinMsg. Spencer Janssen **20070124053545] [Use hpaste's pretty domain name Spencer Janssen **20070124053632] [merge dons@cse.unsw.edu.au**20070125234527] [Make ?unmtl support trailing comments Lennart Kolmodin **20070205205945 Before: ?unmtl State Int a -- wazza!?!? err: Unterminated end-of-line comment Now: ?unmtl State Int a Int -> (a, Int) ] [make ghc 6.6 + runplugs the default build strategy now Don Stewart **20070211223919] [Bring in a bunch of new things Don Stewart **20070211232946] [ditch TH Don Stewart **20070211233002] [h98 be gone! Don Stewart **20070211233012] [make L.hs visible to :t Don Stewart **20070211234334] [use -fextended-default-rules to avoid extra type annotatoins in irc Don Stewart **20070211234346] [make L.hs visible to @type, really Don Stewart **20070211235050] [don't need template-haskell package now Don Stewart **20070211235116] [add IntMap Don Stewart **20070213232026] [-fasm Don Stewart **20070214002425] [win32Hacks newsham@lava.net**20070207080524] [win32BuildHacks newsham@lava.net**20070207080647] [merge depends dons@cse.unsw.edu.au**20070214023739] [the Text.Regex module has changed.. Don Stewart **20070214062236] [@src gracefully handles operators with or without parens Spencer Janssen **20070221052035] [Add @hackage Spencer Janssen **20070222010141] [import Prelude hiding (mapM, sequence, mapM_, sequence_) Don Stewart **20070224012936] [obsolete seen state dons@cse.unsw.edu.au**20070304041426] [the first lambdabot plugin I wrote, circa 2004. aFind the temperature in Sydney dons@cse.unsw.edu.au**20070304041525] [prec-unpl.patch cdsmith@twu.net**20070506044357 This fixes precedence problems in unpl, by adding a step that transforms the parsed grammar to obey precedence rules. As of right now: 1. Only operators from the Prelude are counted. 2. Precedence is not fixed in let bindings 3. Infix operators in patterns don't work. ] [update-prec-unpl-and-undo cdsmith@twu.net**20070506150342] [account for infix decls in precedence fixing cdsmith@twu.net**20070506202446] [make @wiki translate spaces to underscores Jason Creighton **20070313012928] [Implement a simple ignore command for lambdabot Bertram Felgenhauer **20070328180812 This patch adds an 'ignore' command similar to the existing 'admin' command. Right now it matches users per string match, not per mask so that it is ineffective against malicious users; it does, however, work for friendly ignores - like other bots. ] [add #ai channel and ignore the ai-depot bot there. Bertram Felgenhauer **20070328181145] [Resync djinn from darcs head Don Stewart **20070507010101] [import Monad.Writer qualified Don Stewart **20070507010118] [Fix @redo and infix applications Spencer Janssen **20070507013557] [RunPlugs: fix Control.Monad.Writer import Spencer Janssen **20070510211608] [Make "active" in @users consider last 30 minutes Jason Creighton **20070519011539] [@type: remove Data.Traversable import, it clashes with Prelude names Spencer Janssen **20070603071205] [Make lambdabot more polite (respond to thanks) mail@joachim-breitner.de**20070616103520] [Ignore a trailing : in nicknames mail@joachim-breitner.de**20070616181123 A usecase for @tell is: > dons: Something important then noticing that dons is not there, adding a @tell in the beginning > @tell dons: Something important And generally it is nice to be able to write: > @tell someone: something So the attaced patch ignores trailing : for nicknames (which are invalid anyways). ] [update online.rc dons@cse.unsw.edu.au**20070304044636] [add online2.rc dons@cse.unsw.edu.au**20070304044712] [some state patches dons@cse.unsw.edu.au**20070304044741] [update the .rc files dons@cse.unsw.edu.au**20070619035426] [and hide Traversable dons@cse.unsw.edu.au**20070619041024] [fix unary negation in Pl parser cdsmith@twu.net**20070620052142] [give a helpful message when user types "make" instead of deleting stuff Samuel Bronson **20070628143453] [Convert vixen's data to new 64-bit Binary format, including code used (in comments) Samuel Bronson **20070628155642] [Fixed problems with DarcsPatchWatch Christophe Poucet **20070719101737] [Fixed very small cpphs issue in Lib/Parser.* Christophe Poucet **20070718113647] [only have @state disabled dons@cse.unsw.edu.au**20070725033021] [update channel list dons@cse.unsw.edu.au**20070725033113] [Fix functions name clash in Lib/Parser.hs Paolo Martini **20070725231055] [Add @forget to remove quotes (unpriviledged by analogy with @where+ lambdabot ) Stefan O'Rear **20070628165142] [Use a thin wrapper over haskell-src instead of trying to build on the undocumented internal haskell-src functions. Should increase robustness. Stefan O'Rear **20070731044106] [finish implementing "forget" Stefan O'Rear **20070731044151] [Remove the Arbitrary instance for Maybe; it is rarely used, and conflicts with an instance in the 6.6.1 QuickCheck Stefan O'Rear **20070731044211] [IRC nicknames are case-insensitive svein.ove@aas.no**20070802132816] [Instance Ord for Nick svein.ove@aas.no**20070803200628 Overriding Eq but not Ord meant that Foo > FOO is true, but so is FOO == FOO. This patch fixes it by overriding Ord to behave the same way. ] [Fixed instance Ord Nick so it'll actually work this time svein.ove@aas.no**20070803224228] [sort some chans dons@cse.unsw.edu.au**20070816045422] [chans dons@cse.unsw.edu.au**20070816045619] [sync state dons@cse.unsw.edu.au**20070816045835] [Some more creativity in insults and confirmation messages twanvl@gmail.com**20071015004425] [Worked around the lack of readline on windows, added a very simple replacement twanvl@gmail.com**20071015004544] [Added comments to Pl code in my attempt to understand it twanvl@gmail.com**20071015004725] [Added more advanced way of composing plugins twanvl@gmail.com**20071015004758]