Domain Agnostic Languages
Written by Piers Cawley on , updated
Windmill tilting time again I’m afraid. Blame chromatic and David A. Black.
What is it that characterizes domain specific languages? Before you trot out something like “Programs written in them read like domain experts talk”, take a look at some examples of code written in domain specific languages:
/(?ms)"((?>[^\\"]+)?(?>\\.[^\\"]*)*)/
S3
R$* $: < $1 >
R$+ < $* > < $2 >
R< $* > $+ < $1 >
R<> $@ < @ >
R< $+ > $: $1
R@ $+ , $+ @ $1 : $2
R@ $+ : $+ $@ <@ $1> : $2
R$+ @ $+ $: $1 <@ $2>
R$+ < $+ @ $+ > $1 $2 <@ $3>
R$+ <@ $+ > $@ $1 <@ $2>
>gi|2501594|sp|Q57997|Y577_METJA PROTEIN MJ0577
MSVMYKKILYPTDFSETAEIALKHVKAFKTLKAEEVILLHVIDEREIKKRDIFSLLLGVAGLNKSVEEFE
NELKNKLTEEAKNKMENIKKELEDVGFKVKDIIVVGIPHEEIVKIAEDEGVDIIIMGSHGKTNLKEILLG
SVTENVIKKSNKPVLVVKRKNS
Windmill tilting time again I’m afraid. Blame chromatic and David A. Black.
What is it that characterizes domain specific languages? Before you trot out something like “Programs written in them read like domain experts talk”, take a look at some examples of code written in domain specific languages:
/(?ms)"((?>[^\\"]+)?(?>\\.[^\\"]*)*)/
S3
R$* $: < $1 >
R$+ < $* > < $2 >
R< $* > $+ < $1 >
R<> $@ < @ >
R< $+ > $: $1
R@ $+ , $+ @ $1 : $2
R@ $+ : $+ $@ <@ $1> : $2
R$+ @ $+ $: $1 <@ $2>
R$+ < $+ @ $+ > $1 $2 <@ $3>
R$+ <@ $+ > $@ $1 <@ $2>
>gi|2501594|sp|Q57997|Y577_METJA PROTEIN MJ0577
MSVMYKKILYPTDFSETAEIALKHVKAFKTLKAEEVILLHVIDEREIKKRDIFSLLLGVAGLNKSVEEFE
NELKNKLTEEAKNKMENIKKELEDVGFKVKDIIVVGIPHEEIVKIAEDEGVDIIIMGSHGKTNLKEILLG
SVTENVIKKSNKPVLVVKRKNS
If you're reading this on the front page, try and work out what the ones you recognise do before you dip below the fold...