Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
963 posts
|
On Jun 3, 2014, at 12:32 PM, Camille Teruel <[hidden email]> wrote: > > On 3 juin 2014, at 17:34, Johan Fabry <[hidden email]> wrote: > >> >> On Jun 3, 2014, at 4:21 AM, Camille Teruel <[hidden email]> wrote: >> >>>> To what I understand, types are inferred, it is not statically typed. Am I wrong ? >>> >>> If there is type inference then it is statically typed (at least partially if not every variable type can be inferred) >> >> To repeat myself: this is not the case. Example is the RoelTyper. > > Yes, there are many type inferencers for dynamically-typed languages. > But that's not because one builds a type inferencer for say Smalltalk that I can say "Smalltalk has type inference": the inferencer is not integrated within the language, it's just an analysis tool on top. > If someone says that his language has type inference, he means that the type inferencer is built into the language, and normally there is some type checking and/or the compiler is designed to leverage type information which means that the language is at least partially statically-typed (if not entirely). ... [show rest of quote] I tend to disagree: in the case of Smalltalk the border between the language and the toolchain is quite blurry. Is the browser part of the language? Refactoring support? Type inferencer? Where do you draw the line? I can have my Smalltalk dialect with type inferencing while the language is dynamically typed. And that does not take into account all the fancy type stuff such as gradual typing, like in Gradualtalk, optional typing like Pegon (if I’m not mistaken). > Because if a language does no type checking nor type-based optimisations, for what purpose would it have type inference built into it? Documentation. Static types are a good form of documentation, when done right. :-) ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
5159 posts
|
In reply to this post by jfabry
Nicolas Passerini and Pablo Tesone are working on a type inferencer for
Pharo and this is exciting :) On 3/6/14 17:59, Johan Fabry wrote: > On Jun 3, 2014, at 4:57 AM, Yuriy Tymchuk <[hidden email]> wrote: > >> We have to do some type inference (for tools) some time. Should be fun. (by the way, is there something like that already?) > There has been some work done on type inference for Smalltalk, the RoelTyper example that I keep mentioning worked on Squeak and there was a version on VW that Roel and I looked at in Gent a couple of years ago, but we did not go that way. More recently there was a google summer of code project on concrete type inference for Pharo if I am not mistaken. > > > ---> Save our in-boxes! http://emailcharter.org <--- > > Johan Fabry - http://pleiad.cl/~jfabry > PLEIAD lab - Computer Science Department (DCC) - University of Chile > > > ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1774 posts
|
In reply to this post by camille teruel
On 03 Jun 2014, at 6:32 , Camille Teruel <[hidden email]> wrote:
... [show rest of quote] Inferred types have an often overlooked purpose that, IMHO, in dynamic languages, is their biggest benefit. That being, it can reduce the number of false positives in common development actions such as auto-complete, searching for implementors, etc. A pharo with built-in type inference would be no better. A pharo with built-in type inference, and tools utilizing it, would. It’s a bit of a shame that programmer productivity is a less favourable research area than optimization, when in that case, using the much cheaper type info from PIC’s instead, yield equivalent results. Cheers, Henry
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Administrator
5777 posts
|
In reply to this post by aglynn42
+1. Regardless of total size, uniformity is a huge win. There is simplicity in eliminating the context switching from writing code in a language, to configuring the build system in its own (maybe equally complex) language, then learning gdb or whatever... That they ultimately do the same thing if you consider the complex syntax of one along side the entire library of the other is a Turing tar pit argument.
Cheers,
Sean |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
360 posts
|
In reply to this post by Tudor Girba-2
+100 I love this playground. Will explore it sometime.. and see if I can participate first in building tools for use and then dive into its frameworks ..! To get started I will need to have a minimum of Oracle connection rather than PostGres .. to make it worthwhile as I play with it. Any heads up on that is nice..
On Tue, Jun 3, 2014 at 12:45 PM, Tudor Girba <[hidden email]> wrote:
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1053 posts
|
In reply to this post by Henrik Sperre Johansen
2014-06-04 11:33 GMT+02:00 Henrik Johansen <[hidden email]>:
... [show rest of quote] This is actually possible in Pharo.
If you compile the Cog VM with the Sista Cogit, you have then in addition the introspection primitive that returns branch and send data from native code methods. Now you cannot use these inferred types for tools. There are 3 main issues, one is that the VM answers you concrete types and not an abstract type, the second is that not all message sends have type information (the method may not be linked to a native code method, the message send may not have been used since the native code method has been compiled and megamorphic send sites have no type information) and the last issue is that the type inferred are common types, if you can use another type in an uncommon case you may not see it.
- you needs a type inferencer for tools. - you need type information from the inline caches for optimizations. And as proven in the early 90s type inferencer does not work well to optimize dynamic object oriented language and type-feedback does not work well for tools as I explained.
Clement
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
539 posts
|
In reply to this post by S Krish
I would like to help with the playground too. In several threads I have
argued about a tree/outliner like interface for organizing playgrounds and making exploratory computation and visual data narratives. In fact I have trying to understand how to build my own outliner from Moosee browsers, but I have hit a wall about the use of "display: children:" syntax for trees, but still no answer. Anyway playgrounds are a big improvement on user experience and I hope to help with them. Cheers, Offray On 06/04/2014 10:48 PM, S Krish wrote: > +100 > I love this playground. Will explore it sometime.. and see if I can participate > first in building tools for use and then dive into its frameworks ..! > To get started I will need to have a minimum of Oracle connection rather than > PostGres .. to make it worthwhile as I play with it. Any heads up on that is nice.. > > > On Tue, Jun 3, 2014 at 12:45 PM, Tudor Girba <[hidden email] > <mailto:[hidden email]>> wrote: > > Hi, > > The work on GToolkit goes in this direction. Funny enough, we also have a > Playground :). > > Look here for an example: > http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-with-the-gtinspector/ > > More will come in this direction. I happen to believe that this is the area > with the largest potential in Pharo, and it would be great to put more > effort around it. If people have an interest to participate, please just let > me know. > > Cheers, > Doru > > > > On Tue, Jun 3, 2014 at 9:02 AM, darrinm <[hidden email] > <mailto:[hidden email]>> wrote: > > Here's an example of the Playground in use: > https://developer.apple.com/library/prerelease/ios/recipes/xcode_help-source_editor/ExploringandEvaluatingSwiftCodeinaPlayground/ExploringandEvaluatingSwiftCodeinaPlayground.html#//apple_ref/doc/uid/TP40009975-CH26 > > > > > -- > View this message in context: > http://forum.world.st/Xcode-s-Swift-Playground-tp4761425p4761431.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> > > "Every thing has its own flow" > > ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
7411 posts
|
Hi, Sorry I could not reply earlier. I will search the other mails where you ask the question and address it. Cheers, Doru On Mon, Aug 4, 2014 at 11:59 PM, Offray Vladimir Luna Cárdenas <[hidden email]> wrote: I would like to help with the playground too. In several threads I have argued about a tree/outliner like interface for organizing playgrounds and making exploratory computation and visual data narratives. In fact I have trying to understand how to build my own outliner from Moosee browsers, but I have hit a wall about the use of "display: children:" syntax for trees, but still no answer. Anyway playgrounds are a big improvement on user experience and I hope to help with them. ... [show rest of quote] "Every thing has its own flow"
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
539 posts
|
Hi Doru,
I have seen your answer on the thread. I hope to make some test tonight and keep you posted. Thanks, Offray On 08/05/2014 12:13 AM, Tudor Girba wrote: > Hi, > > Sorry I could not reply earlier. I will search the other mails where you ask the > question and address it. > > Cheers, > Doru > > > > On Mon, Aug 4, 2014 at 11:59 PM, Offray Vladimir Luna Cárdenas > <[hidden email] <mailto:[hidden email]>> wrote: > > I would like to help with the playground too. In several threads I have > argued about a tree/outliner like interface for organizing playgrounds and > making exploratory computation and visual data narratives. In fact I have > trying to understand how to build my own outliner from Moosee browsers, but > I have hit a wall about the use of "display: children:" syntax for trees, > but still no answer. Anyway playgrounds are a big improvement on user > experience and I hope to help with them. > > Cheers, > > Offray > > > On 06/04/2014 10:48 PM, S Krish wrote: > > +100 > I love this playground. Will explore it sometime.. and see if I can > participate > first in building tools for use and then dive into its frameworks ..! > To get started I will need to have a minimum of Oracle connection rather > than > PostGres .. to make it worthwhile as I play with it. Any heads up on > that is nice.. > > > On Tue, Jun 3, 2014 at 12:45 PM, Tudor Girba <[hidden email] > <mailto:[hidden email]> > <mailto:[hidden email] <mailto:[hidden email]>>> wrote: > > Hi, > > The work on GToolkit goes in this direction. Funny enough, we also > have a > Playground :). > > Look here for an example: > http://www.humane-assessment.__com/blog/dynamic-exploration-__of-a-postgres-db-with-the-__gtinspector/ > <http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-with-the-gtinspector/> > > More will come in this direction. I happen to believe that this is > the area > with the largest potential in Pharo, and it would be great to put more > effort around it. If people have an interest to participate, > please just let > me know. > > Cheers, > Doru > > > > On Tue, Jun 3, 2014 at 9:02 AM, darrinm <[hidden email] > <mailto:[hidden email]> > <mailto:[hidden email] <mailto:[hidden email]>>> wrote: > > Here's an example of the Playground in use: > https://developer.apple.com/__library/prerelease/ios/__recipes/xcode_help-source___editor/__ExploringandEvaluatingSwiftCod__einaPlayground/__ExploringandEvaluatingSwiftCod__einaPlayground.html#//apple___ref/doc/uid/TP40009975-CH26 > <https://developer.apple.com/library/prerelease/ios/recipes/xcode_help-source_editor/ExploringandEvaluatingSwiftCodeinaPlayground/ExploringandEvaluatingSwiftCodeinaPlayground.html#//apple_ref/doc/uid/TP40009975-CH26> > > > > > -- > View this message in context: > http://forum.world.st/Xcode-s-__Swift-Playground-__tp4761425p4761431.html <http://forum.world.st/Xcode-s-Swift-Playground-tp4761425p4761431.html> > Sent from the Pharo Smalltalk Users mailing list archive at > Nabble.com. > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> <http://www.tudorgirba.com> > > > "Every thing has its own flow" > > > > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> > > "Every thing has its own flow" > ... [show rest of quote] |
Free forum by Nabble | Edit this page |