Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

- and + behave inconsistently #2329

Open
Golden-Phy opened this issue May 26, 2024 · 2 comments
Open

- and + behave inconsistently #2329

Golden-Phy opened this issue May 26, 2024 · 2 comments

Comments

@Golden-Phy
Copy link

Quick Summary: Miss-formatting of an infix subtraction can lead to an interesting phenomena, where the first operand is interpreted as a function and the second as an argument, leading to the compiler saying that a number doesn't take that many arguments. Doing the same with + works fine though.
My assumption is that - is treated as unary operator, something that the + operator apparently doesn't support.

SSCCE

module Main exposing (..)

import Browser
import Html exposing (Html, div, text)

-- MAIN
main =
  Browser.sandbox { init = init, update = update, view = view }

-- UPDATE
update : () -> Model -> Model
update _ model =
  model

-- MODEL
type alias Model = ()

init : Model
init = ()

-- VIEW
view : Model -> Html ()
view model =
    div [] [text (String.fromInt(1 -1))]
--    div [] [text (String.fromInt(1 - 1))]
--    div [] [text (String.fromInt(1 +1))]
-- Example illustrating the interpretation of the compiler (at least for me)
--    div [] [text (String.fromInt(1 -1 * 2))]
  • Elm: Playground on https://elm-lang.org/try as of 26/5/2024
  • Browser: Mozilla Firefox for Fedora 123.0 (64)
  • Operating System: Fedora 39

Additional Details

Compiler output:

TOO MANY ARGS
Jump to problem
This value is not a function, but it was given 1 argument.

24|     div [] [text (String.fromInt(1 -1))]

                                     ^
Are there any missing commas? Or missing parentheses?
Copy link

Thanks for reporting this! To set expectations:

  • Issues are reviewed in batches, so it can take some time to get a response.
  • Ask questions in a community forum. You will get an answer quicker that way!
  • If you experience something similar, open a new issue. We like duplicates.

Finally, please be patient with the core team. They are trying their best with limited resources.

@nopria
Copy link

nopria commented Jun 5, 2024

I was thinking about adopting ELM for a project but the fact that issues like this one are not likely to be solved any time soon leads me to look for an alternative.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants