xly wrote:
@ Jens
(...) THE BLOCK input variables are inverted
fixed!
Excellent observation, Xavier, thanks for telling!
(be sure to empty your browser's cache when re-loading the prototype to get the latest version which includes the bug fix)
Offline
@Jens - Snap!
I'm having troubles with Variables (global), very similar to Byob ones.
Sometimes the variables block ( impossible to give them a value) and you can't anymore delete them. This issue does not occur with "Script Variables".
Offline
(I had a bit of trouble getting the "When Jens and Brian" in the hat)
Last edited by shadow_7283 (2011-10-02 21:28:51)
Offline
shadow_7283 wrote:
You guys who've been following along with these way-early versions are the greatest! We don't even have costumes yet!
But I'm about to spend a week with Jens making sure the core evaluator is under control, and then I'll be very happy.
Offline
@Jens, any possibility that when the list indexer blocks, whenever they come, will be able to index a script like a multi-dimensional list? Not sure how hard that would be to implement but it would be pretty cool.
Offline
What we need is a feature to turn a script into a list of blocks.
Offline
14God wrote:
joefarebrother wrote:
What we need is a feature to turn a script into a list of blocks.
I agree
Elaborating on this idea, do you mean that say for example you were building a script in the byob interface, you could have a "[List blocks in script()]"?
Offline
rookwood101 wrote:
Elaborating on this idea, do you mean that say for example you were building a script in the byob interface, you could have a "[List blocks in script()]"?
Pretty much. Of course a block with another block in it would require the list to become multi-dimensional to not loose the structure. I'm not sure but that sound like a pain in the rear to implement.
Offline
14God wrote:
rookwood101 wrote:
Elaborating on this idea, do you mean that say for example you were building a script in the byob interface, you could have a "[List blocks in script()]"?
Pretty much. Of course a block with another block in it would require the list to become multi-dimensional to not loose the structure. I'm not sure but that sound like a pain in the rear to implement.
Sounds like we need multidimensional arrays!
(item () of list [(item () of list)]) (example) although does BYOB 3 support this anyway?
Last edited by rookwood101 (2011-10-03 14:25:19)
Offline
rookwood101 wrote:
Sounds like we need multidimensional arrays!
(item () of list [(item () of list)]) (example) although does BYOB 3 support this anyway?
Sorta, it allows you to use arrays as objects inside of arrays. But is doesn't just allow you to say [item(5,3,4)of (foo)]. You have to say [Item (4) of [Item (3) of [ Item (5) of (foo) ]]]
Offline
Yep, I agree with 14God. I think it's high time that "lists" evolved to multi-dimensional arrays.
Offline
shadow_7283 wrote:
Yep, I agree with 14God. I think it's high time that "lists" evolved to multi-dimensional arrays.
I didn't say I thought lists in lists should become multi dimensional arrays, I said list in list is how multi dimensional arrays are implemented in Byob, and there is a reason for that, it allows a whole 'row' in an M'D' array to still be an object. Item in Item arrays are more flexible and adjustable and if item 1 will only be one dimension deep but item 2 will be 10 you won't have to waste memory on the 9 unused slots in item one.
[After_Thought] You could make a block that treated arrays like multi dimensional arrays if you wanted. [/After_Thought]
Last edited by 14God (2011-10-04 00:57:30)
Offline
14God wrote:
Pretty much. Of course a block with another block in it would require the list to become multi-dimensional to not loose the structure. I'm not sure but that sound like a pain in the rear to implement.
Exactly. We are eventually going to do something like this, but it needs thoughtful design. It would be easy if all scripts were just commands strung together (move 10 steps, turn clockwise 15 degrees, move 20 steps, etc) but as soon as you have a REPEAT, or a reporter, the structure is complicated. And in the list structure that results, you have to be able to distinguish the literal list (move, 10, steps) from the one you got as the translation of the [move 10 steps] block.
None of this will be in 4.0, but bear with us. We'll get there eventually.
PS I'm in Jens's apartment right now, have been here since yesterday evening. Spent most of today sleeping and doing my laundry, but while in the laundromat we got a lot of design work done. I'm very optimistic that 4.0 is going to turn out great!
PPS The above is a lie, of course; the list you get will be more like (move_steps, 10). But no matter what it is, you have to be able to distinguish it from a data list.
Last edited by bharvey (2011-10-04 12:52:22)
Offline
14God wrote:
[After_Thought] You could make a block that treated arrays like multi dimensional arrays if you wanted. [/After_Thought]
Indeed. Maybe this would be a good thing to put in the Tools collection, although I'm nervous about making it as big as the Python library eventually!
Offline
bharvey wrote:
14God wrote:
Pretty much. Of course a block with another block in it would require the list to become multi-dimensional to not loose the structure. I'm not sure but that sound like a pain in the rear to implement.
Exactly. We are eventually going to do something like this, but it needs thoughtful design. It would be easy if all scripts were just commands strung together (move 10 steps, turn clockwise 15 degrees, move 20 steps, etc) but as soon as you have a REPEAT, or a reporter, the structure is complicated. And in the list structure that results, you have to be able to distinguish the literal list (move, 10, steps) from the one you got as the translation of the [move 10 steps] block.
None of this will be in 4.0, but bear with us. We'll get there eventually.
PS I'm in Jens's apartment right now, have been here since yesterday evening. Spent most of today sleeping and doing my laundry, but while in the laundromat we got a lot of design work done. I'm very optimistic that 4.0 is going to turn out great!
PPS The above is a lie, of course; the list you get will be more like (move_steps, 10). But no matter what it is, you have to be able to distinguish it from a data list.
Lambada.
Offline
bharvey wrote:
Indeed. Maybe this would be a good thing to put in the Tools collection, although I'm nervous about making it as big as the Python library eventually!
You should break the library up a bit to save load time and pallet space. Maybe you could have string_ops.ysp, math_ops.ysp, object_ops.ysp ect
-----------------------------------------------------------------------------------------------------------------------------
@xly
Wow, that's kinda annoying that you can't delete them O_o
Last edited by 14God (2011-10-04 17:54:28)
Offline
rookwood101 wrote:
I think maybe a "Snap!/BYOB 4 Discussion Thread" should be made.
I think that honor should go to Jens/Brian More people would be likely to follow if they led the transfer.
Last edited by 14God (2011-10-04 17:56:34)
Offline
14God wrote:
rookwood101 wrote:
I think maybe a "Snap!/BYOB 4 Discussion Thread" should be made.
I think that honor should go to Jens/Brian More people would be likely to follow if they led the transfer.
I agree, I think they should if they feel it suitable.
Offline
I found an error when I made an error with the call block then took the blocks out, this happened:
Last edited by Pecola1 (2011-10-04 18:07:05)
Offline