xly wrote:
This list-of-list can be modified modify and then reloaded with DEFINE, and you get a new block with the same name
Yes. You have to DEFINE again. I thought maybe you were suggesting that a change to the list would automatically be reflected in the procedure.
But in any case, all Logo procedures are global, and they're dynamically scoped, so they're not a precise analog to Snap! scripts.
Offline
Hardmath123 wrote:
How about a list-of-list structure of lambdas?
That's pretty clearly going to be the external representation of the text of a script. Alas, the cost of having a visual language is that it's not the internal representation, so we have to invent conversion functions to get self-reflective code.
Offline
bharvey wrote:
Hardmath123 wrote:
How about a list-of-list structure of lambdas?
That's pretty clearly going to be the external representation of the text of a script. Alas, the cost of having a visual language is that it's not the internal representation, so we have to invent conversion functions to get self-reflective code.
Is it just me, or are your posts steady increasing in concentration of words I don't grok? I'm gonna puzzle over that one during the bio test tomorrow.
Offline
Hardmath123 wrote:
words I don't grok?
![]()
Sorry. "Self-reflective" means that there is a means in the language for manipulating programs in the language, e.g., inspecting the instructions in a script.
As for dynamic and lexical scope, search for them in the earlier messages in this thread.
Offline
Hardmath123 wrote:
Scripts aren't mutable (yet), right?
Well you can't mutate the script itself, but a script can mutate it's own lexical environment.
Offline
@bharvey
"But in any case, all Logo procedures are global, and they're dynamically scoped, so they're not a precise analog to Snap! scripts."
My contribution was certainly "off-topic". Incidentally my layman point-of-view. is that the form of a Logo procedure defined as a list-of-list has some similarities with a Java definition of a Class : name + variables list + constructor.
Offline
bharvey wrote:
Hardmath123 wrote:
words I don't grok?
![]()
Sorry. "Self-reflective" means that there is a means in the language for manipulating programs in the language, e.g., inspecting the instructions in a script.
As for dynamic and lexical scope, search for them in the earlier messages in this thread.![]()
No problem, and thanks.
Offline
bharvey wrote:
Hardmath123 wrote:
How about a list-of-list structure of lambdas?
That's pretty clearly going to be the external representation of the text of a script. Alas, the cost of having a visual language is that it's not the internal representation, so we have to invent conversion functions to get self-reflective code.
What about making ITEM OF polymorphic? ITEM n OF a stack would return the nth block in that stack and ITEM n OF a block would return its n-1th argument for n > 1 and the block's prototype for n = 1.
Offline
bharvey wrote:
nXIII wrote:
What about making ITEM OF polymorphic?
Ah, I see, so you don't have to do an explicit conversion to list form. Interesting. I want a polymorphic ITEM OF anyway, for bitmaps.
And if ITEM OF was also polymorphic to deal with strings so it is a synonym for LETTER OF then that would be even better.
Offline
joefarebrother wrote:
bharvey wrote:
nXIII wrote:
What about making ITEM OF polymorphic?
Ah, I see, so you don't have to do an explicit conversion to list form. Interesting. I want a polymorphic ITEM OF anyway, for bitmaps.
And if ITEM OF was also polymorphic to deal with strings so it is a synonym for LETTER OF then that would be even better.
Alternatively, it could treat strings like sentences.
Offline
How hard was it to create the online player?
Offline
nXIII wrote:
Alternatively, it could treat strings like sentences.
To me this is a reason not to have ITEM OF work on strings, but instead to provide both LETTER OF and WORD OF reporters. ITEM OF is ambiguous for a string.
Offline
bharvey wrote:
funelephant wrote:
How hard was it to create the online player?
Are you asking about Scratch, BYOB, or Snap!?
Or JSScratch or sb2.js?
Offline
Caviac12 wrote:
I have a very quick, stupid question, but I haven't been able to find an answer anywhere and couldn't find a way just by searching the program. How do I play my game outside of the program?
In BYOB, you mean? There's a "Compile this project" option in the Share menu that will make a standalone executable. (It actually still contains all of BYOB, but when run it starts with your project loaded in presentation mode.)
Offline
bharvey wrote:
Caviac12 wrote:
I have a very quick, stupid question, but I haven't been able to find an answer anywhere and couldn't find a way just by searching the program. How do I play my game outside of the program?
In BYOB, you mean? There's a "Compile this project" option in the Share menu that will make a standalone executable. (It actually still contains all of BYOB, but when run it starts with your project loaded in presentation mode.)
It doesn't see, to work for me.
Offline
I made a page on the Scratch Wiki a while ago. The best way to do it is to use ToJar.
Offline
bharvey wrote:
joefarebrother wrote:
It doesn't see, to work for me.
What OS? And how does it fail?
Windows 7.
It doesn't seem to do anything, it just opens 2 command line consoles for a few seconds, then closes them, then opens my 'My Documents' folder in windows explorer. I can't find any new files that might be the compiled copy.
Last edited by joefarebrother (2012-10-15 15:52:09)
Offline
Folks, I've just completed the full German localization for Snap! (along with translated drop-down options and other previously missing strings). Except for the About-Dialog everything should now be localized and still working. While I'm writing up instructions on how to contribute translations for LTR languages I'd appreciate some rigorous testing
Thanks!
Offline
Jens wrote:
Folks, I've just completed the full German localization for Snap! (along with translated drop-down options and other previously missing strings). Except for the About-Dialog everything should now be localized and still working. While I'm writing up instructions on how to contribute translations for LTR languages I'd appreciate some rigorous testing
![]()
Thanks!
when deleting a custom block the dialogue text is in English...
Offline
A number of unrelated bug reports:
—
Preferences: The "Clicking sound" preference shows the state of the "Input sliders" preference.
—
UX: Clicking past the end of a line in an editable TextMorph should place the insertion point at the end of that line, not the beginning of the next one; sometimes it is even a few characters into the line:
—
UX: Scrollbars and buttons should regain their "active" state rather than their "hover" state when:
1) the mouse is pressed on a button
2) the mouse leaves the button's bounds
3) the mouse reenters the button's bounds
—
UX: Dialogs should not be draggable by their buttons.
—
UX: Input slots should be deselected when they are blurred:
—
Evaluator: When errors are thrown, threads do not stop and use up the full atomic execution time every frame.
—
Editor: Dragging a reporter block onto a ring to replace it deletes the ring and does not put it back in the editor.
—
UX: Dialog shadows should not be identical to drag-and-drop shadows.
—
Blocks: Pop down inputs are not correctly autosized in the palette:
—
UX: The palette should reset to motion when a new project is created.
—
Blocks: The boolean ring should either:
- not allow drops of non-boolean reporters; or
- reshape when a non-boolean reporter is dropped on it
—
Evaluator: This makes no sense:
—
Rendering: Empty speech bubbles' pointers go off the edge of their bubbles:
—
Editor: This should not be possible:
—
Evaluator: Evaluating this lags Snap a huge amount:
It should either throw an error or give an empty string.
—
Evaluator: I disagree:
—
UX: Shift+arrow keys should not alter the anchor point in text editors.
—
Evaluator:
NaN doesn't appear anywhere else, and:
—
Evaluator: We are not JavaScript.
—
Blocks:
—
Blocks: Error-outlined blocks have weird shadows:
—
Blocks:
(Create a new block with spec "test" -> click label fragment -> click "Delete" -> click "OK")
—
Blocks: The default variable names in SCRIPT VARIABLES are not unique (i.e. they are "a" through "z" followed by an infinite stream of "foo"s):
—
UX: The bottom-right pixel of checkboxes should not be really light:
—
Evaluator: This isn't necessarily a bug, but it's unintuitive:
changes "a" regardless of the order of the LAUNCH blocks.
—
Evaluator: This can hide bugs:
—
Last edited by nXIII (2012-10-15 17:26:55)
Offline