To create a function that returns unset! instead of a traditional return value, use exit. >> example: func [value] [value] == func [ ] >> example "value" == "value" >> example: func [value] [value exit] == func [ ][ ] >> example "value" >> >> type? example "value" == unset! >>
unset!in general, and why it exists?
unset!there would be a hole in the language, several fundamental semantic rules would be collapsing, e.g.
reduce [1 print ""] => (reducing 2 expressions would return 1 expression).
xmm[0-7]registers (currently this feature limited to IA32)?
system/fpuand floating-point bit diddling will do?
1, honestly I don't know how to interpret it :( (see R/S specs). Does it mean x87 FPU or SSE?
multi-channel commandsyou're referring to).
@dockimbel thanks Nenad!
By "multi-channel" I meant instructions which use multiple processing units at once (frankly I'm not completely sure what I'm talking about :D guh, noobiness). I think in real worlds it's called parallelism ;) Perhaps what I want in my case is something that can be considered "costly" operation which fully loads primary system bus and avoids caching mechanism, like SIMD
About codebase: are there any tips for newcomers on how to navigate it? Sometimes I know that my answer is in the sources (like with
fpu/type above), but I'm not sure where to find it :(
grepis your friend on Unix, or any equivalent feature in your Code editor. I have a "Find in files" feature (<=>
grep) in my main code editor, which I use dozens of time everyday to navigate through the source code.
make RAM bus very busyshould be achieved by any tight loop intensively reading/writing 32-bit values in memory (until we get 64-bit support). Such operations will go through the caches, there is no specific cache control instructions emitted by the compiler. Such optimizations are planned for 2.0.