*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)
Offline
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.
Offline
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)
Offline
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.
Offline
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.
Offline
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
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!
Offline
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...
Offline
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?
Offline
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)
Offline
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.
Offline
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)
Offline
Sorry to be annyoning but can you take this discussion elsewhere...
Offline
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....
Offline
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.
Offline
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?
Offline
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
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...
Offline