[elm-discuss] Is type inference in Elm fully decideable?

2017-02-10 Thread 'Rupert Smith' via Elm Discuss
For my undergraduate project (20+ years ago), I implemented a language called Ob<: (or ObSub) from "A Theory of Objects" by Abadi and Cardelli. This language is related to the functional language F<: (functional calculus with sub-typing), which is somewhat related to F#. My project supervisor w

[elm-discuss] Is there a way to subscribe to page scroll events?

2017-02-10 Thread 'Rupert Smith' via Elm Discuss
I could use Dom.Scroll to get the y-offset of the body (http://package.elm-lang.org/packages/elm-lang/dom/1.1.1/Dom-Scroll), using its 'x' and 'y' tasks. The trouble is I don't know when the body may have been scrolled since this is a task and not a subscription. Is a subscription for this avai

[elm-discuss] Re: Is there a way to subscribe to page scroll events?

2017-02-10 Thread 'Rupert Smith' via Elm Discuss
On Friday, February 10, 2017 at 12:58:21 PM UTC, Rupert Smith wrote: > > I could use Dom.Scroll to get the y-offset of the body ( > http://package.elm-lang.org/packages/elm-lang/dom/1.1.1/Dom-Scroll), > using its 'x' and 'y' tasks. The trouble is I don't know when the body may > have been scrolle

Re: [elm-discuss] Is type inference in Elm fully decideable?

2017-02-10 Thread Joey Eremondi
Here's the paper you're looking for: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/scopedlabels.pdf I believe it's fully decidable. Elm is basically Damas Milner plus these records, so it stays decidable. It's usually called row polymorphism, and isn't really subtyping, alth

[elm-discuss] Re: Is type inference in Elm fully decideable?

2017-02-10 Thread OvermindDL1
I'm not certain as I've not looked in the compiler, but based on how it works it seems to me that Elm's partial records in functions is a form of row-typing on traditional Hindley-Milner types. On Friday, February 10, 2017 at 5:30:22 AM UTC-7, Rupert Smith wrote: > > For my undergraduate projec

Re: [elm-discuss] Is type inference in Elm fully decideable?

2017-02-10 Thread 'Rupert Smith' via Elm Discuss
On Friday, February 10, 2017 at 3:10:57 PM UTC, Joey Eremondi wrote: > > It's usually called row polymorphism, and isn't really subtyping, although > you get something like subtyping if you combine it with existential types, > which would lose decidability. > Yes, Ob<: had existential types. It

Re: [elm-discuss] Is type inference in Elm fully decideable?

2017-02-10 Thread Joey Eremondi
So, Elm lets you do a forall over the rest of a record. {a | x : Int} -> Int says this function accepts any record that has an x Int field. The problem is when you want a list of them. List {a | x : Int} only lets you make a list of records with the same type filling in for a. With existential t

[elm-discuss] Re: Is there a way to subscribe to page scroll events?

2017-02-10 Thread Scott Mueller
Here's code for an onScroll function that can be used just like an Html.Events.onClick. Basically, you can always use a Decoder with Html.Events.on to listen to HTML events this way: type alias ScrollEvent = { scrollHeight : Int , scrollPos : Int , visibleHeight : Int } onScroll : (Scro

[elm-discuss] Re: Seeking feedback: What Elm and Rust teach us about the future

2017-02-10 Thread Kasey Speakman
Largest paint point for me in Elm is not mentioned: JSON. Rust appears to have adequate facilities for this (Serde). Otherwise, looks good. It was interesting to learn more about Rust and the intersection of features with Elm. On Wednesday, February 8, 2017 at 2:22:11 AM UTC-6, Martin Cerny wro

[elm-discuss] Re: Seeking feedback: What Elm and Rust teach us about the future

2017-02-10 Thread OvermindDL1
That is just because Rust has a fairly powerful (but incomplete) macro system, that is not something that would really belong in Elm. ^.^ On Friday, February 10, 2017 at 11:19:49 AM UTC-7, Kasey Speakman wrote: > > Largest paint point for me in Elm is not mentioned: JSON. Rust appears to > have

Re: [elm-discuss] Re: Seeking feedback: What Elm and Rust teach us about the future

2017-02-10 Thread Duane Johnson
I haven't seen it said explicitly, but is it expected that any "fairly powerful macro" type system would be implemented outside of / around Elm? Or anything "meta", really. It seems like Elm eschews power for simplicity, so maybe the recommended solution is to use external tools, e.g. code generat