jhass / DeBot

My IRC Bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Suggestion for current haskell wordlist of hangman

SkyBirdSoar opened this issue · comments

Before I begin my case, I would like to present an extract.

[23:48:16] <[k-> DeBot !hangman haskell
[23:48:17] ␣␣␣␣␣␣␣␣␣␣ [] 0/12 (haskell)
[23:48:23] <[k-> DeBot Applicative
[23:48:24] ␣␣␣␣at␣pt␣ [licve] 5/12 (haskell)
[23:48:32] <[k-> DeBot Before
[23:48:33] For␣atOpt␣ [licveb] 6/12 (haskell)
[23:48:38] DeBot: s
[23:48:38] For␣atOpts [licveb] 6/12 (haskell)
[23:48:40] <[k-> DeBot m
[23:48:41] FormatOpts [licveb] 6/12 (haskell) You won!
[23:48:41] DeBot: m
[23:48:42] DeBot: m
[23:49:01] <[k-> guess which package it belongs to
[23:49:06] <[k-> and how do you use it
[23:49:16] 1) don't care
[23:49:18] 2) don't care

Here is my stand. At first, I wanted to preserve the list. Now, after reading the first 800 lines, I don't think it would be a good candidate to express what Haskell is all about.

Firstly, there is little Haskellism in the first 800 lines. Let me explain:

The reason is because this list is generated for pandoc. The list is really specific to pandoc. A1 is not a common way to name Haskell datatypes. A typeclass that starts with A is Applicative. A datatype that starts with A is Array. We do not shorten datatype names in Haskell, that is downright awful. We choose meaningful names for our datatypes, that's why there are type synonyms. A List of Chars is called a String, but actually it is a [Char]. We don't use [Char] because it does not express what we want to treat it as. Another example would be ids. We would choose to alias Integer to ID to make it more meaningful for the programmer. BeginAfter, BlockIndented, BlockQuotation, ContentRow, DestinationURL are all highly specific to pandoc. We don't write documentation types all the time in Haskell! That is not our only purpose! Haskell is a general programming language!

Numbers aren't really common when defining Haskell types. Char8, Word8 are just a few I can think of. Hence, this list is a misrepresentation. Again, this is specific to pandoc.

I would like to propose that the current haskell wordlist be replaced by something more appropriate.

By replace I mean: the wordlist is preserved until a better alternative is found.

Or another suggestion, rename it to pandoc.

[00:57:04] DeBot: !hangman haskell
[00:57:04] ␣␣␣␣␣␣␣␣␣ [] 0/12 (haskell)
[00:57:11] DeBot: Functoid
[00:57:12] T␣␣␣␣␣␣␣␣ [funcoid] 7/12 (haskell)
[00:57:13] <[k-> :(
[00:57:18] <[k-> you know that wouldnt work
[00:57:27] DeBot: phd
[00:57:28] T␣␣␣␣␣␣␣␣ [funcoidph] 9/12 (haskell)
[00:57:33] <[k-> DeBot Traversable
[00:57:33] DeBot: 123.
[00:57:33] Table.xml [funcoidph123] 12/12 (haskell) You lost!
[00:57:35] DeBot: academia

This clearly shows that it does not capture the essence of Haskell at all.