Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-18 Thread Ryan Newton
>
> HJScript is "OK", hpaste.org uses it here:
> https://github.com/chrisdone/amelie/blob/master/src/Amelie/View/Script.hs
> output here: http://hpaste.org/js/amelie.js
>
> Mini-summary of my experience: You're still stuck with JS semantics,
> and it can be a little odd when you confuse what level of code (JS or
> HS) you're working at, but at least it works right now and can be
> well-typed. The library needs a bit of an overhaul, the GADT of
> HJavaScript is simply flawed (take a brief look and you can see it can
> express totally invalid JS in the syntax tree and the pretty printer
> breaks operator/parens), but HJScript sorts the latter out, and I
> would make all HJScript's functions generic upon MonadJS or something,
>

It seems like the unavoidable fact is that HJScript is a library almost
without documentation and without examples/tests.  And for an EDSL that
would seem to be an especially big problem, almost, but not quite as bad as
being told to learn Haskell by being given a GHCI prompt and left to trial
and error.

I've been trying to generate the following line of code:

google.load("visualization", "1", {packages:["corechart"]});

I don't know JS, and my reverse engineering of this one line failed in two
places:

callVoidMethod "load" (string "visualization", string "1", JConst
"{packages:[\"corechart\"]}") (TopLvl "google")

First, there are classes like IsDeref and IsClass with no clear recipe for
how to create values and types satisfying them.  Hence "TopLvl", which is
my own introduced hack:

data TopLvl = TopLvl String
instance Show TopLvl where
  show (TopLvl s) = s
instance IsClass TopLvl

Second, I couldn't figure out how to generate a dictionary/record
expression such as {packages:"core chart"}.  It doesn't seem to be part of
the data model of the underlying HJavaScript package:


http://hackage.haskell.org/packages/archive/HJavaScript/0.4.7/doc/html/Language-HJavaScript-Syntax.html

Although it's probably possibly to build up that record in a variable
binding through some series of assignments, though I haven't found it yet...

What would help enormously, in addition to some documentation patches
[which I will try to provide if I use the library further], would be a
parser from JS concrete syntax to the HJavaScript AST.

Anyway, at this point it seems MUCH easier to just produce strings, which
is too bad.

  -Ryan
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-11 Thread Jurriën Stutterheim
The link I mentioned in my previous email contains pretty much all of the 
currently available public information about the UHC JS backend (the "Improving 
the UHC JavaScript Backend" report is already slightly outdated, due to an API 
change, though). My report also contains some ideas for future work where this 
idea is also briefly mentioned. In addition to that, I have a yet unpublished 
paper that is very relevant to the UHC JS backend, but I don't think I can make 
that public yet, hence the "contact me" part :)

Also, I have added it to the project list: 
http://hackage.haskell.org/trac/summer-of-code/ticket/1610


Jurriën

On 11 Mar 2012, at 11:55, Alejandro Serrano Mena wrote:

> That sound like a really cool project. Where could I get more information 
> about what could I do?
> You mention about contacting but I think it's better to keep the discussion 
> open for everybody.
> 
> Alejandro
> 
> 2012/3/11 Jurriën Stutterheim 
> While I might be a bit biased (I spent a good deal of time working on 
> improving the UHC JS backend), I think there are a lot of opportunities to 
> get Haskell as a client-side language via the UHC, as Heinrich suggested. 
> Alessandro Vermeulen recently wrote an entire front-end application using the 
> UHC JS backend, so we know that it's capable of producing working front-end 
> applications. See also[1].
> 
> Currently, however, it is still a bit of a pain to compile larger UHC JS 
> projects, since Cabal support for UHC's different backends is limited. This 
> could be one potential goal for your GSoC project: make it possible to type 
> `cabal configure && cabal build` and find a complete JS application in your 
> dist folder. This would go a long way to make the UHC JS backend more usable 
> and as a result, make Haskell a practical language to use for client-side 
> programming. In solving this problem, you will have to think about how to 
> deal with external Haskell libraries (UHC compiles JS from its internal core 
> representation, so storing pre-compiled object files won't work in this case) 
> and perhaps external JS libraries as well. You would also need to modify 
> Cabal so that it becomes possible to select a specific UHC backend in your 
> cabal files. Ideally, you will only need one cabal file for an entire web 
> application; for both the front-end and backend.
> 
> I think this would make a nice GSoC project. The scope of the above should be 
> about right, but if you would be done way ahead of time, there are plenty of 
> relevant related things you could work on (e.g., a UHC JS-specific Haskell 
> Platform-like package). If this sounds interesting to you, let me know and I 
> can send you some more detailed information about the UHC JS backend. As for 
> mentoring, I might be able to help out there, but since the above project 
> would revolve more around Cabal and not so much around the UHC internals, 
> there might be more suitable mentors out there.
> 
> 
> Jurriën
> 
> [1] http://uu-computerscience.github.com/uhc-js/
> 
> On 8 Mar 2012, at 14:58, Heinrich Apfelmus wrote:
> 
> > Chris Smith wrote:
> >> My first impression on this is that it seems a little vague, but
> >> possibly promising.
> >
> > My impression is also that this project proposal is rather vague. The 
> > general goal "Haskell as client-side language for websites" is clear and 
> > worthwhile, but I can't tell from the proposal whether the project will 
> > succeed or not, or, more importantly, *what* it will succeed at.
> >
> >
> > The way I see it is that a successful GSoC proposal has to embody four key 
> > points:
> >
> > 1. One specific goal - "I want to compile Haskell to JS via UHC's backend"
> > 2. in a larger context - "as a step towards Haskell as a client-side 
> > language for websites."
> > 3. that is accompanied by a successful example - "To demonstrate that this 
> > works, I will write a small Asteroids game with HTML5 and Haskell"
> > 4. and that others can build upon - "Moreover, I want to make it really 
> > easy for others to use the Haskell->JS compilation from cabal."
> >
> > The last point is extremely important: you don't want to build a hobbled 
> > prototype that languishes in a dark corner of github, you want to build a 
> > great software that changes the world by solving an important problem and 
> > making this solution really easy to use!
> >
> >
> > Alejandro, your proposal mentions several different specific goals, each of 
> > which can be the basis for a successful GSoC project:
> >
> > * Make UHC's Haskell->JS compilation easy to use.
> > * Design combinators for DOM manipulation in functional style, f.i. 
> > zippers. Note that this goal does *not* involve running Haskell on the 
> > client-side, the focus is solely on the design of combinators. This means 
> > that you'd have to use another example, for instance XML parsing. Of 
> > course, the idea is that this can be reused when someone else manages to 
> > run Haskell on the client.
> 

Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-11 Thread Alejandro Serrano Mena
That sound like a really cool project. Where could I get more information
about what could I do?
You mention about contacting but I think it's better to keep the discussion
open for everybody.

Alejandro

2012/3/11 Jurriën Stutterheim 

> While I might be a bit biased (I spent a good deal of time working on
> improving the UHC JS backend), I think there are a lot of opportunities to
> get Haskell as a client-side language via the UHC, as Heinrich suggested.
> Alessandro Vermeulen recently wrote an entire front-end application using
> the UHC JS backend, so we know that it's capable of producing working
> front-end applications. See also[1].
>
> Currently, however, it is still a bit of a pain to compile larger UHC JS
> projects, since Cabal support for UHC's different backends is limited. This
> could be one potential goal for your GSoC project: make it possible to type
> `cabal configure && cabal build` and find a complete JS application in your
> dist folder. This would go a long way to make the UHC JS backend more
> usable and as a result, make Haskell a practical language to use for
> client-side programming. In solving this problem, you will have to think
> about how to deal with external Haskell libraries (UHC compiles JS from its
> internal core representation, so storing pre-compiled object files won't
> work in this case) and perhaps external JS libraries as well. You would
> also need to modify Cabal so that it becomes possible to select a specific
> UHC backend in your cabal files. Ideally, you will only need one cabal file
> for an entire web application; for both the front-end and backend.
>
> I think this would make a nice GSoC project. The scope of the above should
> be about right, but if you would be done way ahead of time, there are
> plenty of relevant related things you could work on (e.g., a UHC
> JS-specific Haskell Platform-like package). If this sounds interesting to
> you, let me know and I can send you some more detailed information about
> the UHC JS backend. As for mentoring, I might be able to help out there,
> but since the above project would revolve more around Cabal and not so much
> around the UHC internals, there might be more suitable mentors out there.
>
>
> Jurriën
>
> [1] http://uu-computerscience.github.com/uhc-js/
>
> On 8 Mar 2012, at 14:58, Heinrich Apfelmus wrote:
>
> > Chris Smith wrote:
> >> My first impression on this is that it seems a little vague, but
> >> possibly promising.
> >
> > My impression is also that this project proposal is rather vague. The
> general goal "Haskell as client-side language for websites" is clear and
> worthwhile, but I can't tell from the proposal whether the project will
> succeed or not, or, more importantly, *what* it will succeed at.
> >
> >
> > The way I see it is that a successful GSoC proposal has to embody four
> key points:
> >
> > 1. One specific goal - "I want to compile Haskell to JS via UHC's
> backend"
> > 2. in a larger context - "as a step towards Haskell as a client-side
> language for websites."
> > 3. that is accompanied by a successful example - "To demonstrate that
> this works, I will write a small Asteroids game with HTML5 and Haskell"
> > 4. and that others can build upon - "Moreover, I want to make it really
> easy for others to use the Haskell->JS compilation from cabal."
> >
> > The last point is extremely important: you don't want to build a hobbled
> prototype that languishes in a dark corner of github, you want to build a
> great software that changes the world by solving an important problem and
> making this solution really easy to use!
> >
> >
> > Alejandro, your proposal mentions several different specific goals, each
> of which can be the basis for a successful GSoC project:
> >
> > * Make UHC's Haskell->JS compilation easy to use.
> > * Design combinators for DOM manipulation in functional style, f.i.
> zippers. Note that this goal does *not* involve running Haskell on the
> client-side, the focus is solely on the design of combinators. This means
> that you'd have to use another example, for instance XML parsing. Of
> course, the idea is that this can be reused when someone else manages to
> run Haskell on the client.
> > * Design combinators for "remote procedure calling" via HTTP/AJAX.
> Again, there is no Haskell running in the browser, the showcase would be
> two Haskell processes that communicate with each other via HTTP/AJAX.
> >
> > Each of these goals is a tangible improvement on the status quo and
> specific enough to be completed in a single GSoC project.
> >
> >
> > Of course, the one specific goal is not supposed to be a limit, it is
> meant to be a foundation. If there is time remaining, the student is free
> to work on whatever he dreams of. By all means, don't hesitate to reach for
> the sky, but help us climb to the tree top first.
> >
> >
> > Best regards,
> > Heinrich Apfelmus
> >
> > --
> > http://apfelmus.nfshost.com
> >
> >
> > ___

Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-11 Thread Heinrich Apfelmus

Jurriën Stutterheim wrote:

Currently, however, it is still a bit of a pain to compile larger UHC
JS projects, since Cabal support for UHC's different backends is
limited. This could be one potential goal for your GSoC project: make
it possible to type `cabal configure && cabal build` and find a
complete JS application in your dist folder. [..]

I think this would make a nice GSoC project. The scope of the above
should be about right, but if you would be done way ahead of time,
there are plenty of relevant related things you could work on (e.g.,
a UHC JS-specific Haskell Platform-like package). If this sounds
interesting to you, let me know and I can send you some more detailed
information about the UHC JS backend.. As for mentoring, I might be
able to help out there, but since the above project would revolve
more around Cabal and not so much around the UHC internals, there
might be more suitable mentors out there.


This sounds like a great GSoC project to me. Maybe you can add it to the 
list of project suggestions, Jurriën?


  http://hackage.haskell.org/trac/summer-of-code/report/1


Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-11 Thread Daniel Waterworth
+1, better cabal support for UHC's JS backend would be a big win.

Daniel

2012/3/11 Jurriën Stutterheim :
> While I might be a bit biased (I spent a good deal of time working on 
> improving the UHC JS backend), I think there are a lot of opportunities to 
> get Haskell as a client-side language via the UHC, as Heinrich suggested. 
> Alessandro Vermeulen recently wrote an entire front-end application using the 
> UHC JS backend, so we know that it's capable of producing working front-end 
> applications. See also[1].
>
> Currently, however, it is still a bit of a pain to compile larger UHC JS 
> projects, since Cabal support for UHC's different backends is limited. This 
> could be one potential goal for your GSoC project: make it possible to type 
> `cabal configure && cabal build` and find a complete JS application in your 
> dist folder. This would go a long way to make the UHC JS backend more usable 
> and as a result, make Haskell a practical language to use for client-side 
> programming. In solving this problem, you will have to think about how to 
> deal with external Haskell libraries (UHC compiles JS from its internal core 
> representation, so storing pre-compiled object files won't work in this case) 
> and perhaps external JS libraries as well. You would also need to modify 
> Cabal so that it becomes possible to select a specific UHC backend in your 
> cabal files. Ideally, you will only need one cabal file for an entire web 
> application; for both the front-end and backend.
>
> I think this would make a nice GSoC project. The scope of the above should be 
> about right, but if you would be done way ahead of time, there are plenty of 
> relevant related things you could work on (e.g., a UHC JS-specific Haskell 
> Platform-like package). If this sounds interesting to you, let me know and I 
> can send you some more detailed information about the UHC JS backend. As for 
> mentoring, I might be able to help out there, but since the above project 
> would revolve more around Cabal and not so much around the UHC internals, 
> there might be more suitable mentors out there.
>
>
> Jurriën
>
> [1] http://uu-computerscience.github.com/uhc-js/
>
> On 8 Mar 2012, at 14:58, Heinrich Apfelmus wrote:
>
>> Chris Smith wrote:
>>> My first impression on this is that it seems a little vague, but
>>> possibly promising.
>>
>> My impression is also that this project proposal is rather vague. The 
>> general goal "Haskell as client-side language for websites" is clear and 
>> worthwhile, but I can't tell from the proposal whether the project will 
>> succeed or not, or, more importantly, *what* it will succeed at.
>>
>>
>> The way I see it is that a successful GSoC proposal has to embody four key 
>> points:
>>
>> 1. One specific goal - "I want to compile Haskell to JS via UHC's backend"
>> 2. in a larger context - "as a step towards Haskell as a client-side 
>> language for websites."
>> 3. that is accompanied by a successful example - "To demonstrate that this 
>> works, I will write a small Asteroids game with HTML5 and Haskell"
>> 4. and that others can build upon - "Moreover, I want to make it really easy 
>> for others to use the Haskell->JS compilation from cabal."
>>
>> The last point is extremely important: you don't want to build a hobbled 
>> prototype that languishes in a dark corner of github, you want to build a 
>> great software that changes the world by solving an important problem and 
>> making this solution really easy to use!
>>
>>
>> Alejandro, your proposal mentions several different specific goals, each of 
>> which can be the basis for a successful GSoC project:
>>
>> * Make UHC's Haskell->JS compilation easy to use.
>> * Design combinators for DOM manipulation in functional style, f.i. zippers. 
>> Note that this goal does *not* involve running Haskell on the client-side, 
>> the focus is solely on the design of combinators. This means that you'd have 
>> to use another example, for instance XML parsing. Of course, the idea is 
>> that this can be reused when someone else manages to run Haskell on the 
>> client.
>> * Design combinators for "remote procedure calling" via HTTP/AJAX. Again, 
>> there is no Haskell running in the browser, the showcase would be two 
>> Haskell processes that communicate with each other via HTTP/AJAX.
>>
>> Each of these goals is a tangible improvement on the status quo and specific 
>> enough to be completed in a single GSoC project.
>>
>>
>> Of course, the one specific goal is not supposed to be a limit, it is meant 
>> to be a foundation. If there is time remaining, the student is free to work 
>> on whatever he dreams of. By all means, don't hesitate to reach for the sky, 
>> but help us climb to the tree top first.
>>
>>
>> Best regards,
>> Heinrich Apfelmus
>>
>> --
>> http://apfelmus.nfshost.com
>>
>>
>> ___
>> Haskell-Cafe mailing list
>> Haskell-Cafe@haskell.org
>> http://www.haskell.org/mailman/listinfo/

Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-10 Thread Jurriën Stutterheim
While I might be a bit biased (I spent a good deal of time working on improving 
the UHC JS backend), I think there are a lot of opportunities to get Haskell as 
a client-side language via the UHC, as Heinrich suggested. Alessandro Vermeulen 
recently wrote an entire front-end application using the UHC JS backend, so we 
know that it's capable of producing working front-end applications. See also[1].

Currently, however, it is still a bit of a pain to compile larger UHC JS 
projects, since Cabal support for UHC's different backends is limited. This 
could be one potential goal for your GSoC project: make it possible to type 
`cabal configure && cabal build` and find a complete JS application in your 
dist folder. This would go a long way to make the UHC JS backend more usable 
and as a result, make Haskell a practical language to use for client-side 
programming. In solving this problem, you will have to think about how to deal 
with external Haskell libraries (UHC compiles JS from its internal core 
representation, so storing pre-compiled object files won't work in this case) 
and perhaps external JS libraries as well. You would also need to modify Cabal 
so that it becomes possible to select a specific UHC backend in your cabal 
files. Ideally, you will only need one cabal file for an entire web 
application; for both the front-end and backend.

I think this would make a nice GSoC project. The scope of the above should be 
about right, but if you would be done way ahead of time, there are plenty of 
relevant related things you could work on (e.g., a UHC JS-specific Haskell 
Platform-like package). If this sounds interesting to you, let me know and I 
can send you some more detailed information about the UHC JS backend. As for 
mentoring, I might be able to help out there, but since the above project would 
revolve more around Cabal and not so much around the UHC internals, there might 
be more suitable mentors out there.


Jurriën

[1] http://uu-computerscience.github.com/uhc-js/

On 8 Mar 2012, at 14:58, Heinrich Apfelmus wrote:

> Chris Smith wrote:
>> My first impression on this is that it seems a little vague, but
>> possibly promising.
> 
> My impression is also that this project proposal is rather vague. The general 
> goal "Haskell as client-side language for websites" is clear and worthwhile, 
> but I can't tell from the proposal whether the project will succeed or not, 
> or, more importantly, *what* it will succeed at.
> 
> 
> The way I see it is that a successful GSoC proposal has to embody four key 
> points:
> 
> 1. One specific goal - "I want to compile Haskell to JS via UHC's backend"
> 2. in a larger context - "as a step towards Haskell as a client-side language 
> for websites."
> 3. that is accompanied by a successful example - "To demonstrate that this 
> works, I will write a small Asteroids game with HTML5 and Haskell"
> 4. and that others can build upon - "Moreover, I want to make it really easy 
> for others to use the Haskell->JS compilation from cabal."
> 
> The last point is extremely important: you don't want to build a hobbled 
> prototype that languishes in a dark corner of github, you want to build a 
> great software that changes the world by solving an important problem and 
> making this solution really easy to use!
> 
> 
> Alejandro, your proposal mentions several different specific goals, each of 
> which can be the basis for a successful GSoC project:
> 
> * Make UHC's Haskell->JS compilation easy to use.
> * Design combinators for DOM manipulation in functional style, f.i. zippers. 
> Note that this goal does *not* involve running Haskell on the client-side, 
> the focus is solely on the design of combinators. This means that you'd have 
> to use another example, for instance XML parsing. Of course, the idea is that 
> this can be reused when someone else manages to run Haskell on the client.
> * Design combinators for "remote procedure calling" via HTTP/AJAX. Again, 
> there is no Haskell running in the browser, the showcase would be two Haskell 
> processes that communicate with each other via HTTP/AJAX.
> 
> Each of these goals is a tangible improvement on the status quo and specific 
> enough to be completed in a single GSoC project.
> 
> 
> Of course, the one specific goal is not supposed to be a limit, it is meant 
> to be a foundation. If there is time remaining, the student is free to work 
> on whatever he dreams of. By all means, don't hesitate to reach for the sky, 
> but help us climb to the tree top first.
> 
> 
> Best regards,
> Heinrich Apfelmus
> 
> --
> http://apfelmus.nfshost.com
> 
> 
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-08 Thread Heinrich Apfelmus

Chris Smith wrote:

My first impression on this is that it seems a little vague, but
possibly promising.


My impression is also that this project proposal is rather vague. The 
general goal "Haskell as client-side language for websites" is clear and 
worthwhile, but I can't tell from the proposal whether the project will 
succeed or not, or, more importantly, *what* it will succeed at.



The way I see it is that a successful GSoC proposal has to embody four 
key points:


1. One specific goal - "I want to compile Haskell to JS via UHC's backend"
2. in a larger context - "as a step towards Haskell as a client-side 
language for websites."
3. that is accompanied by a successful example - "To demonstrate that 
this works, I will write a small Asteroids game with HTML5 and Haskell"
4. and that others can build upon - "Moreover, I want to make it really 
easy for others to use the Haskell->JS compilation from cabal."


The last point is extremely important: you don't want to build a hobbled 
prototype that languishes in a dark corner of github, you want to build 
a great software that changes the world by solving an important problem 
and making this solution really easy to use!



Alejandro, your proposal mentions several different specific goals, each 
of which can be the basis for a successful GSoC project:


* Make UHC's Haskell->JS compilation easy to use.
* Design combinators for DOM manipulation in functional style, f.i. 
zippers. Note that this goal does *not* involve running Haskell on the 
client-side, the focus is solely on the design of combinators. This 
means that you'd have to use another example, for instance XML parsing. 
Of course, the idea is that this can be reused when someone else manages 
to run Haskell on the client.
* Design combinators for "remote procedure calling" via HTTP/AJAX. 
Again, there is no Haskell running in the browser, the showcase would be 
two Haskell processes that communicate with each other via HTTP/AJAX.


Each of these goals is a tangible improvement on the status quo and 
specific enough to be completed in a single GSoC project.



Of course, the one specific goal is not supposed to be a limit, it is 
meant to be a foundation. If there is time remaining, the student is 
free to work on whatever he dreams of. By all means, don't hesitate to 
reach for the sky, but help us climb to the tree top first.



Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-07 Thread Greg Weber
On Wed, Mar 7, 2012 at 11:47 AM, Alejandro Serrano Mena
 wrote:
> I agree with you that maybe this proposal is vague for a GSoC, but I don't
> think that websockets is a good option either, because not all browsers
> support them.

We already have a websockets library, but like you say it is not very
useful by itself because it may not be supported in all browsers. The
GSoC proposal is to create a library that will use appropriate
fallbacks on all browsers, which is how websockets are normally used.

>
>
> 2012/3/7 Greg Weber 
>>
>> This is obviously a great concept. However, it may not be appropriate
>> for a GSoC. The design space is far too open, and it is not clear if
>> anything in that space will end up beating plain old javascript.
>>
>> I think my proposal for an awesome websockets library [1] shows that
>> this is putting the cart before the horse. For some of the potential
>> javascript solutions, websockets is a dependency anyways. Without
>> being able to hold open a connection to the server, required server
>> interaction will be too slow.
>> Yesod has been successful by explicitly avoiding any new radical
>> paradigms, but by instead just trying to get the basics of web
>> development established correctly. Without websockets, we don't have
>> the basics down for fluid client-side interaction.
>> The groundwork for this ticket has been laid: it should be easy to
>> accomplish with time left over.
>> So we are guaranteed a clear win for the community. With the time left
>> over, a solution to the javascript problem can be attempted. But there
>> is no burden for it to be solved within the summer. Next year the
>> landscape will be more mature and we can try to come up with a solid
>> proposal for the javscript problem if the community hasn't already
>> created a solution.
>>
>> [1] http://hackage.haskell.org/trac/summer-of-code/ticket/1607
>
>

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-07 Thread Alejandro Serrano Mena
I agree with you that maybe this proposal is vague for a GSoC, but I don't
think that websockets is a good option either, because not all browsers
support them. Indeed, web development has gone a long way without contant
communication with the server and I think Haskell should support this way
of working too.

My idea would rather go on the direction of using stablished Haskell
concepts to web development. Some ideas are:
- use an applicative interface like the one of Yesod for forms validation
and sending
- see the DOM via a Zipper interface, so widgets will "anchor" themselves
in some point of the tree and change things around them
- use FRP for Canvas interaction
- ...

Actually, thinking which Haskell concepts could behave well with
client-side development is an interesting discussion by its own :)


2012/3/7 Greg Weber 

> This is obviously a great concept. However, it may not be appropriate
> for a GSoC. The design space is far too open, and it is not clear if
> anything in that space will end up beating plain old javascript.
>
> I think my proposal for an awesome websockets library [1] shows that
> this is putting the cart before the horse. For some of the potential
> javascript solutions, websockets is a dependency anyways. Without
> being able to hold open a connection to the server, required server
> interaction will be too slow.
> Yesod has been successful by explicitly avoiding any new radical
> paradigms, but by instead just trying to get the basics of web
> development established correctly. Without websockets, we don't have
> the basics down for fluid client-side interaction.
> The groundwork for this ticket has been laid: it should be easy to
> accomplish with time left over.
> So we are guaranteed a clear win for the community. With the time left
> over, a solution to the javascript problem can be attempted. But there
> is no burden for it to be solved within the summer. Next year the
> landscape will be more mature and we can try to come up with a solid
> proposal for the javscript problem if the community hasn't already
> created a solution.
>
> [1] http://hackage.haskell.org/trac/summer-of-code/ticket/1607
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-07 Thread Greg Weber
This is obviously a great concept. However, it may not be appropriate
for a GSoC. The design space is far too open, and it is not clear if
anything in that space will end up beating plain old javascript.

I think my proposal for an awesome websockets library [1] shows that
this is putting the cart before the horse. For some of the potential
javascript solutions, websockets is a dependency anyways. Without
being able to hold open a connection to the server, required server
interaction will be too slow.
Yesod has been successful by explicitly avoiding any new radical
paradigms, but by instead just trying to get the basics of web
development established correctly. Without websockets, we don't have
the basics down for fluid client-side interaction.
The groundwork for this ticket has been laid: it should be easy to
accomplish with time left over.
So we are guaranteed a clear win for the community. With the time left
over, a solution to the javascript problem can be attempted. But there
is no burden for it to be solved within the summer. Next year the
landscape will be more mature and we can try to come up with a solid
proposal for the javscript problem if the community hasn't already
created a solution.

[1] http://hackage.haskell.org/trac/summer-of-code/ticket/1607

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-07 Thread Michael Snoyman
Doesn't sound overused to me. FWIW, one of the ideas floating around
in my head is exactly what you're describing.

On Wed, Mar 7, 2012 at 2:41 PM, JP Moresmau  wrote:
> Maybe I'll sound like an overused meme, but what about JQuery? JQuery
> already takes a combinator-like approach to Javascript and DOM
> manipulations, so maybe we could have a combinator library that would
> mimic the JQuery library. We'd obviously need some extra combinators
> for the required parts of Javascript and HTML generation that are not
> done via JQuery.
>
> JP
>
> On Tue, Mar 6, 2012 at 11:10 PM, Alejandro Serrano Mena
>  wrote:
>> My idea would be reusing some of the already-available tools for compiling
>> Haskell to JS (for example, UHC), and develop with any of them a complete
>> library for client-side scripting; rather that redevelop a way to compile
>> Haskell to JS.
>>
>> I think it's really a pity not being able to use things like what Yesod
>> provides in a client-side context. And both sides would benefit: they can
>> share common code for datatypes (as it's done in Google Web Toolkit), and
>> autogenerate some code for sending or receiving AJAX requests, for example.
>>
>>
>> 2012/3/6 Michael Snoyman 
>>>
>>> On Tue, Mar 6, 2012 at 11:40 PM, Alejandro Serrano Mena
>>>  wrote:
>>> > Hi,
>>> > I'm really looking forward to helping in the Summer of Code, if Haskell
>>> > goes
>>> > into it this year (something I take for granted :). I would like to
>>> > propose
>>> > an idea for a project, and I'm looking for suggestions about whether
>>> > it's
>>> > good, should be improved or it's just unfeasible.
>>> >
>>> > My idea is to make a client-side Haskell Web Toolkit, in the spirit of
>>> > Google Web Toolkit, which would allow to program in Haskell the client
>>> > part
>>> > of a web application, and would complement the web frameworks already
>>> > existing for Haskell (such as Yesod and Snap). The point is coming about
>>> > with a Haskell-ish way to program applications, to reuse all the
>>> > existing
>>> > knowledge for our beloved language.
>>> >
>>> > I've added more details in a pre-proposal in Google Docs, available
>>> >
>>> > in https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit
>>> > Tell me if you prefer to see it in other format, but I didn't want to
>>> > generate a bigger e-mail.
>>> >
>>> > Thanks in advance.
>>>
>>> I definitely think the idea has merit. In general I'm wary of
>>> solutions which try to compile down to Javascript[1], and I'm not sure
>>> if actually providing a full Haskell-to-JS approach is a good idea.
>>> Another possibility might be a DSL/combinator library for generating
>>> JS. Though at this point, I wouldn't rule out either approach.
>>>
>>> Yesod is currently wrapping up its 1.0 release (almost certainly
>>> out-the-door by the end of April), and after that our main focus is
>>> intended to be client-side integration, so we would certainly be happy
>>> to discuss design ideas and collaborate in general.
>>>
>>> Michael
>>>
>>> [1] I say "compile down to" to mean nontrivial changes, as opposed to
>>> something like Coffeescript, which is a fairly simple conversion.
>>
>>
>>
>> ___
>> Haskell-Cafe mailing list
>> Haskell-Cafe@haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
>
>
> --
> JP Moresmau
> http://jpmoresmau.blogspot.com/

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-07 Thread JP Moresmau
Maybe I'll sound like an overused meme, but what about JQuery? JQuery
already takes a combinator-like approach to Javascript and DOM
manipulations, so maybe we could have a combinator library that would
mimic the JQuery library. We'd obviously need some extra combinators
for the required parts of Javascript and HTML generation that are not
done via JQuery.

JP

On Tue, Mar 6, 2012 at 11:10 PM, Alejandro Serrano Mena
 wrote:
> My idea would be reusing some of the already-available tools for compiling
> Haskell to JS (for example, UHC), and develop with any of them a complete
> library for client-side scripting; rather that redevelop a way to compile
> Haskell to JS.
>
> I think it's really a pity not being able to use things like what Yesod
> provides in a client-side context. And both sides would benefit: they can
> share common code for datatypes (as it's done in Google Web Toolkit), and
> autogenerate some code for sending or receiving AJAX requests, for example.
>
>
> 2012/3/6 Michael Snoyman 
>>
>> On Tue, Mar 6, 2012 at 11:40 PM, Alejandro Serrano Mena
>>  wrote:
>> > Hi,
>> > I'm really looking forward to helping in the Summer of Code, if Haskell
>> > goes
>> > into it this year (something I take for granted :). I would like to
>> > propose
>> > an idea for a project, and I'm looking for suggestions about whether
>> > it's
>> > good, should be improved or it's just unfeasible.
>> >
>> > My idea is to make a client-side Haskell Web Toolkit, in the spirit of
>> > Google Web Toolkit, which would allow to program in Haskell the client
>> > part
>> > of a web application, and would complement the web frameworks already
>> > existing for Haskell (such as Yesod and Snap). The point is coming about
>> > with a Haskell-ish way to program applications, to reuse all the
>> > existing
>> > knowledge for our beloved language.
>> >
>> > I've added more details in a pre-proposal in Google Docs, available
>> >
>> > in https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit
>> > Tell me if you prefer to see it in other format, but I didn't want to
>> > generate a bigger e-mail.
>> >
>> > Thanks in advance.
>>
>> I definitely think the idea has merit. In general I'm wary of
>> solutions which try to compile down to Javascript[1], and I'm not sure
>> if actually providing a full Haskell-to-JS approach is a good idea.
>> Another possibility might be a DSL/combinator library for generating
>> JS. Though at this point, I wouldn't rule out either approach.
>>
>> Yesod is currently wrapping up its 1.0 release (almost certainly
>> out-the-door by the end of April), and after that our main focus is
>> intended to be client-side integration, so we would certainly be happy
>> to discuss design ideas and collaborate in general.
>>
>> Michael
>>
>> [1] I say "compile down to" to mean nontrivial changes, as opposed to
>> something like Coffeescript, which is a fairly simple conversion.
>
>
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



-- 
JP Moresmau
http://jpmoresmau.blogspot.com/

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-07 Thread Dimitry Golubovsky
Hi,

Alejandro Serrano Mena wrote:

> My idea is to make a client-side Haskell Web Toolkit, in the spirit of
> Google Web Toolkit, which would allow to program in Haskell the client part
> of a web application, and would complement the web frameworks already
> existing for Haskell (such as Yesod and Snap).

http://www.haskell.org/haskellwiki/Haskell_web_toolkit - In memoriam ;)

Feel free to use these ideas. It would be nice if you could pick it up
and complete - I never did...

-- 
Dimitry Golubovsky

Anywhere on the Web

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Christopher Done
On 7 March 2012 06:14, Bardur Arantsson  wrote:
> We get the output
>
>> function (param0_0){var var_1 = true;return var_1;}(3);
>
> But this is invalid syntax in JavaScript, and should really be
>
>> (function (param0_0){var var_1 = true;return var_1;})(3);

Right, that's one of the ones I picked up in HJavascript. Didn't
realise (or remember) it was present in HJScript, supposing that it
had its own pretty printer. Other stuff like this is present in the
HJavascript GADT.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Bardur Arantsson

On 03/06/2012 11:38 PM, Christopher Done wrote:

I might as well chime in on this thread as it is relevant to my
interests. I made a write up on a comparison of HJScript (JavaScript
EDSL) and my Ji (control browser from Haskell) library:
https://github.com/chrisdone/ji

HJScript is "OK", hpaste.org uses it here:
https://github.com/chrisdone/amelie/blob/master/src/Amelie/View/Script.hs
output here: http://hpaste.org/js/amelie.js



HJScript (0.5.0) generates invalid Javascript if you try to use 
anonymous functions.


(Digs through email archives... Ah, yes:)

 snip 
Given

> testJS :: HJScript ()
> testJS = do
>   f <- function (\(e :: JInt) -> do
> x <- inVar true
> return $ x)
>   callProc f (int 3)
>   return ()
>
> main :: IO ()
> main = do
>   putStrLn $ "JS: " ++ (show $ evalHJScript $ testJS)

We get the output

> function (param0_0){var var_1 = true;return var_1;}(3);

But this is invalid syntax in JavaScript, and should really be

> (function (param0_0){var var_1 = true;return var_1;})(3);

... which works.

 snip 

Just something to be aware of.

(For my particular usage it was also too strictly typed, but that's 
another matter.)


Regards,


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Christopher Done
I might as well chime in on this thread as it is relevant to my
interests. I made a write up on a comparison of HJScript (JavaScript
EDSL) and my Ji (control browser from Haskell) library:
https://github.com/chrisdone/ji

HJScript is "OK", hpaste.org uses it here:
https://github.com/chrisdone/amelie/blob/master/src/Amelie/View/Script.hs
output here: http://hpaste.org/js/amelie.js

Mini-summary of my experience: You're still stuck with JS semantics,
and it can be a little odd when you confuse what level of code (JS or
HS) you're working at, but at least it works right now and can be
well-typed. The library needs a bit of an overhaul, the GADT of
HJavaScript is simply flawed (take a brief look and you can see it can
express totally invalid JS in the syntax tree and the pretty printer
breaks operator/parens), but HJScript sorts the latter out, and I
would make all HJScript's functions generic upon MonadJS or something,
if you want a reader transformer or whatnot (i.e. to carry around some
state, a JS "object"), it breaks down with any higher-order
combinators taking actions as arguments. I also had some problems
making things generic AND type-accurate, but I don't recall them well
enough now. Problems aside, At Least It's Partially Well Typed.

I tried UHC out recently, made a little API for the canvas tag and
drew some pretty things. Had a little trouble with timers, though… the
callback for the timer /worked/, but the alert[1] printed the same
thing every time, as if the thunk forcing is somehow broken. I looked
at the outputted code but couldn't quite grok what was wrong with it.
Didn't get more time to investigate why. It may just be my code but it
looks sound to me, though I'm mostly winging it with the HTML5 part.

Anyway, look forward to watching ideas and work in this area.

Ciao!

[1]:

module Main where

import Control.Monad
import Language.UHC.JScript.Assorted
import Language.UHC.JScript.W3C.HTML5
import Language.UHC.JScript.ECMA.String
import Language.UHC.JScript.ECMA.Date
import Language.UHC.JScript.Types
import Language.UHC.JScript.Primitives
import Data.IORef

main = do
  doc <- document
  bodies <- documentGetElementsByTagName doc (toJS "canvas")
  body <- nodeListItem bodies 0
  ctx <- getContext body "2d"
  setFillStyle ctx "rgb(200,0,0)"
  start <- newIORef 0
  setInterval 1000 $ do
st <- readIORef start
forM_ [st..st+30] $ \i -> do
  let ir = fromIntegral i
  fillRect ctx (20 + 10*round (sin ir)) (i*10) 2 2
writeIORef start (st + 1)
alert (show st)
  return ()

In HTML5.hs:

data Timer

foreign import jscript "setInterval(%*)"
  _setInterval :: FunPtr (IO ()) -> Int -> IO Timer

foreign import jscript "wrapper"
  makeIntervalCallback :: IO () -> IO (FunPtr (IO ()))

setInterval delay haskellCallback = do
  jsCallback <- makeIntervalCallback haskellCallback
  _setInterval jsCallback delay

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Michael Snoyman
My issue isn't that you'd need to develop a new set of tools. I just
think that using a library approach would allow us to generate more
comprehensible code. Hopefully, we could still reuse datatypes, and do
lots of other fun stuff. For example, if we used aeson's
ToJSON/FromJSON instances for serialization, and some kind of lens
library in place of normal record selectors, there's no reason why
would couldn't automatically convert:

personName person

to

person.name

I know I'm saying a lot of vague stuff here, simply because I haven't
had a chance to really solidify my ideas on how to move forward on it.
But I'm certainly not ruling out any possibilities at this point,
simply stating a preference to avoid a full-blown Haskell-to-JS
solution.

Michael

On Wed, Mar 7, 2012 at 12:10 AM, Alejandro Serrano Mena
 wrote:
> My idea would be reusing some of the already-available tools for compiling
> Haskell to JS (for example, UHC), and develop with any of them a complete
> library for client-side scripting; rather that redevelop a way to compile
> Haskell to JS.
>
> I think it's really a pity not being able to use things like what Yesod
> provides in a client-side context. And both sides would benefit: they can
> share common code for datatypes (as it's done in Google Web Toolkit), and
> autogenerate some code for sending or receiving AJAX requests, for example.
>
>
> 2012/3/6 Michael Snoyman 
>>
>> On Tue, Mar 6, 2012 at 11:40 PM, Alejandro Serrano Mena
>>  wrote:
>> > Hi,
>> > I'm really looking forward to helping in the Summer of Code, if Haskell
>> > goes
>> > into it this year (something I take for granted :). I would like to
>> > propose
>> > an idea for a project, and I'm looking for suggestions about whether
>> > it's
>> > good, should be improved or it's just unfeasible.
>> >
>> > My idea is to make a client-side Haskell Web Toolkit, in the spirit of
>> > Google Web Toolkit, which would allow to program in Haskell the client
>> > part
>> > of a web application, and would complement the web frameworks already
>> > existing for Haskell (such as Yesod and Snap). The point is coming about
>> > with a Haskell-ish way to program applications, to reuse all the
>> > existing
>> > knowledge for our beloved language.
>> >
>> > I've added more details in a pre-proposal in Google Docs, available
>> >
>> > in https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit
>> > Tell me if you prefer to see it in other format, but I didn't want to
>> > generate a bigger e-mail.
>> >
>> > Thanks in advance.
>>
>> I definitely think the idea has merit. In general I'm wary of
>> solutions which try to compile down to Javascript[1], and I'm not sure
>> if actually providing a full Haskell-to-JS approach is a good idea.
>> Another possibility might be a DSL/combinator library for generating
>> JS. Though at this point, I wouldn't rule out either approach.
>>
>> Yesod is currently wrapping up its 1.0 release (almost certainly
>> out-the-door by the end of April), and after that our main focus is
>> intended to be client-side integration, so we would certainly be happy
>> to discuss design ideas and collaborate in general.
>>
>> Michael
>>
>> [1] I say "compile down to" to mean nontrivial changes, as opposed to
>> something like Coffeescript, which is a fairly simple conversion.
>
>

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Chris Smith
My first impression on this is that it seems a little vague, but
possibly promising.

I'd make it clearer that you plan to contribute to the existing UHC
stuff.  A first glance left me with the impression that you wanted to
re-implement a JavaScript back end, which would of course be a
non-starter as a GSoC project.  Since the actual proposal is to work
on the build system and libraries surrounding the existing UHC back
end, I'd maybe suggest revising the proposal to be clearer about that,
and more specific about what parts of the current UHC compiler, build
system, and libraries you propose working on.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Alejandro Serrano Mena
My idea would be reusing some of the already-available tools for compiling
Haskell to JS (for example, UHC), and develop with any of them a complete
library for client-side scripting; rather that redevelop a way to compile
Haskell to JS.

I think it's really a pity not being able to use things like what Yesod
provides in a client-side context. And both sides would benefit: they can
share common code for datatypes (as it's done in Google Web Toolkit), and
autogenerate some code for sending or receiving AJAX requests, for example.


2012/3/6 Michael Snoyman 

> On Tue, Mar 6, 2012 at 11:40 PM, Alejandro Serrano Mena
>  wrote:
> > Hi,
> > I'm really looking forward to helping in the Summer of Code, if Haskell
> goes
> > into it this year (something I take for granted :). I would like to
> propose
> > an idea for a project, and I'm looking for suggestions about whether it's
> > good, should be improved or it's just unfeasible.
> >
> > My idea is to make a client-side Haskell Web Toolkit, in the spirit of
> > Google Web Toolkit, which would allow to program in Haskell the client
> part
> > of a web application, and would complement the web frameworks already
> > existing for Haskell (such as Yesod and Snap). The point is coming about
> > with a Haskell-ish way to program applications, to reuse all the existing
> > knowledge for our beloved language.
> >
> > I've added more details in a pre-proposal in Google Docs, available
> > in
> https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit
> > Tell me if you prefer to see it in other format, but I didn't want to
> > generate a bigger e-mail.
> >
> > Thanks in advance.
>
> I definitely think the idea has merit. In general I'm wary of
> solutions which try to compile down to Javascript[1], and I'm not sure
> if actually providing a full Haskell-to-JS approach is a good idea.
> Another possibility might be a DSL/combinator library for generating
> JS. Though at this point, I wouldn't rule out either approach.
>
> Yesod is currently wrapping up its 1.0 release (almost certainly
> out-the-door by the end of April), and after that our main focus is
> intended to be client-side integration, so we would certainly be happy
> to discuss design ideas and collaborate in general.
>
> Michael
>
> [1] I say "compile down to" to mean nontrivial changes, as opposed to
> something like Coffeescript, which is a fairly simple conversion.
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Michael Snoyman
On Tue, Mar 6, 2012 at 11:40 PM, Alejandro Serrano Mena
 wrote:
> Hi,
> I'm really looking forward to helping in the Summer of Code, if Haskell goes
> into it this year (something I take for granted :). I would like to propose
> an idea for a project, and I'm looking for suggestions about whether it's
> good, should be improved or it's just unfeasible.
>
> My idea is to make a client-side Haskell Web Toolkit, in the spirit of
> Google Web Toolkit, which would allow to program in Haskell the client part
> of a web application, and would complement the web frameworks already
> existing for Haskell (such as Yesod and Snap). The point is coming about
> with a Haskell-ish way to program applications, to reuse all the existing
> knowledge for our beloved language.
>
> I've added more details in a pre-proposal in Google Docs, available
> in https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit
> Tell me if you prefer to see it in other format, but I didn't want to
> generate a bigger e-mail.
>
> Thanks in advance.

I definitely think the idea has merit. In general I'm wary of
solutions which try to compile down to Javascript[1], and I'm not sure
if actually providing a full Haskell-to-JS approach is a good idea.
Another possibility might be a DSL/combinator library for generating
JS. Though at this point, I wouldn't rule out either approach.

Yesod is currently wrapping up its 1.0 release (almost certainly
out-the-door by the end of April), and after that our main focus is
intended to be client-side integration, so we would certainly be happy
to discuss design ideas and collaborate in general.

Michael

[1] I say "compile down to" to mean nontrivial changes, as opposed to
something like Coffeescript, which is a fairly simple conversion.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Summer of Code idea: Haskell Web Toolkit

2012-03-06 Thread Alejandro Serrano Mena
Hi,
I'm really looking forward to helping in the Summer of Code, if Haskell
goes into it this year (something I take for granted :). I would like to
propose an idea for a project, and I'm looking for suggestions about
whether it's good, should be improved or it's just unfeasible.

My idea is to make a client-side Haskell Web Toolkit, in the spirit of
Google Web Toolkit, which would allow to program in Haskell the client part
of a web application, and would complement the web frameworks already
existing for Haskell (such as Yesod and Snap). The point is coming about
with a Haskell-ish way to program applications, to reuse all the existing
knowledge for our beloved language.

I've added more details in a pre-proposal in Google Docs, available in
https://docs.google.com/document/d/1FnTNO9uTobDHRTDXWurKns7vGTjeauw0nRhbtt6vavs/edit
Tell me if you prefer to see it in other format, but I didn't want to
generate a bigger e-mail.

Thanks in advance.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe