September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -0,0 +1,18 @@
|
|||
USING: formatting kernel locals make sequences ;
|
||||
|
||||
: to-front ( elt seq -- seq' ) over [ remove ] dip prefix ;
|
||||
|
||||
: encode ( symbols msg -- indices )
|
||||
[ [ swap 2dup index , to-front ] each ] { } make nip ;
|
||||
|
||||
: decode ( symbols indices -- msg )
|
||||
[ [ swap [ nth ] keep over , to-front ] each ] "" make nip ;
|
||||
|
||||
:: round-trip ( msg symbols -- )
|
||||
symbols msg encode :> encoded
|
||||
symbols encoded decode :> decoded
|
||||
msg decoded assert=
|
||||
msg encoded decoded "%s -> %u -> %s\n" printf ;
|
||||
|
||||
"broood" "bananaaa" "hiphophiphop"
|
||||
[ "abcdefghijklmnopqrstuvwxyz" round-trip ] tri@
|
||||
Loading…
Add table
Add a link
Reference in a new issue