Skip to content

Instantly share code, notes, and snippets.

View ironhouzi's full-sized avatar

Robin Skahjem-Eriksen ironhouzi

View GitHub Profile
• Couldn't match expected type ‘[Letter]’
with actual type ‘[Letter] -> [(a, [Letter])]’
• Probable cause: ‘p’ is applied to too few arguments
In the first argument of ‘f’, namely ‘p’
In the first argument of ‘return’, namely ‘(f p)’
In the expression: return (f p)
• Relevant bindings include
p :: [Letter] -> [(a, [Letter])] (bound at src/Main.hs:49:28)
f :: [Letter] -> [(a -> b, [Letter])] (bound at src/Main.hs:49:13)
(<*>) :: Parser (a -> b) -> Parser a -> Parser b
" vim-plug
call plug#begin('~/.vim/plugged')
" Bare necessities
Plug 'tpope/vim-surround'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-unimpaired'
Plug 'tpope/vim-vinegar'
Plug 'tpope/vim-abolish'
(gdb) thread apply all bt full
Thread 2 (Thread 0x7fb4cafe2700 (LWP 25679)):
#0 0x00007fb4ce679585 in free () from /usr/lib/libjemalloc.so.2
No symbol table info available.
#1 0x0000561d76e7bfa7 in xfree (ptr=ptr@entry=0x7fb4c9a97120) at /tmp/yaourt-tmp-ironhouzi/aur-neovim-git/src/neovim-git/src/nvim/memory.c:133
No locals.
#2 0x0000561d76e02917 in multiqueue_remove (this=this@entry=0x7fb4ca203060) at /tmp/yaourt-tmp-ironhouzi/aur-neovim-git/src/neovim-git/src/nvim/event/multiqueue.c:222
__PRETTY_FUNCTION__ = "multiqueue_remove"
h = <optimized out>
Stack trace of thread 25676:
#0 0x0000561d76ec9ba6 bt_nofile (nvim)
#1 0x0000561d76e3c7cd shorten_fnames (nvim)
#2 0x0000561d76da3804 do_autochdir (nvim)
#3 0x0000561d76f620b9 win_enter_ext (nvim)
#4 0x0000561d76f65616 win_close (nvim)
#5 0x0000561d76e1f7db ex_quit (nvim)
#6 0x0000561d76e23a9b do_one_cmd (nvim)
#7 0x0000561d76e245a7 do_cmdline (nvim)
type Parser a = String -> [(a, String)]
result :: a -> Parser a
result v = \inp -> [(v, inp)]
zero :: a -> Parser a
zero v = \inp -> []
item :: Parser Char
item =
alpha = ["K", "Kh", "G", "Ng", "C", "Ch", "J", "Ny", "T", "Th", "D", "N", "P", "Ph", "B", "M", "Ts", "Tsh", "Dz", "W", "Zh", "Z", "'", "Y", "R", "L", "Sh", "S", "H", "A", "I", "U", "E", "O"]
data Ptree a = Pnode a [Ptree a] deriving (Eq, Show)
ptAdd :: String -> Ptree Char
ptAdd (c:cs)
| cs == [] = Pnode c []
| otherwise = Pnode c [ptAdd cs]
ptInsert :: String -> [Ptree Char] -> [Ptree Char]
data Ptree a = Pnode a [Ptree a] deriving (Eq, Show)
ptLeaf :: Char -> Ptree Char
ptLeaf c = Pnode c []
ptInsert :: String -> Ptree Char -> Ptree Char
ptInsert [] tree = tree
ptInsert (c:cs) (Pnode v children) = case children of
[] -> ptInsert cs (Pnode v ((ptLeaf c) : children))
(h:t) | h == (ptLeaf c) -> ptInsert cs h
data Ptree a = Pnode a [Ptree a] deriving (Eq, Show)
ptLeaf :: Char -> Ptree Char
ptLeaf c = Pnode c []
ptInsert :: String -> Ptree Char -> Ptree Char
ptInsert (c:cs) (Pnode v children)
| cs == [] = ptAdd (ptLeaf c) (Pnode v children)
| ptLeaf c `elem` children = ptInsert cs (filter (\n -> n == (ptLeaf c)) children)
| otherwise = Pnode v ((ptLeaf c) : children)
set imap_user="user@fastmail.com"
set imap_pass=`gpass.sh mutt_fastmail`
set folder=imaps://imap.fastmail.com/
set spoolfile=+INBOX
# Gmail SMTP auto saves sent mails - no need to set
set record=""
set postponed="+Drafts"
# Archive read mails
set mbox="imaps://imap.fastmail.com/Archive"
import Data.Char
data Letter = Ka
| Kha
| Ga
| Nga
| Ca
| Cha
| Ja
| Nya