3 ms·
Why 'strict'?
by theaeolist 12y ago
Why 'strict'?
- Guvante 12y agoBecause hardware is fundamentally strict, when you read a value you read it.
- theaeolist 12y agoThis is not what 'strict' really means. 'Strictness' means that a function must evaluate its argument. In terms of h/w this would mean (I guess) that a 'strict' circuit must read its inputs, which is not usually required.
- agumonkey 12y agoIs it ? aren't there differential circuits with history that won't activate the subsequent circuitry in case the read value didn't change ?
- Guvante 12y agoThe order of operations is strict, when you specify you want something you grab it. In contrast Haskells evaluation order does not match the definition order necessarily.
- rthomas6 12y agoMy thinking was that completely immutable functions map better to hardware that can't change its own design, but maybe it would be better to allow state sometimes. The problem with state is that it implies sequentialism. Registers, signals, etc. can change values, but you can't change what they do or how they're used. So you can't really have anything like self-modifying code. But I guess allowing state would make sense sometimes as long as you are mindful of what the state is dependent upon. Making lots of independent little state machines would map well to hardware I think.
- theaeolist 12y ago"Strict" and "immutable" are rather different things. Which one did you mean? None of them really are related to self-modifying code though.
- deleted 12y ago[deleted]
- rthomas6 12y agoOh, I meant immutable. Thanks for pointing that out!
- deleted 12y ago[deleted]