boost for
(cat|girl|gay|boob|shark|emoj(i|o)|gargr?(on|amel))s?
hello i'm one of the seven (7) people in the world who apparently enjoys writing regular expressions enough to shitpost about it
@CobaltVelvet
I enjoy writing regex engines, does that count?
@kellerfuchs @CobaltVelvet I enjoy complaining about how much better regular expressions could be if they were composable, ie http://synthcode.com/scheme/irregex/ (see also http://www.more-magic.net/posts/lispy-dsl-sre.html and for why regexes aren't composable (read "stringly typed systems") see http://groups.csail.mit.edu/mac/users/gjs/6.945/psets/ps01/ )
@cwebber @kellerfuchs @CobaltVelvet Shout-out to probably my favorite published paper ever, "A Play on Regular Expressions": https://sebfisch.github.io/haskell-regexp/
I used that library once to crack the cipher state of badly-encrypted files where the plaintext had a nice regular structure. Each observed byte constrained the possible cipher states a little more, in ways that fit the semiring construction nicely.
@jamey @kellerfuchs @CobaltVelvet holy shit this post has everything
@cwebber @jamey @kellerfuchs @CobaltVelvet kinda sorta related:
thoughts on this?
http://doc.cat-v.org/bell_labs/structural_regexps/
@cwebber @grainloom @kellerfuchs @CobaltVelvet I'm not sure I can stand to read a Rob Pike paper, but I'm a huge fan of applying language theory to things we don't currently have very good tools for. Not just non line oriented text, but also binary files, network protocols, etc. Somebody in the fediverse linked to a paper a couple weeks ago about context-free protocol serializer/deserializer generators which I gotta dig up again, so cool!
@CobaltVelvet @kellerfuchs @grainloom @jamey Likewise editing a lisp from emacs is just *the* *best* if you use a tool like paredit (or the a bit looser smartparens) because you aren't editing text, you're operating on the language AST http://emacsrocks.com/e14.html
@jamey @grainloom @kellerfuchs @CobaltVelvet notably if the language used s-expressions it should be super straightforward :)