This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#1 2010-06-12 14:16:12

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Panther CYOB thread

*THIS IS NOT THE OFFICAL PANTHER THREAD*

I have had the idea to post a thread all about Panther's CYOB.

What is Panther
Panther is a mod (modification) of Scratch. It offers many new features such as new camera blocks, CYOB and advanced mesh blocks.

What is CYOB
CYOB (Code Your Own Blocks) is a new feature in Panther which allows the user to make their own blocks. To use this knowlage of Squeak is required.

*Squeak - Language Scratch is coded in

Whats the Block Shop
The Block Shop (coming soon) is a new feature. It allows the user to download custom blocks, from a online store (free of cost). It is useful for expanding Panther, or if you don't know Squeak.

Whats the point of this thread?
The point of the thread is to help other people using CYOB. So you can request a block, help other users make a block, share your code or ask users for help with code.
Heres a the list of Squeakers who can help:
NXIII
johnnydean1
Sparks
LS97
(Comment to be added or removed)

So post away!

Last edited by johnnydean1 (2010-06-13 12:32:28)


You can now reach me on Twitter @johnnydean1_

Offline

 

#2 2010-06-12 14:33:24

ScratchReallyROCKS
Scratcher
Registered: 2009-04-22
Posts: 1000+

Re: Panther CYOB thread

johnnydean1 wrote:

*Squeak - Language Scratch is coded in

Actually, Scratch is coded in Smalltalk, Squeak is just the application to use it in, called the Virtual Machine or VM.


http://imageshack.us/a/img694/3806/sigmad.png

Offline

 

#3 2010-06-12 14:47:00

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther CYOB thread

ScratchReallyROCKS wrote:

johnnydean1 wrote:

*Squeak - Language Scratch is coded in

Actually, Scratch is coded in Smalltalk, Squeak is just the application to use it in, called the Virtual Machine or VM.

I think that Squeak is what's called a dialect of Smalltalk, meaning that Squeak is a framework for creating projects written in Smalltalk. For example, in Smalltalk writing "true ifTrue: [] ifFalse: []." would result in an error, because the message "ifTrue:ifFalse:" and the constant "true" are not defined. Some parts of Squeak must be written in C, because, for example, although Smalltalk can store data, it can't add two numbers.

Last edited by nXIII (2010-06-12 14:47:27)


nXIII

Offline

 

#4 2010-06-12 15:18:16

ScratchReallyROCKS
Scratcher
Registered: 2009-04-22
Posts: 1000+

Re: Panther CYOB thread

nXIII wrote:

ScratchReallyROCKS wrote:

johnnydean1 wrote:

*Squeak - Language Scratch is coded in

Actually, Scratch is coded in Smalltalk, Squeak is just the application to use it in, called the Virtual Machine or VM.

I think that Squeak is what's called a dialect of Smalltalk, meaning that Squeak is a framework for creating projects written in Smalltalk. For example, in Smalltalk writing "true ifTrue: [] ifFalse: []." would result in an error, because the message "ifTrue:ifFalse:" and the constant "true" are not defined. Some parts of Squeak must be written in C, because, for example, although Smalltalk can store data, it can't add two numbers.

I don't understand most of that but I'm just going to go with it.


http://imageshack.us/a/img694/3806/sigmad.png

Offline

 

#5 2010-06-12 18:03:40

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther CYOB thread

bharvey wrote:

nXIII wrote:

although Smalltalk can store data, it can't add two numbers.

Huh?  Of course it can.  Numbers are Smalltalk objects; there are
number subclasses such as Integer; each kind of number implements methods for +, -, etc.

According to Jens, the main thing that distinguishes Squeak from any other implementation of Smalltalk is Morphic, the graphics engine that powers things like dragging Scratch blocks around.

Smalltalk itself can't add them; it uses a primitive function written in C.


nXIII

Offline

 

#6 2010-06-13 05:26:47

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther CYOB thread

okayyyyy... I think this is a nice thread, very useful and it's stupid that the first comments were about grammatical mistakes. Perhapse people who posted above should delete them so that we remain ON TOPIC and leave this thread unsullied  big_smile  Perhapse you should provide links in the first post to the blockshop page and the block submission form? Good work though, I'm glad the blockshop idea is catching on and I'd like to thank everyone for your submissions!


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#7 2010-06-13 05:37:06

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther CYOB thread

bharvey wrote:

And if you look even more deeply than that, you'll find that C's ability to do arithmetic and access memory is written in machine language.

I though C was based on B...


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#8 2010-06-13 11:33:53

ScratchReallyROCKS
Scratcher
Registered: 2009-04-22
Posts: 1000+

Re: Panther CYOB thread

markyparky56 wrote:

bharvey wrote:

And if you look even more deeply than that, you'll find that C's ability to do arithmetic and access memory is written in machine language.

I though C was based on B...

did you read what sparks said?


http://imageshack.us/a/img694/3806/sigmad.png

Offline

 

#9 2010-06-13 11:46:30

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: Panther CYOB thread

On Topic!


You can now reach me on Twitter @johnnydean1_

Offline

 

#10 2010-06-13 12:59:09

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: Panther CYOB thread

sparks wrote:

it's stupid that the first comments were about grammatical mistakes!

Are you talking about me and nXIII?  I wouldn't characterize our discussion that way; it was about something substantive.  I grant you it's off topic but it's really hard to branch a new thread, especially retroactively.  And you can't say "let's take this offline" without private messaging.  But, sure...

EDIT: @mp56:  C is a redesign of B.  But C is implemented on top of machine language.

Last edited by bharvey (2010-06-13 13:01:42)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#11 2010-06-13 13:56:37

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther CYOB thread

bharvey wrote:

sparks wrote:

it's stupid that the first comments were about grammatical mistakes!

Are you talking about me and nXIII?  I wouldn't characterize our discussion that way; it was about something substantive.  I grant you it's off topic but it's really hard to branch a new thread, especially retroactively.  And you can't say "let's take this offline" without private messaging.  But, sure...

EDIT: @mp56:  C is a redesign of B.  But C is implemented on top of machine language.

Oh right, Ok.  smile


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

#12 2010-06-15 06:46:42

cds56
Scratcher
Registered: 2008-05-02
Posts: 500+

Re: Panther CYOB thread

So far, I fail to see any posts relating to CYOB.

LOL


http://img192.imageshack.us/img192/909/meowdevlogo.pnghttp://i32.tinypic.com/pucti.png

Offline

 

#13 2010-06-15 07:04:10

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: Panther CYOB thread

nXIII wrote:

bharvey wrote:

nXIII wrote:

although Smalltalk can store data, it can't add two numbers.

Huh?  Of course it can.  Numbers are Smalltalk objects; there are
number subclasses such as Integer; each kind of number implements methods for +, -, etc.

According to Jens, the main thing that distinguishes Squeak from any other implementation of Smalltalk is Morphic, the graphics engine that powers things like dragging Scratch blocks around.

Smalltalk itself can't add them; it uses a primitive function written in C.

Now here's an interesting fact: The C primitives in turn were written in a subset of Smalltalk called Slang, and then translated to C. In fact, the whole Squeak VM was written in itself (i.e. in Squeak/Slang) that way and then bootstrapped. Therefore Squeak - unlike other Smalltalks - is a self sustainable system.

It should be noted, btw, that the Smalltalk-to-C translator (that's right, not the other way 'round!) was written by John Maloney, one of the world's coolest programmers, who now is the lead developer of Scratch.

So, on topic: You can code your block or some functions of it in Slang, translate it to C within Squeak/Scratch/Panther, compile it externally into a DLL and then access it from within the image. That's how all the VM plugins for Scratch are made (mpeg, unicode, OS-access etc.).

Last edited by Jens (2010-06-15 07:10:11)


Jens Mönig

Offline

 

#14 2010-06-15 10:48:51

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: Panther CYOB thread

Sorry to be annyoning but can you take this discussion elsewhere...


You can now reach me on Twitter @johnnydean1_

Offline

 

#15 2010-06-15 11:22:08

henley
Scratcher
Registered: 2008-06-21
Posts: 1000+

Re: Panther CYOB thread

ScratchReallyROCKS wrote:

johnnydean1 wrote:

*Squeak - Language Scratch is coded in

Actually, Scratch is coded in Smalltalk, Squeak is just the application to use it in, called the Virtual Machine or VM.

So, Scratch was made in Squeak, which was made in Smalltalk, Which was made in....


"I've worked so hard for you and you give me nothing in return. Do you need help... Or do I?"

Offline

 

#16 2010-06-15 11:24:59

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther CYOB thread

Jens wrote:

nXIII wrote:

bharvey wrote:


Huh?  Of course it can.  Numbers are Smalltalk objects; there are
number subclasses such as Integer; each kind of number implements methods for +, -, etc.

According to Jens, the main thing that distinguishes Squeak from any other implementation of Smalltalk is Morphic, the graphics engine that powers things like dragging Scratch blocks around.

Smalltalk itself can't add them; it uses a primitive function written in C.

Now here's an interesting fact: The C primitives in turn were written in a subset of Smalltalk called Slang, and then translated to C. In fact, the whole Squeak VM was written in itself (i.e. in Squeak/Slang) that way and then bootstrapped. Therefore Squeak - unlike other Smalltalks - is a self sustainable system.

It should be noted, btw, that the Smalltalk-to-C translator (that's right, not the other way 'round!) was written by John Maloney, one of the world's coolest programmers, who now is the lead developer of Scratch.

So, on topic: You can code your block or some functions of it in Slang, translate it to C within Squeak/Scratch/Panther, compile it externally into a DLL and then access it from within the image. That's how all the VM plugins for Scratch are made (mpeg, unicode, OS-access etc.).

Wow... I never knew all that about Slang and John Maloney!

I kind-of knew that Squeak was compiled into smalltalk. I spent a bit of time looking around in the Compiler class.


nXIII

Offline

 

#17 2010-06-15 14:24:19

cds56
Scratcher
Registered: 2008-05-02
Posts: 500+

Re: Panther CYOB thread

Jens wrote:

nXIII wrote:

bharvey wrote:


Huh?  Of course it can.  Numbers are Smalltalk objects; there are
number subclasses such as Integer; each kind of number implements methods for +, -, etc.

According to Jens, the main thing that distinguishes Squeak from any other implementation of Smalltalk is Morphic, the graphics engine that powers things like dragging Scratch blocks around.

Smalltalk itself can't add them; it uses a primitive function written in C.

Now here's an interesting fact: The C primitives in turn were written in a subset of Smalltalk called Slang, and then translated to C. In fact, the whole Squeak VM was written in itself (i.e. in Squeak/Slang) that way and then bootstrapped. Therefore Squeak - unlike other Smalltalks - is a self sustainable system.

It should be noted, btw, that the Smalltalk-to-C translator (that's right, not the other way 'round!) was written by John Maloney, one of the world's coolest programmers, who now is the lead developer of Scratch.

So, on topic: You can code your block or some functions of it in Slang, translate it to C within Squeak/Scratch/Panther, compile it externally into a DLL and then access it from within the image. That's how all the VM plugins for Scratch are made (mpeg, unicode, OS-access etc.).

SMAlltalke TO C? Awesome? perhaps?


http://img192.imageshack.us/img192/909/meowdevlogo.pnghttp://i32.tinypic.com/pucti.png

Offline

 

#18 2010-09-04 13:28:48

Reese-O
Scratcher
Registered: 2010-05-11
Posts: 58

Re: Panther CYOB thread

Can someone make a open url block? When you're done will you post somthing on one of my project.

Last edited by Reese-O (2010-09-04 21:00:19)


My Page. = My Page click

Offline

 

#19 2010-09-04 14:11:27

LS97
Scratcher
Registered: 2009-06-14
Posts: 1000+

Re: Panther CYOB thread

henley wrote:

ScratchReallyROCKS wrote:

johnnydean1 wrote:

*Squeak - Language Scratch is coded in

Actually, Scratch is coded in Smalltalk, Squeak is just the application to use it in, called the Virtual Machine or VM.

So, Scratch was made in Squeak, which was made in Smalltalk, Which was made in....

C?

Offline

 

#20 2010-09-04 16:59:22

markyparky56
Scratcher
Registered: 2008-03-20
Posts: 1000+

Re: Panther CYOB thread

LS97 wrote:

henley wrote:

ScratchReallyROCKS wrote:


Actually, Scratch is coded in Smalltalk, Squeak is just the application to use it in, called the Virtual Machine or VM.

So, Scratch was made in Squeak, which was made in Smalltalk, Which was made in....

C?

I think thats right... and C is linked to B in some way... maybe just an adaption... don't think B is from A though...


http://j.mp/jgVnTq
Check out my game engine development site: NewDawn I'm a Level 171 Scratcher.I am http://bit.ly/nkvLNT

Offline

 

Board footer