Status Report - 20 September 2016

950 views
Skip to first unread message

Evan Czaplicki

unread,
Sep 20, 2016, 8:41:25 PM9/20/16
to elm-dev
elm-conf was a few days ago, and it was really nice! Great talks and met tons of folks I recognized from Twitter and GitHub avatars!


Error Messages

On the flight back, I decided to work on assuming that type annotations are correct. Planes are great for this kind of project! In the end, I made a couple improvements:
  • The type annotations are trusted. So if you say argument x is an Int but use it as a Float, you see the error at the usage of x. My final comment on this and this show how this helps.
  • Bad record access gets nicer messages. See this for an example of trusting type annotations and then providing the nicer record access message.
  • Type aliases are used more often, and type variables are preserved better. Often when you make a mistake with HTML, you will see an error about (VirtualDom.Node a) which can be confusing. With the recent changes, it will talk about (Html msg) instead. See an example here.
This is actually in addition to some fixes I made a while ago:
  • Detecting too few arguments like this.
  • More precise record mismatch errors like this.

Thoughts on 0.18

At elm-conf, I was telling Pete about how much more work there was to get code swapping working in the debugger addition to import/export, and he suggested "what if you did not do it right now?" Same advice I always gave during his internship! More stuff can be done in later releases, so don't get caught up in 90 changes at the same time.

Given that feedback and the progress on error messages, here is my current plan. Work on releasing 0.18 with the following improvements:
  • Better type error messages.
  • The --debug flag for import/export.
  • Fixing the caching bug with elm-make build artifacts.
This means server-side rendering and code swapping would be pushed to a future release. This is nice because:
  1. It's actually feasible to do a release sometime soon. These things are all done, just need to be polished for release.
  2. I can focus more on making the bumped features really great on their own. I also feel I could use some case studies that'll come with more time.
  3. We will end up with release announcements that are more focused and clear. I was kind of dreading making the narrative of 0.18 when it was going to have so much in it. Now it's pretty clear. Import/export is the headline, and error messages are even better!


Mark Hamburg

unread,
Sep 20, 2016, 10:46:30 PM9/20/16
to elm...@googlegroups.com
And there was much rejoicing!

Mark

--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAF7GuPG%3DB87sfqh1kfikDiM_nYBvd3rpe5vxHwHNM9agL3SmBQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Richard Feldman

unread,
Sep 20, 2016, 11:08:19 PM9/20/16
to elm-dev
Awesome! :D :D :D

Michael Hanson

unread,
Sep 21, 2016, 9:13:39 AM9/21/16
to elm-dev
Sounds great, Evan!

Evan Czaplicki

unread,
Sep 21, 2016, 1:53:01 PM9/21/16
to elm-dev
Oh, I forgot to mention, as part of the type error improvements, I finally made it possible to share type variables between nested type annotations. Sort of a niche feature, but nice that it works as expected now!

On Wed, Sep 21, 2016 at 6:13 AM, Michael Hanson <michael....@gmail.com> wrote:
Sounds great, Evan!

--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.

Francesco Orsenigo

unread,
Sep 22, 2016, 12:19:53 AM9/22/16
to elm-dev
Great stuff.
Really looking forward to the time travelling debugger.

Jeff Schomay

unread,
Sep 22, 2016, 1:07:25 PM9/22/16
to elm-dev
Sweet. The type variable improvements you mentioned will be an immense help to the most confusing compile issues I faced in my narrative engine. Good call, thanks!
Message has been deleted

Joey Eremondi

unread,
Sep 22, 2016, 1:32:08 PM9/22/16
to elm-dev
To check, the type variable change is basically doing what -XScopedTypeVariables does in Haskell?

It's the one extension most people wish Haskell had by default, so I think we're going to make them jealous!

On Thu, Sep 22, 2016 at 10:07 AM, Jeff Schomay <jsch...@gmail.com> wrote:
Sweet. The type variable improvements you mentioned will be an immense help to the most confusing compile issues I faced in my narrative engine. Good call, thanks!

--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.

Evan Czaplicki

unread,
Sep 22, 2016, 2:07:31 PM9/22/16
to elm-dev
Joey, yep, same thing :)

Noah Hall

unread,
Sep 22, 2016, 3:46:23 PM9/22/16
to elm...@googlegroups.com
Nice! This is a very exciting change. Definitely a good way to go with
0.18, looking forward

On Thu, Sep 22, 2016 at 8:07 PM, Evan Czaplicki <eva...@gmail.com> wrote:
> Joey, yep, same thing :)
>
> On Thu, Sep 22, 2016 at 10:32 AM, Joey Eremondi <joey.e...@gmail.com>
> wrote:
>>
>> To check, the type variable change is basically doing what
>> -XScopedTypeVariables does in Haskell?
>>
>> It's the one extension most people wish Haskell had by default, so I think
>> we're going to make them jealous!
>>
>> On Thu, Sep 22, 2016 at 10:07 AM, Jeff Schomay <jsch...@gmail.com> wrote:
>>>
>>> Sweet. The type variable improvements you mentioned will be an immense
>>> help to the most confusing compile issues I faced in my narrative engine.
>>> Good call, thanks!
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "elm-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to elm-dev+u...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/elm-dev/7a46d051-eff2-45a0-a01b-d245200475ca%40googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "elm-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to elm-dev+u...@googlegroups.com.
> --
> You received this message because you are subscribed to the Google Groups
> "elm-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elm-dev+u...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elm-dev/CAF7GuPHEVd7wftsJYy4ivbNOHA3x4ZHe7n_Oc2cMDjAh3NNaSQ%40mail.gmail.com.

Diego Aviles

unread,
Sep 23, 2016, 4:33:31 AM9/23/16
to elm-dev
I'm sort of new here, at least commenting. But this is exciting stuff!
Cheers from Karlsruhe. 

Dave Thomas

unread,
Sep 24, 2016, 2:03:40 PM9/24/16
to elm-dev
I was really looking forward to server-side rendering mainly for optimising SEO stuff etc, but these changes are really exciting too! :-)

Xananax

unread,
Sep 26, 2016, 11:32:16 AM9/26/16
to elm-dev
Hello, in the elm-conf talk, you say you "don't like" server side rendering as it is implemented now...The mystery and vagueness surrounding this statement was funny, but it left me wondering, what it is that's really a problem, if it seems to work? What's bugging you? If you have the time to answer, of course, it's not important at all

Gábor Varga

unread,
Oct 4, 2016, 4:02:09 PM10/4/16
to elm-dev
This is really great stuff, I can hardly wait, it will help so much!
Reply all
Reply to author
Forward
0 new messages