Great work!  Nice-looking code.

The only things I notice now are just curiosities.  I can see a lot of
`map`s and such involved, and wonder if you could gain any performance by
using the destructive equivalents.  See
http://docs.factorcode.org/content/article-sequences-destructive.html and
some extra words in
http://docs.factorcode.org/content/vocab-sequences.extras.html  In
particular, the double `flip` in `shift-rows` caught my eye, but I'm not
sure there are any existing words to help for that use-case.

Another curiosity: I wonder if some `inline` declarations would help
tighten up the compiled code.  Most of the word definitions are pretty
short, and are involved in a lot of loops.  Something to experiment with.
http://docs.factorcode.org/content/word-inline,syntax.html

Although, I guess you probably stand to gain more from using uints instead
of arrays (though byte-arrays were a good move!).  Speaking of which, I
don't think `inv-sub-bytes` gets typed like `sub-bytes` (an untyped `[
inv-sbox nth ] map` vs the typed `sub-word`).  In case it makes a
difference.  :-)

Good stuff,
--Alex Vondrak

On Thu, Jun 6, 2013 at 8:42 AM, Gabriel Kerneis <gabr...@kerneis.info>wrote:

> On Thu, Jun 06, 2013 at 06:58:53AM -0700, Doug Coleman wrote:
> > Nice job! The ``inv-sbox`` problem is that ``sbox`` is not compiled yet.
>
> Oh, I didn't expect CONSTANT: to need a compilation, but it makes sense in
> hindsight.
>
> Thanks,
> --
> Gabriel
>
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. A cloud service to automate IT design, transition and operations
> 2. Dashboards that offer high-level views of enterprise services
> 3. A single system of record for all IT processes
> http://p.sf.net/sfu/servicenow-d2d-j
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to