Learning to help

66 views
Skip to first unread message

corbinu

unread,
Jun 9, 2014, 7:05:22 PM6/9/14
to ceylo...@googlegroups.com
Hello all,

I have some extra time this summer now that I am not bogged down with school. I would be very interested in some guidance on how to learn ANTLR and how to make some deeper changes in Ceylon. 

My primary goals would be to help with with https://github.com/ceylon/ceylon-spec/issues/700

but would also like to help out with the JS compiler as well.

My biggest stoping point is trying to understanding how the different repos interconnect (where to make changes first basically) and ANTLR

Any help would be much appreciated.

Corbin

Gavin King

unread,
Jun 10, 2014, 2:26:17 PM6/10/14
to ceylo...@googlegroups.com
On Tue, Jun 10, 2014 at 1:05 AM, corbinu <cor...@openswimsoftware.com> wrote:
> Hello all,
>
> I have some extra time this summer now that I am not bogged down with
> school. I would be very interested in some guidance on how to learn ANTLR
> and how to make some deeper changes in Ceylon.

Well, Corbin, ANTLR isn't hard and you can easily just follow the many
example rules in the existing grammar. It's essentially just BNF.

> My primary goals would be to help with with
> https://github.com/ceylon/ceylon-spec/issues/700

I'm not sure why you would need to change the grammar for #700. All
the needed grammar changes were already done...

> but would also like to help out with the JS compiler as well.

That would be awesome, I'm sure Enrique would appreciate the help.

> My biggest stoping point is trying to understanding how the different repos
> interconnect (where to make changes first basically) and ANTLR

Well ceylon-js depends on ceylon.language and ceylon-spec. Of course
the actual build process is pretty involved because of the
"boostrapping" problem we have with ceylon.language.



--
Gavin King
ga...@ceylon-lang.org
http://profiles.google.com/gavin.king
http://ceylon-lang.org
http://hibernate.org
http://seamframework.org

Corbin Uselton

unread,
Jun 10, 2014, 2:31:25 PM6/10/14
to ceylo...@googlegroups.com
Thanks much and ok good to know I don't need to look at ANTLR for that.

I will try to make a basic stab at #700 am figuring will probably do it wrong the first time but being corrected is a great way to learn.

Corbin


--
You received this message because you are subscribed to a topic in the Google Groups "ceylon-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ceylon-dev/zhV733xhGaU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-dev.
For more options, visit https://groups.google.com/d/optout.


Gavin King

unread,
Jun 10, 2014, 2:33:48 PM6/10/14
to ceylo...@googlegroups.com
Note that most of the work for #700 is in making changes to the
typechecker to implement special rules for things that subtype
Dynamic. P.S. I'm not sure if it should be an interface or an
annotation.

Hell, we could even make it a new kind of declaration:

dynamic Foo {
shared formal void bar();
}

Since "dynamic UppercaseIdentifier" is not currently used.

Corbin Uselton

unread,
Jun 10, 2014, 2:41:14 PM6/10/14
to ceylo...@googlegroups.com
Well what ever you think is best. That does seem the most consistent with what has been done so far with as dynamic would basicly just be a keyword that suspends typing at each level Interface, block and value. 

Seems like that is better then having a "Dynamic" interface at the one level and then "dynamic" at the block statement and value levels.


Gavin King

unread,
Jun 10, 2014, 2:42:39 PM6/10/14
to ceylo...@googlegroups.com
What I was thinking.
> You received this message because you are subscribed to the Google Groups
> "ceylon-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ceylon-dev+...@googlegroups.com.
> To post to this group, send email to ceylo...@googlegroups.com.
> Visit this group at http://groups.google.com/group/ceylon-dev.
> For more options, visit https://groups.google.com/d/optout.



Corbin Uselton

unread,
Jun 10, 2014, 2:52:08 PM6/10/14
to ceylo...@googlegroups.com
I think its unique syntax also makes it clear that is outside the normal type system. That it is like Classes, Interfaces and Annotations in that it is a distinct methaphor that needs to be understood before it is used. 

That way hopefully most will understand that in its use they are making their code optionally typed and are taking on the responsibly of ensuring that the interfaces they define are correct. 

I do also belive that it won't be two hard to write a script that can generate the relevant Celyon interfaces from JavaScript 6 classes and modules now their design has been approved.

Gavin King

unread,
Jun 10, 2014, 5:12:47 PM6/10/14
to ceylo...@googlegroups.com
Y'know what: I can implement the typechecker part of this in like 15
mins, so I might as well go ahead and just do it. Then you can work on
the more interesting stuff.

On Tue, Jun 10, 2014 at 8:52 PM, Corbin Uselton

Enrique

unread,
Jun 11, 2014, 10:51:12 PM6/11/14
to ceylo...@googlegroups.com
Your help will be most welcome!

My daily work in the ceylon-js project, as far as repo management goes, only involves ceylon-js and ceylon.language. The other repos I keep up to date but usually the cycle is:

- pull everything
- work on something
- build dist
- push ceylon-js and/or ceylon.language

Right now I'm working on making the language module JS codebase more manageable, today I pushed a README to the runtime-js dir of ceylon.language. ANTLR is really for the typechecker, you don't need to use it directly if you work with the compilers.

corbinu

unread,
Jun 11, 2014, 10:55:35 PM6/11/14
to ceylo...@googlegroups.com
Thanks of course am just happy I finally have time to help again. I will pull and make sure to take a look at the README

Corbin
Reply all
Reply to author
Forward
0 new messages