takeWhileInclusive
:: (a
-> Bool) -> [a
] -> [a
]takeWhileInclusive _ [] = []
takeWhileInclusive p (x:xs) = x : if p x then takeWhileInclusive p xs
else []
main
= print $ takeWhileInclusive
(>1) [2,2,2,2,2,1,1,1,1,1,1,1]
CnRha2VXaGlsZUluY2x1c2l2ZSA6OiAoYSAtPiBCb29sKSAtPiBbYV0gLT4gW2FdCnRha2VXaGlsZUluY2x1c2l2ZSBfIFtdID0gW10KdGFrZVdoaWxlSW5jbHVzaXZlIHAgKHg6eHMpID0geCA6IGlmIHAgeCB0aGVuIHRha2VXaGlsZUluY2x1c2l2ZSBwIHhzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAptYWluID0gcHJpbnQgJCB0YWtlV2hpbGVJbmNsdXNpdmUgKD4xKSBbMiwyLDIsMiwyLDEsMSwxLDEsMSwxLDFd