Re: [Factor-talk] CONSTANT:s - foldable, flushable?

2016-05-25 Thread Alexander Ilin
Hello, John! 25.05.2016, 17:54, "John Benediktsson" :One way to work around dependencies like that is to use nested compilation units: << CONSTANT: half-bit-size 6 >><< CONSTANT: bit-size $[ 2 half-bit-size * ] >>CONSTANT: cell-height $[ 3 bit-size * ]CONSTANT: cell-width $[ 3

Re: [Factor-talk] Factor Code Analysis Tools

2016-05-25 Thread Alexander Ilin
Hello, Andrea! 25.05.2016, 19:00, "Andrea Ferretti" : >> Also, I seem to remember from somewhere (help system? a blog post?) about a >> tool that can analyze a word and find similar code elsewhere > > I think you refer to

Re: [Factor-talk] Factor Code Analysis Tools

2016-05-25 Thread Alex Vondrak
In case it helps, here's an ancient gist of mine where I did some basic vocab dependency analysis: https://gist.github.com/ajvondrak/4158963 This was to find circular dependencies, where loading the vocab would go into an infinite loop. Thus I couldn't use the loaded vocab objects themselves, so

Re: [Factor-talk] CONSTANT:s - foldable, flushable?

2016-05-25 Thread John Benediktsson
One way to work around dependencies like that is to use nested compilation units: << CONSTANT: half-bit-size 6 >> << CONSTANT: bit-size $[ 2 half-bit-size * ] >> CONSTANT: cell-height $[ 3 bit-size * ] CONSTANT: cell-width $[ 3 bit-size * ] That makes those constants immediately available for

Re: [Factor-talk] Factor Code Analysis Tools

2016-05-25 Thread Alexander Ilin
Hello! That's great, John, thanks for the pointer! 25.05.2016, 00:57, "John Benediktsson" :You can easily get usage information, for example all (loaded) words that call ``+``:     \ + usage. There are some graphviz libraries that have been built to visualize various parts of the

Re: [Factor-talk] CONSTANT:s - foldable, flushable?

2016-05-25 Thread Alexander Ilin
Hello! Initially I wanted to define all constants as dependent on each other, as I would do in Delphi or C++: consthalf-bit-size = 6;bit-size = 2 * half-bit-size;cell-height = 3 * bit-size;cell-width = 3 * bit-size; In Factor that didn't work, so I took out the half-bit-size constant into a

[Factor-talk] io.files.windows question: >>ptr

2016-05-25 Thread Alexander Ilin
Hello! I'm looking at these words: open-read open-write open-r/w (open-append) open-existing maybe-create-file Why is it that only the first two of them have "0 >>ptr" after open-file? I presume the ptr of the win32-file tuple is always zero on creation, but why such