Google Summer of Code 2013

434 views
Skip to first unread message

Sega Able

unread,
Mar 31, 2013, 4:54:16 AM3/31/13
to fsharp-o...@googlegroups.com
Hi community,

As you know, there's gsoc coming this summer and I want to ask you what tasks would be better to pick up for summer project?

Thank you,
Ihor.

Don Syme

unread,
Mar 31, 2013, 6:40:01 AM3/31/13
to fsharp-o...@googlegroups.com

 I'd really encourage the community to think about this.


Ihor's GSOC project last year contributed a lot to the F# binding for MonoDevelop (and now Xamarin Studio).

 

Kind regards

Don

 

 


From: fsharp-o...@googlegroups.com [fsharp-o...@googlegroups.com] on behalf of Sega Able [segam...@gmail.com]
Sent: 31 March 2013 10:54
To: fsharp-o...@googlegroups.com
Subject: Google Summer of Code 2013

--
--
You received this message because you are subscribed to the Google
Groups "FSharp Open Source Community" group.
To post to this group, send email to fsharp-o...@googlegroups.com
To unsubscribe from this group, send email to
fsharp-opensou...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/fsharp-opensource?hl=en
 
---
You received this message because you are subscribed to the Google Groups "FSharp Open Source Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fsharp-opensou...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Dave Thomas

unread,
Mar 31, 2013, 10:29:38 AM3/31/13
to fsharp-o...@googlegroups.com
I would say tooling, adding more facilities to make our F# lives easier, tooling parity of similar quality and features to C#.  Whether that be VS addins or XS addins.  

Sega Able

unread,
Apr 9, 2013, 2:32:44 PM4/9/13
to fsharp-o...@googlegroups.com
what about more use of NRefactory?


2013/3/31 Dave Thomas <kukulca...@gmail.com>

Sega Able

unread,
Apr 9, 2013, 2:42:40 PM4/9/13
to fsharp-o...@googlegroups.com
Say ICSharpCode.FSharp.dll


2013/4/9 Sega Able <segam...@gmail.com>

7sharp9

unread,
Apr 9, 2013, 2:44:38 PM4/9/13
to fsharp-o...@googlegroups.com
I think that would be a pretty big project, we already have a AST in the F# compiler, maybe an adapter could be formed relatively easily but Im not so sure though.  
 
I did try and spark interest in doing this in the F# community but I got 0 replies, so at the moment theres just me and Mike Kruger interested in doing this, with both of us with very little time.

Even if this is done it does not facilitate any direct tooling, in fact additional tooling ca be done without nrefactory entirely.  The thing it does give us is traceability into other language, which would be just C# in Xamarin Studio.

Ryan Riley

unread,
Apr 9, 2013, 8:52:36 PM4/9/13
to fsharp-o...@googlegroups.com
Great work on last year's project!

One of the most oft-discussed items I've seen is improvement around F# Interactive and the F# compiler.

F# Interactive
I've got a spike trying to make an alternate compiler build. Several people have various versions of FsiRunner (see also tryfs) scattered across a number of projects. Anton has been working on adding new bits to FAKE and IntelliFactory.Build to try to rival scriptcs. Mathias and I also talked about getting a F# Interactive build to run in a Windows Store App. That would be really exciting!

F# Compiler
Dave has been talking about a need for a compiler service that could take source code and return an assembly. Anton has a list of cleanup items that would allow the compiler to run much faster. Some of those might also be required for certain hosting (in-app or partial trust) scenarios.

I see a clear need with a lot of opportunity for getting good requirements and feedback with real apps. This is also a pile of work and would need to be itemized with priorities.

Regards,
Ryan


--

Don Syme

unread,
Apr 10, 2013, 12:27:57 PM4/10/13
to fsharp-o...@googlegroups.com, Glenn Block

I saw Glenn Block tweet that Scriptcs has been re-architected to allow independence from Roslyn, so the back-end can be either Mono’s compilation infra-structure or Roslyn.

 

If so, it might be interesting to have an F# backend for this, based on FSharp.Compiler.dll (after creating a suitable Roslyn/Mono-like hosting API).

 

Glenn may be able to give more details.

 

Don

Robin Neatherway

unread,
Apr 11, 2013, 6:54:33 AM4/11/13
to fsharp-o...@googlegroups.com
My position on NRefactory for F# is that it is a big project, and
there are many easier wins out there. I agree with Dave that tooling
is the best way to get people excited.

* I think there is still plenty to do on the editor side (particularly
Emacs, although Monodevelop should really be the focus).
* Compiler improvements and compiler as a service would be great.
* Smoothing the FSI workflow would also be very useful. For example,
Anton was working on adding support for referencing NuGet packages.

Robin

Sega Able

unread,
Apr 12, 2013, 7:58:27 AM4/12/13
to fsharp-o...@googlegroups.com
What needs to be done in editor? 
What kind of compiler improvements? Also, I am excited around F# backend for Roslyn and I feel it's going to be a big project, isn't it? Should I include improving FSI workflow as well?  

Ihor.

Dave Thomas

unread,
Apr 12, 2013, 8:05:07 AM4/12/13
to fsharp-o...@googlegroups.com
Do you mean a 'Roslyn like' backend or an actual Rosyln backend?

There are a million and one things to do in the editor, just look at what the C# IDE can do in Xamarin Studio to see the feature deficit. 


--

Ryan Riley

unread,
Apr 12, 2013, 9:40:56 AM4/12/13
to fsharp-o...@googlegroups.com
I don't think an F# backend for Roslyn is possible as it's closed source and still only a CTP. F# already has a written-in-F# compiler, so I think the goal there would be to provide similar features as to what Roslyn offers. As Don mentioned, FSharp.Compiler already exposes a lot of this, especially through SimpleServices.fs.

If you take on this project, you would need to update SimpleServices.fs to expose more of the features Roslyn provides and expose the currently Silverlight-only FSI runner through all FSharp.Compiler assemblies. For the latter, you might need to weave back through and yank the dependency on the console, passing in the stream instead.

@Don, was there a reason for leaving the console dependency, even after modifying the compiler for the Silverlight inclusion of Interactive in FSharp.Compiler.Silverlight?

The rest of SimpleServices would relate to exposing more of the Roslyn-like features to help with future IDE enhancements. I think in either case (IDE or compiler) you will need to do some compiler enhancements. The FSI stuff should be pretty easy to include since 1) many people have already laid some groundwork and 2) it's already exposed for Silverlight, so you should be able to leverage that work.

The trick now is finding out if all this effort could be rolled back into the "official" F# compiler.

Ryan


--

Sega Able

unread,
Apr 15, 2013, 10:40:26 AM4/15/13
to fsharp-o...@googlegroups.com
I think I'll take this to the proposal. That would be valuable. How do you think, should I take on Android/iOS development with F#? @Don, what need to be done here? What features we have there? 


2013/4/12 Ryan Riley <ryan....@panesofglass.org>

7sharp9

unread,
Apr 22, 2013, 3:53:30 AM4/22/13
to fsharp-o...@googlegroups.com
IOS and Android development pretty much complete as far as Xamarin are concerned.

The next step on this is would be IDE integration so GUI projects are possible.  In fact they are possible now but its programmatic approach which is always a painful compared with the designer driven one.

Since a new iOS designer was showcased at Xamarin Evolve I am waiting for information from them as well as the bugs ti be ironed out of their beta release before proceeding on that myself.  

Sega Able

unread,
Apr 25, 2013, 5:11:53 PM4/25/13
to fsharp-o...@googlegroups.com
Here are some features I consider to include and I want to ask some
questions for each of them as well as guidance if possible:
1. Presenting a type signature when attempting to jump to definition
of external code
Would the tooltips be acceptable to show to user a type signature?
Where is 'go to definition' related code reside? What are the issues
of going to external code?

2. Automatically resolving missing references
How can we go through all the project references and look for
appropriate type in each of them?

3. Offering skeleton implementations of interface methods.
Should we go through dom and look for method(s) signature and in case
of fail offer a user to imlement method(s) ?

Also, I haven't decided yet which of these two to pick up: Xamarin\iOS
development integration with Xamarin Studio or improving colorization.

Thanks in advance,
Ihor.

2013/4/22 7sharp9 <kukulca...@gmail.com>:

7sharp9

unread,
Apr 26, 2013, 5:54:53 PM4/26/13
to fsharp-o...@googlegroups.com
Incidentally this feature would be an excellent candidate:   https://github.com/fsharp/fsharpbinding/issues/135

7sharp9

unread,
Apr 26, 2013, 6:03:38 PM4/26/13
to fsharp-o...@googlegroups.com
Answers inline:

1. Presenting a type signature when attempting to jump to definition
of external code
Would the tooltips be acceptable to show to user a type signature?
Where is 'go to definition' related code reside? What are the issues
of going to external code?

I dont understand why you would want to display a type signature, goto definition is already implemented in MonoDevelop CMD D on a mac. 

2. Automatically resolving missing references
How can we go through all the project references and look for
appropriate type in each of them?

You have can get list of references loaded in the project, I think an important first step would be to look through these then you could 'open' the namespace.  If you are wanting to find a potential reference that is not in the project then you would have to either trawl xmldoc for potential matches, load assemblies under another app domain or use Cecil to find them.
 
3. Offering skeleton implementations of interface methods.
Should we go through dom and look for method(s) signature and in case
of fail offer a user to imlement method(s) ? 

I think hooking into the autocomplete code would be most appropriate, if you modify the parser to activate autocomplete after interface is types then you would have the type information at that point.  Adding default implementations could just be as simple as of throwing a not implemented exception.
 

Also, I haven't decided yet which of these two to pick up: Xamarin\iOS
development integration with Xamarin Studio or improving colorization.

What do you mean by iOS development integration? 

Robin Neatherway

unread,
Apr 26, 2013, 6:46:38 PM4/26/13
to fsharp-o...@googlegroups.com
On Fri, Apr 26, 2013 at 11:03 PM, 7sharp9 <kukulca...@gmail.com> wrote:
> Answers inline:
>
>> 1. Presenting a type signature when attempting to jump to definition
>> of external code
>> Would the tooltips be acceptable to show to user a type signature?
>> Where is 'go to definition' related code reside? What are the issues
>> of going to external code?
>
>
> I dont understand why you would want to display a type signature, goto
> definition is already implemented in MonoDevelop CMD D on a mac.

I think the idea here is if you try to jump to the definition of
something you don't have source code for.

7sharp9

unread,
Apr 26, 2013, 6:52:42 PM4/26/13
to fsharp-o...@googlegroups.com, robin.ne...@gmail.com
Ah, then it should behave as it does in C#, change the view to the assembly browser.

Robin Neatherway

unread,
Apr 26, 2013, 6:56:08 PM4/26/13
to fsharp-o...@googlegroups.com
Ah right, that makes sense.

On Fri, Apr 26, 2013 at 11:52 PM, 7sharp9 <kukulca...@gmail.com> wrote:
> Ah, then it should behave as it does in C#, change the view to the assembly
> browser.
>

Jon Harrop

unread,
Apr 28, 2013, 1:19:53 PM4/28/13
to fsharp-o...@googlegroups.com

Ø  I am excited around F# backend for Roslyn

 

Why?

 

The top tools I’d like are:

 

1.       Type throwback on subexpressions as well as identifiers. When I have a type error partway through a pipeline I need to know the inferred type of the pipeline up to that point but Visual Studio cannot give me that without having to refactor my code to introduce unnecessary identifiers by hand.

2.       Ability to visualize the dependencies between types, functions and modules.

3.       Visual Studio often tells me that I’m missing a reference to an assembly that it needs when it could add the reference itself.

 

Cheers,

Jon.

 

From: fsharp-o...@googlegroups.com [mailto:fsharp-o...@googlegroups.com] On Behalf Of Sega Able
Sent: 12 April 2013 12:58
To: fsharp-o...@googlegroups.com
Subject: Re: Google Summer of Code 2013

 

What needs to be done in editor? 

What kind of compiler improvements? Also, I am excited around F# backend for Roslyn and I feel it's going to be a big project, isn't it? Should I include improving FSI workflow as well?  

 

Ihor.

--

7sharp9

unread,
May 7, 2013, 4:49:08 PM5/7/13
to fsharp-o...@googlegroups.com
So have all the GSOC projects been clarified now?

Sega Able

unread,
May 16, 2013, 5:33:59 PM5/16/13
to fsharp-o...@googlegroups.com
Yes

2013/5/7 7sharp9 <kukulca...@gmail.com>:
> So have all the GSOC projects been clarified now?
>

Dave Thomas

unread,
May 16, 2013, 5:54:18 PM5/16/13
to fsharp-o...@googlegroups.com
Hopefully some of the existing bugs will be fixed before any new features are added to the F# binding.
Reply all
Reply to author
Forward
0 new messages