Hernan Wilkinson
2018-11-24 15:51:51 UTC
Hi all!,
I wanted to let you know that I have implemented a "feature" to have type
information "live". Currently it is implemented on Cuis but the idea is to
port it to Pharo and Squeak as well.
This feature is based on a few changes on the VM that collects the class of
the object assigned to a variable, a parameter or when returning from a
method. That information is available from the image and allows to improve
the tools radically, like the autocompletion on the browser, looking for
senders/implementors and even "scoping" the refactorings based on the type
info.
I presented it at the last Smalltalks (the argentinean smalltalk
conference) and I'm happy to announce its alpha version (1/1000) asFloat :-)
Here is a link to the repo that has the VM and a Cuis image to play with
it: https://github.com/hernanwilkinson/Cuis-Smalltalk-DynamicTypeInformation
It also has the source of the VM's changes if you want to see how it is
implemented. Currently it is implemented only in the stack VM and the VMs I
compiled and uploaded to the repo are 64 bits for MacOs and Linux. (I don't
have a Windows machine to compile it :-) )
Here is a link to a video that shows how it is implemented and how to use
it: https://t.co/n8FQuo7pKZ
If you want to see the slides of the presentation, here is the link:
https://www.slideshare.net/hernanwilkinson/dynamic-type-information
I would love for you to try it and get feedback, ideas, etc.
I really believe it is a "killer feature", something that could take
Smalltalk one step further and show the way to other dynamically typed
languages.
Cheers!
Hernan
I wanted to let you know that I have implemented a "feature" to have type
information "live". Currently it is implemented on Cuis but the idea is to
port it to Pharo and Squeak as well.
This feature is based on a few changes on the VM that collects the class of
the object assigned to a variable, a parameter or when returning from a
method. That information is available from the image and allows to improve
the tools radically, like the autocompletion on the browser, looking for
senders/implementors and even "scoping" the refactorings based on the type
info.
I presented it at the last Smalltalks (the argentinean smalltalk
conference) and I'm happy to announce its alpha version (1/1000) asFloat :-)
Here is a link to the repo that has the VM and a Cuis image to play with
it: https://github.com/hernanwilkinson/Cuis-Smalltalk-DynamicTypeInformation
It also has the source of the VM's changes if you want to see how it is
implemented. Currently it is implemented only in the stack VM and the VMs I
compiled and uploaded to the repo are 64 bits for MacOs and Linux. (I don't
have a Windows machine to compile it :-) )
Here is a link to a video that shows how it is implemented and how to use
it: https://t.co/n8FQuo7pKZ
If you want to see the slides of the presentation, here is the link:
https://www.slideshare.net/hernanwilkinson/dynamic-type-information
I would love for you to try it and get feedback, ideas, etc.
I really believe it is a "killer feature", something that could take
Smalltalk one step further and show the way to other dynamically typed
languages.
Cheers!
Hernan
--
*Hernán WilkinsonAgile Software Development, Teaching & Coaching*
*Phone: +54 - 011 - *6091 - 3125
*Mobile: +54 - 911 - 4470 - 7207email:
***@10Pines.comsite: http://www.10Pines.com
<http://www.10pines.com/>*
Address: Alem 693, Floor 5 B, Buenos Aires, Argentina
*Hernán WilkinsonAgile Software Development, Teaching & Coaching*
*Phone: +54 - 011 - *6091 - 3125
*Mobile: +54 - 911 - 4470 - 7207email:
***@10Pines.comsite: http://www.10Pines.com
<http://www.10pines.com/>*
Address: Alem 693, Floor 5 B, Buenos Aires, Argentina