deadfoxygrandpa / Elm.tmLanguage

Elm language syntax highlighting and tool integration for ST2/3
https://packagecontrol.io/packages/Elm%20Language%20Support
MIT License
122 stars 27 forks source link

Elm format not always working #73

Closed deadfoxygrandpa closed 8 years ago

deadfoxygrandpa commented 8 years ago

@rtfeldman has reported some strangeness with elm format not working depending on how he opens Sublime Text.

I don't know the cause of this yet, but I'd like to track the issue here. Next step for me is to add debug logging in a version that gets sent to Richard.

deadfoxygrandpa commented 8 years ago

@rtfeldman If you change the Elm Language Support user setting "debug": true then you can help me find out what's going on here.

After turning on the debug setting, if you reproduce the bug with elm-format not working, can you try opening up the Sublime Text console and tell me what you see? There should be a line that says something like

[Elm says]: (elm-format) <some stuff here>
errors: <some stuff here>
rtfeldman commented 8 years ago
startup, version: 3083 osx x64 channel: stable
executable: /Applications/Sublime Text.app/Contents/MacOS/Sublime Text
working dir: /
packages path: /Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages
state path: /Users/rtfeldman/Library/Application Support/Sublime Text 3/Local
zip path: /Applications/Sublime Text.app/Contents/MacOS/Packages
zip path: /Users/rtfeldman/Library/Application Support/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.401399
using gpu buffer for window
using gpu buffer for window
using gpu buffer for window
using gpu buffer for window
using gpu buffer for window
using gpu buffer for window
using gpu buffer for window
startup time: 0.520313
first paint time: 0.619566
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin 0_package_control_loader.00-package_control
reloading plugin 0_package_control_loader.01-pygments
reloading plugin 0_package_control_loader.02-bz2
reloading plugin 0_package_control_loader.50-pyyaml
reloading plugin AAAPackageDev.AAA
[AAAPackageDev] Added /Users/rtfeldman/Library/Application Support/Sublime Text 3/Installed Packages/AAAPackageDev.sublime-package/Lib to sys.path.
[AAAPackageDev] Added /Users/rtfeldman/Library/Application Support/Sublime Text 3/Installed Packages/AAAPackageDev.sublime-package/Lib/_py3 to sys.path.
reloading plugin AAAPackageDev.build_sys_dev
reloading plugin AAAPackageDev.commands_file_dev
reloading plugin AAAPackageDev.completions_dev
reloading plugin AAAPackageDev.file_conversion
reloading plugin AAAPackageDev.scope_data
reloading plugin AAAPackageDev.settings_dev
reloading plugin AAAPackageDev.snippet_dev
reloading plugin AAAPackageDev.sublime_inspect
reloading plugin AAAPackageDev.syntax_def_dev
reloading plugin AdvancedNewFile.AdvancedNewFile
reloading plugin Alignment.Alignment
reloading plugin AlignTab.aligner
reloading plugin AlignTab.aligntab
reloading plugin AlignTab.hist
reloading plugin AlignTab.parser
reloading plugin AlignTab.table
reloading plugin AlignTab.wclen
reloading plugin Better CoffeeScript.CoffeeScript
reloading plugin Git.commands
reloading plugin Highlight Build Errors.HighlightBuildErrors
reloading plugin Markdown Preview.helper
reloading plugin Markdown Preview.markdown_settings
reloading plugin Markdown Preview.markdown_wrapper
reloading plugin Markdown Preview.MarkdownPreview
reloading plugin Package Control.1_reloader
reloading plugin Package Control.2_bootstrap
reloading plugin Package Control.Package Control
reloading plugin PackageResourceViewer.package_resource_viewer
reloading plugin PackageResourceViewer.package_resources
reloading plugin Ruby Markers.ruby_markers
reloading plugin Schemr.schemr
reloading plugin SCSS.scss_completions
reloading plugin SmartMarkdown.headline
reloading plugin SmartMarkdown.headline_level
reloading plugin SmartMarkdown.headline_move
reloading plugin SmartMarkdown.pandoc_render
reloading plugin SmartMarkdown.smart_folding
reloading plugin SmartMarkdown.smart_list
reloading plugin SmartMarkdown.smart_table
reloading plugin SmartMarkdown.table
reloading plugin SmartMarkdown.utilities
reloading plugin Surround.Surround
reloading plugin Trailing Punctuation.trailing_punctuation
reloading plugin VAlign.valign
reloading plugin Vintageous.__init__
reloading plugin Vintageous.dev_cmds
reloading plugin Vintageous.ex_commands
reloading plugin Vintageous.ex_main
reloading plugin Vintageous.ex_motions
reloading plugin Vintageous.jump_list_cmds
reloading plugin Vintageous.modelines
reloading plugin Vintageous.state
reloading plugin Vintageous.test_runner
reloading plugin Vintageous.xactions
reloading plugin Vintageous.xmotions
reloading plugin Vintageous.xsupport
reloading plugin Vintageous.xsupport_mouse
reloading plugin Git.add
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.add'
reloading plugin Git.annotate
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.annotate'
reloading plugin Git.commit
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.commit'
reloading plugin Git.diff
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.diff'
reloading plugin Git.flow
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.flow'
reloading plugin Git.git
reloading plugin Git.history
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.history'
reloading plugin Git.repo
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.repo'
reloading plugin Git.stash
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.stash'
reloading plugin Git.status
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.status'
reloading plugin Git.statusbar
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.statusbar'
reloading plugin Elm Language Support.elm_format
reloading plugin Elm Language Support.elm_generate
reloading plugin Elm Language Support.elm_make
reloading plugin Elm Language Support.elm_open_in_browser
reloading plugin Elm Language Support.elm_plugin
reloading plugin Elm Language Support.elm_project
reloading plugin Elm Language Support.elm_show_type
reloading plugin SublimeREPL.__init__
reloading plugin SublimeREPL.completions
reloading plugin SublimeREPL.lang_integration
reloading plugin SublimeREPL.run_existing_command
reloading plugin SublimeREPL.sublimerepl
reloading plugin SublimeREPL.sublimerepl_build_system_hack
reloading plugin SublimeREPL.text_transfer
plugins loaded
Package Control: Skipping automatic upgrade, last run at 2016-01-15 00:01:24, next run at 2016-01-15 01:01:24 or after
[Elm says]: (elm-oracle) b'' 
errors: b'/bin/sh: elm-oracle: command not found'
[Elm says]: (elm-format) b'' 
errors: b'/bin/sh: elm-format: command not found'
[Elm says]: (elm-oracle) b'' 
errors: b'/bin/sh: elm-oracle: command not found'
[Elm says]: (elm-oracle) b'' 
errors: b'/bin/sh: elm-oracle: command not found'
rtfeldman commented 8 years ago

...then if I close everything and reopen with subl . then the elm-format command palette command works, although since the most recent time I upgraded, "elm-format on Save" hasn't been working. :cry:

deadfoxygrandpa commented 8 years ago

Well, it's saying the elm-oracle and elm-format commands are not found. What is the difference when you open it with subl .?

rtfeldman commented 8 years ago

When I open with subl . it finds them:

[Elm says]: (elm-format) b'Processing file /Users/rtfeldman/code/elm-css/src/Css.elm' 
errors: b''
[Elm says]: (elm-oracle) b'[{"name":"Mailbox","fullName":"Signal.Mailbox","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#Mailbox","signature":"{ address : Signal.Address a, signal : Signal.Signal a }","comment":" A `Mailbox` is a communication hub. It is made up of\\n\\n  * an `Address` that you can send messages to\\n  * a `Signal` of messages sent to the mailbox\\n"},{"name":"constant","fullName":"Signal.constant","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#constant","signature":"a -> Signal.Signal a","comment":" Create a signal that never changes. This can be useful if you need\\nto pass a combination of signals and normal values to a function:\\n\\n    map3 view Window.dimensions Mouse.position (constant initialModel)\\n"},{"name":"dropRepeats","fullName":"Signal.dropRepeats","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#dropRepeats","signature":"Signal.Signal a -> Signal.Signal a","comment":" Drop updates that repeat the current value of the signal.\\n\\n    numbers : Signal Int\\n\\n    noDups : Signal Int\\n    noDups =\\n        dropRepeats numbers\\n\\n    --  numbers => 0 0 3 3 5 5 5 4 ...\\n    --  noDups  => 0   3   5     4 ...\\n\\nThe signal should not be a signal of functions, or a record that contains a\\nfunction (you\'ll get a runtime error since functions cannot be equated).\\n"},{"name":"filter","fullName":"Signal.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#filter","signature":"(a -> Bool) -> a -> Signal.Signal a -> Signal.Signal a","comment":" Filter out some updates. The given function decides whether we should\\n*keep* an update. If no updates ever flow through, we use the default value\\nprovided. The following example only keeps even numbers and has an initial\\nvalue of zero.\\n\\n    numbers : Signal Int\\n\\n    isEven : Int -> Bool\\n\\n    evens : Signal Int\\n    evens =\\n        filter isEven 0 numbers\\n"},{"name":"filterMap","fullName":"Signal.filterMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#filterMap","signature":"(a -> Maybe.Maybe b) -> b -> Signal.Signal a -> Signal.Signal b","comment":" Filter out some updates. When the filter function gives back `Just` a\\nvalue, we send that value along. When it returns `Nothing` we drop it.\\nIf the initial value of the incoming signal turns into `Nothing`, we use the\\ndefault value provided. The following example keeps only strings that can be\\nread as integers.\\n\\n    userInput : Signal String\\n\\n    toInt : String -> Maybe Int\\n\\n    numbers : Signal Int\\n    numbers =\\n        filterMap toInt 0 userInput\\n"},{"name":"foldp","fullName":"Signal.foldp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#foldp","signature":"(a -> state -> state) -> state -> Signal.Signal a -> Signal.Signal state","comment":" Create a past-dependent signal. Each update from the incoming signals will\\nbe used to step the state forward. The outgoing signal represents the current\\nstate.\\n\\n    clickCount : Signal Int\\n    clickCount =\\n        foldp (\\\\click total -> total + 1) 0 Mouse.clicks\\n\\n    timeSoFar : Signal Time\\n    timeSoFar =\\n        foldp (+) 0 (fps 40)\\n\\nSo `clickCount` updates on each mouse click, incrementing by one. `timeSoFar`\\nis the time the program has been running, updated 40 times a second.\\n"},{"name":"forwardTo","fullName":"Signal.forwardTo","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#forwardTo","signature":"Signal.Address b -> (a -> b) -> Signal.Address a","comment":" Create a new address. This address will tag each message it receives\\nand then forward it along to some other address.\\n\\n    type Action = Undo | Remove Int | NoOp\\n\\n    actions : Mailbox Action\\n    actions = mailbox NoOp\\n\\n    removeAddress : Address Int\\n    removeAddress =\\n        forwardTo actions.address Remove\\n\\nIn this case we have a general `address` that many people may send\\nmessages to. The new `removeAddress` tags all messages with the `Remove` tag\\nbefore forwarding them along to the more general `address`. This means\\nsome parts of our application can know *only* about `removeAddress` and not\\ncare what other kinds of `Actions` are possible.\\n"},{"name":"mailbox","fullName":"Signal.mailbox","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#mailbox","signature":"a -> Signal.Mailbox a","comment":" Create a mailbox you can send messages to. The primary use case is\\nreceiving updates from tasks and UI elements. The argument is a default value\\nfor the custom signal.\\n\\nNote: Creating new signals is inherently impure, so `(mailbox ())` and\\n`(mailbox ())` produce two different mailboxes.\\n"},{"name":"map","fullName":"Signal.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map","signature":"(a -> result) -> Signal.Signal a -> Signal.Signal result","comment":" Apply a function to a signal.\\n\\n    mouseIsUp : Signal Bool\\n    mouseIsUp =\\n        map not Mouse.isDown\\n\\n    main : Signal Element\\n    main =\\n        map Graphics.Element.show Mouse.position\\n"},{"name":"map2","fullName":"Signal.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map2","signature":"(a -> b -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal result","comment":" Apply a function to the current value of two signals. The function\\nis reevaluated whenever *either* signal changes. In the following example, we\\nfigure out the `aspectRatio` of the window by combining the current width and\\nheight.\\n\\n    ratio : Int -> Int -> Float\\n    ratio width height =\\n        toFloat width / toFloat height\\n\\n    aspectRatio : Signal Float\\n    aspectRatio =\\n        map2 ratio Window.width Window.height\\n"},{"name":"map3","fullName":"Signal.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map3","signature":"(a -> b -> c -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal result","comment":""},{"name":"map4","fullName":"Signal.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map4","signature":"(a -> b -> c -> d -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal d -> Signal.Signal result","comment":""},{"name":"map5","fullName":"Signal.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map5","signature":"(a -> b -> c -> d -> e -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal d -> Signal.Signal e -> Signal.Signal result","comment":""},{"name":"merge","fullName":"Signal.merge","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#merge","signature":"Signal.Signal a -> Signal.Signal a -> Signal.Signal a","comment":" Merge two signals into one. This function is extremely useful for bringing\\ntogether lots of different signals to feed into a `foldp`.\\n\\n    type Update = MouseMove (Int,Int) | TimeDelta Float\\n\\n    updates : Signal Update\\n    updates =\\n        merge\\n            (map MouseMove Mouse.position)\\n            (map TimeDelta (fps 40))\\n\\nIf an update comes from either of the incoming signals, it updates the outgoing\\nsignal. If an update comes on both signals at the same time, the update provided\\nby the left input signal wins (i.e., the update from the second signal is discarded).\\n"},{"name":"mergeMany","fullName":"Signal.mergeMany","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#mergeMany","signature":"List (Signal.Signal a) -> Signal.Signal a","comment":" Merge many signals into one. This is useful when you are merging more than\\ntwo signals. When multiple updates come in at the same time, the left-most\\nupdate wins, just like with `merge`.\\n\\n    type Update = MouseMove (Int,Int) | TimeDelta Float | Click\\n\\n    updates : Signal Update\\n    updates =\\n        mergeMany\\n            [ map MouseMove Mouse.position\\n            , map TimeDelta (fps 40)\\n            , map (always Click) Mouse.clicks\\n            ]\\n"},{"name":"message","fullName":"Signal.message","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#message","signature":"Signal.Address a -> a -> Signal.Message","comment":" Create a message that may be sent to a `Mailbox` at a later time.\\n\\nMost importantly, this lets us create APIs that can send values to ports\\n*without* allowing people to run arbitrary tasks.\\n"},{"name":"sampleOn","fullName":"Signal.sampleOn","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#sampleOn","signature":"Signal.Signal a -> Signal.Signal b -> Signal.Signal b","comment":" Sample from the second input every time an event occurs on the first input.\\nFor example, `(sampleOn Mouse.clicks (Time.every Time.second))` will give the\\napproximate time of the latest click. "},{"name":"send","fullName":"Signal.send","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#send","signature":"Signal.Address a -> a -> Task.Task x ()","comment":" Send a message to an `Address`.\\n\\n    type Action = Undo | Remove Int\\n\\n    address : Address Action\\n\\n    requestUndo : Task x ()\\n    requestUndo =\\n        send address Undo\\n\\nThe `Signal` associated with `address` will receive the `Undo` message\\nand push it through the Elm program.\\n"},{"name":"all","fullName":"String.all","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#all","signature":"(Char -> Bool) -> String -> Bool","comment":" Determine whether *all* characters satisfy a predicate.\\n\\n    all isDigit \\"90210\\" == True\\n    all isDigit \\"R2-D2\\" == False\\n    all isDigit \\"heart\\" == False\\n"},{"name":"any","fullName":"String.any","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#any","signature":"(Char -> Bool) -> String -> Bool","comment":" Determine whether *any* characters satisfy a predicate.\\n\\n    any isDigit \\"90210\\" == True\\n    any isDigit \\"R2-D2\\" == True\\n    any isDigit \\"heart\\" == False\\n"},{"name":"append","fullName":"String.append","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#append","signature":"String -> String -> String","comment":" Append two strings. You can also use [the `(++)` operator](Basics#++)\\nto do this.\\n\\n    append \\"butter\\" \\"fly\\" == \\"butterfly\\"\\n"},{"name":"concat","fullName":"String.concat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#concat","signature":"List String -> String","comment":" Concatenate many strings into one.\\n\\n    concat [\\"never\\",\\"the\\",\\"less\\"] == \\"nevertheless\\"\\n"},{"name":"cons","fullName":"String.cons","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#cons","signature":"Char -> String -> String","comment":" Add a character to the beginning of a string. "},{"name":"contains","fullName":"String.contains","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#contains","signature":"String -> String -> Bool","comment":" See if the second string contains the first one.\\n\\n    contains \\"the\\" \\"theory\\" == True\\n    contains \\"hat\\" \\"theory\\" == False\\n    contains \\"THE\\" \\"theory\\" == False\\n\\nUse [`Regex.contains`](Regex#contains) if you need something more flexible.\\n"},{"name":"dropLeft","fullName":"String.dropLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#dropLeft","signature":"Int -> String -> String","comment":" Drop *n* characters from the left side of a string. "},{"name":"dropRight","fullName":"String.dropRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#dropRight","signature":"Int -> String -> String","comment":" Drop *n* characters from the right side of a string. "},{"name":"endsWith","fullName":"String.endsWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#endsWith","signature":"String -> String -> Bool","comment":" See if the second string ends with the first one.\\n\\n    endsWith \\"the\\" \\"theory\\" == False\\n    endsWith \\"ory\\" \\"theory\\" == True\\n"},{"name":"filter","fullName":"String.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#filter","signature":"(Char -> Bool) -> String -> String","comment":" Keep only the characters that satisfy the predicate.\\n\\n    filter isDigit \\"R2-D2\\" == \\"22\\"\\n"},{"name":"foldl","fullName":"String.foldl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#foldl","signature":"(Char -> b -> b) -> b -> String -> b","comment":" Reduce a string from the left.\\n\\n    foldl cons \\"\\" \\"time\\" == \\"emit\\"\\n"},{"name":"foldr","fullName":"String.foldr","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#foldr","signature":"(Char -> b -> b) -> b -> String -> b","comment":" Reduce a string from the right.\\n\\n    foldr cons \\"\\" \\"time\\" == \\"time\\"\\n"},{"name":"fromChar","fullName":"String.fromChar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#fromChar","signature":"Char -> String","comment":" Create a string from a given character.\\n\\n    fromChar \'a\' == \\"a\\"\\n"},{"name":"fromList","fullName":"String.fromList","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#fromList","signature":"List Char -> String","comment":" Convert a list of characters into a String. Can be useful if you\\nwant to create a string primarily by consing, perhaps for decoding\\nsomething.\\n\\n    fromList [\'a\',\'b\',\'c\'] == \\"abc\\"\\n"},{"name":"indexes","fullName":"String.indexes","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#indexes","signature":"String -> String -> List Int","comment":" Get all of the indexes for a substring in another string.\\n\\n    indexes \\"i\\" \\"Mississippi\\"   == [1,4,7,10]\\n    indexes \\"ss\\" \\"Mississippi\\"  == [2,5]\\n    indexes \\"needle\\" \\"haystack\\" == []\\n"},{"name":"indices","fullName":"String.indices","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#indices","signature":"String -> String -> List Int","comment":" Alias for `indexes`. "},{"name":"isEmpty","fullName":"String.isEmpty","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#isEmpty","signature":"String -> Bool","comment":" Determine if a string is empty.\\n\\n    isEmpty \\"\\" == True\\n    isEmpty \\"the world\\" == False\\n"},{"name":"join","fullName":"String.join","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#join","signature":"String -> List String -> String","comment":" Put many strings together with a given separator.\\n\\n    join \\"a\\" [\\"H\\",\\"w\\",\\"ii\\",\\"n\\"]        == \\"Hawaiian\\"\\n    join \\" \\" [\\"cat\\",\\"dog\\",\\"cow\\"]       == \\"cat dog cow\\"\\n    join \\"/\\" [\\"home\\",\\"evan\\",\\"Desktop\\"] == \\"home/evan/Desktop\\"\\n"},{"name":"left","fullName":"String.left","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#left","signature":"Int -> String -> String","comment":" Take *n* characters from the left side of a string. "},{"name":"length","fullName":"String.length","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#length","signature":"String -> Int","comment":" Get the length of a string.\\n\\n    length \\"innumerable\\" == 11\\n    length \\"\\" == 0\\n\\n"},{"name":"lines","fullName":"String.lines","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#lines","signature":"String -> List String","comment":" Break a string into lines, splitting on newlines.\\n\\n    lines \\"How are you?\\\\nGood?\\" == [\\"How are you?\\", \\"Good?\\"]\\n"},{"name":"map","fullName":"String.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#map","signature":"(Char -> Char) -> String -> String","comment":" Transform every character in a string\\n\\n    map (\\\\c -> if c == \'/\' then \'.\' else c) \\"a/b/c\\" == \\"a.b.c\\"\\n"},{"name":"pad","fullName":"String.pad","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#pad","signature":"Int -> Char -> String -> String","comment":" Pad a string on both sides until it has a given length.\\n\\n    pad 5 \' \' \\"1\\"   == \\"  1  \\"\\n    pad 5 \' \' \\"11\\"  == \\"  11 \\"\\n    pad 5 \' \' \\"121\\" == \\" 121 \\"\\n"},{"name":"padLeft","fullName":"String.padLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#padLeft","signature":"Int -> Char -> String -> String","comment":" Pad a string on the left until it has a given length.\\n\\n    padLeft 5 \'.\' \\"1\\"   == \\"....1\\"\\n    padLeft 5 \'.\' \\"11\\"  == \\"...11\\"\\n    padLeft 5 \'.\' \\"121\\" == \\"..121\\"\\n"},{"name":"padRight","fullName":"String.padRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#padRight","signature":"Int -> Char -> String -> String","comment":" Pad a string on the right until it has a given length.\\n\\n    padRight 5 \'.\' \\"1\\"   == \\"1....\\"\\n    padRight 5 \'.\' \\"11\\"  == \\"11...\\"\\n    padRight 5 \'.\' \\"121\\" == \\"121..\\"\\n"},{"name":"repeat","fullName":"String.repeat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#repeat","signature":"Int -> String -> String","comment":" Repeat a string *n* times.\\n\\n    repeat 3 \\"ha\\" == \\"hahaha\\"\\n"},{"name":"reverse","fullName":"String.reverse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#reverse","signature":"String -> String","comment":" Reverse a string.\\n\\n    reverse \\"stressed\\" == \\"desserts\\"\\n"},{"name":"right","fullName":"String.right","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#right","signature":"Int -> String -> String","comment":" Take *n* characters from the right side of a string. "},{"name":"slice","fullName":"String.slice","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#slice","signature":"Int -> Int -> String -> String","comment":" Take a substring given a start and end index. Negative indexes\\nare taken starting from the *end* of the list.\\n\\n    slice  7  9 \\"snakes on a plane!\\" == \\"on\\"\\n    slice  0  6 \\"snakes on a plane!\\" == \\"snakes\\"\\n    slice  0 -7 \\"snakes on a plane!\\" == \\"snakes on a\\"\\n    slice -6 -1 \\"snakes on a plane!\\" == \\"plane\\"\\n"},{"name":"split","fullName":"String.split","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#split","signature":"String -> String -> List String","comment":" Split a string using a given separator.\\n\\n    split \\",\\" \\"cat,dog,cow\\"        == [\\"cat\\",\\"dog\\",\\"cow\\"]\\n    split \\"/\\" \\"home/evan/Desktop/\\" == [\\"home\\",\\"evan\\",\\"Desktop\\", \\"\\"]\\n\\nUse [`Regex.split`](Regex#split) if you need something more flexible.\\n"},{"name":"startsWith","fullName":"String.startsWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#startsWith","signature":"String -> String -> Bool","comment":" See if the second string starts with the first one.\\n\\n    startsWith \\"the\\" \\"theory\\" == True\\n    startsWith \\"ory\\" \\"theory\\" == False\\n"},{"name":"toFloat","fullName":"String.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toFloat","signature":"String -> Result.Result String Float","comment":" Try to convert a string into a float, failing on improperly formatted strings.\\n\\n    toFloat \\"123\\" == Ok 123.0\\n    toFloat \\"-42\\" == Ok -42.0\\n    toFloat \\"3.1\\" == Ok 3.1\\n    toFloat \\"31a\\" == Err \\"could not convert string \'31a\' to a Float\\"\\n"},{"name":"toInt","fullName":"String.toInt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toInt","signature":"String -> Result.Result String Int","comment":" Try to convert a string into an int, failing on improperly formatted strings.\\n\\n    toInt \\"123\\" == Ok 123\\n    toInt \\"-42\\" == Ok -42\\n    toInt \\"3.1\\" == Err \\"could not convert string \'3.1\' to an Int\\"\\n    toInt \\"31a\\" == Err \\"could not convert string \'31a\' to an Int\\"\\n"},{"name":"toList","fullName":"String.toList","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toList","signature":"String -> List Char","comment":" Convert a string to a list of characters.\\n\\n    toList \\"abc\\" == [\'a\',\'b\',\'c\']\\n"},{"name":"toLower","fullName":"String.toLower","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toLower","signature":"String -> String","comment":" Convert a string to all lower case. Useful for case-insensitive comparisons. "},{"name":"toUpper","fullName":"String.toUpper","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toUpper","signature":"String -> String","comment":" Convert a string to all upper case. Useful for case-insensitive comparisons\\nand VIRTUAL YELLING.\\n"},{"name":"trim","fullName":"String.trim","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trim","signature":"String -> String","comment":" Get rid of whitespace on both sides of a string.\\n\\n    trim \\"  hats  \\\\n\\" == \\"hats\\"\\n"},{"name":"trimLeft","fullName":"String.trimLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trimLeft","signature":"String -> String","comment":" Get rid of whitespace on the left of a string.\\n\\n    trimLeft \\"  hats  \\\\n\\" == \\"hats  \\\\n\\"\\n"},{"name":"trimRight","fullName":"String.trimRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trimRight","signature":"String -> String","comment":" Get rid of whitespace on the right of a string.\\n\\n    trimRight \\"  hats  \\\\n\\" == \\"  hats\\"\\n"},{"name":"uncons","fullName":"String.uncons","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#uncons","signature":"String -> Maybe.Maybe ( Char, String )","comment":" Split a non-empty string into its head and tail. This lets you\\npattern match on strings exactly as you would with lists.\\n\\n    uncons \\"abc\\" == Just (\'a\',\\"bc\\")\\n    uncons \\"\\"    == Nothing\\n"},{"name":"words","fullName":"String.words","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#words","signature":"String -> List String","comment":" Break a string into words, splitting on chunks of whitespace.\\n\\n    words \\"How are \\\\t you? \\\\n Good?\\" == [\\"How\\",\\"are\\",\\"you?\\",\\"Good?\\"]\\n"},{"name":"::","fullName":"List.::","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#::","signature":"a -> List a -> List a","comment":" Add an element to the front of a list. Pronounced *cons*.\\n\\n    1 :: [2,3] == [1,2,3]\\n    1 :: [] == [1]\\n"},{"name":"::","fullName":"List.::","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#::","signature":"a -> List a -> List a","comment":" Add an element to the front of a list. Pronounced *cons*.\\n\\n    1 :: [2,3] == [1,2,3]\\n    1 :: [] == [1]\\n"},{"name":"all","fullName":"List.all","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#all","signature":"(a -> Bool) -> List a -> Bool","comment":" Determine if all elements satisfy the predicate.\\n\\n    all isEven [2,4] == True\\n    all isEven [2,3] == False\\n    all isEven [] == True\\n"},{"name":"any","fullName":"List.any","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#any","signature":"(a -> Bool) -> List a -> Bool","comment":" Determine if any elements satisfy the predicate.\\n\\n    any isEven [2,3] == True\\n    any isEven [1,3] == False\\n    any isEven [] == False\\n"},{"name":"append","fullName":"List.append","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#append","signature":"List a -> List a -> List a","comment":" Put two lists together.\\n\\n    append [1,1,2] [3,5,8] == [1,1,2,3,5,8]\\n    append [\'a\',\'b\'] [\'c\'] == [\'a\',\'b\',\'c\']\\n"},{"name":"concat","fullName":"List.concat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#concat","signature":"List (List a) -> List a","comment":" Concatenate a bunch of lists into a single list:\\n\\n    concat [[1,2],[3],[4,5]] == [1,2,3,4,5]\\n"},{"name":"concatMap","fullName":"List.concatMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#concatMap","signature":"(a -> List b) -> List a -> List b","comment":" Map a given function onto a list and flatten the resulting lists.\\n\\n    concatMap f xs == concat (map f xs)\\n"},{"name":"drop","fullName":"List.drop","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#drop","signature":"Int -> List a -> List a","comment":" Drop the first *n* members of a list.\\n\\n    drop 2 [1,2,3,4] == [3,4]\\n"},{"name":"filter","fullName":"List.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#filter","signature":"(a -> Bool) -> List a -> List a","comment":" Keep only elements that satisfy the predicate.\\n\\n    filter isEven [1..6] == [2,4,6]\\n"},{"name":"filterMap","fullName":"List.filterMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#filterMap","signature":"(a -> Maybe.Maybe b) -> List a -> List b","comment":" Apply a function that may succeed to all values in the list, but only keep\\nthe successes.\\n\\n    String.toInt : String -> Maybe Int\\n\\n    filterMap String.toInt [\\"3\\", \\"4.0\\", \\"5\\", \\"hats\\"] == [3,5]\\n"},{"name":"foldl","fullName":"List.foldl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#foldl","signature":"(a -> b -> b) -> b -> List a -> b","comment":" Reduce a list from the left.\\n\\n    foldl (::) [] [1,2,3] == [3,2,1]\\n"},{"name":"foldr","fullName":"List.foldr","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#foldr","signature":"(a -> b -> b) -> b -> List a -> b","comment":" Reduce a list from the right.\\n\\n    foldr (+) 0 [1,2,3] == 6\\n"},{"name":"head","fullName":"List.head","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#head","signature":"List a -> Maybe.Maybe a","comment":" Extract the first element of a list.\\n\\n    head [1,2,3] == Just 1\\n    head [] == Nothing\\n"},{"name":"indexedMap","fullName":"List.indexedMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#indexedMap","signature":"(Int -> a -> b) -> List a -> List b","comment":" Same as `map` but the function is also applied to the index of each\\nelement (starting at zero).\\n\\n    indexedMap (,) [\\"Tom\\",\\"Sue\\",\\"Bob\\"] == [ (0,\\"Tom\\"), (1,\\"Sue\\"), (2,\\"Bob\\") ]\\n"},{"name":"intersperse","fullName":"List.intersperse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#intersperse","signature":"a -> List a -> List a","comment":" Places the given value between all members of the given list.\\n\\n    intersperse \\"on\\" [\\"turtles\\",\\"turtles\\",\\"turtles\\"] == [\\"turtles\\",\\"on\\",\\"turtles\\",\\"on\\",\\"turtles\\"]\\n"},{"name":"isEmpty","fullName":"List.isEmpty","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#isEmpty","signature":"List a -> Bool","comment":" Determine if a list is empty.\\n\\n    isEmpty [] == True\\n"},{"name":"length","fullName":"List.length","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#length","signature":"List a -> Int","comment":" Determine the length of a list.\\n\\n    length [1,2,3] == 3\\n"},{"name":"map","fullName":"List.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map","signature":"(a -> b) -> List a -> List b","comment":" Apply a function to every element of a list.\\n\\n    map sqrt [1,4,9] == [1,2,3]\\n\\n    map not [True,False,True] == [False,True,False]\\n"},{"name":"map2","fullName":"List.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map2","signature":"(a -> b -> result) -> List a -> List b -> List result","comment":" Combine two lists, combining them with the given function.\\nIf one list is longer, the extra elements are dropped.\\n\\n    map2 (+) [1,2,3] [1,2,3,4] == [2,4,6]\\n\\n    map2 (,) [1,2,3] [\'a\',\'b\'] == [ (1,\'a\'), (2,\'b\') ]\\n\\n    pairs : List a -> List b -> List (a,b)\\n    pairs lefts rights =\\n        map2 (,) lefts rights\\n"},{"name":"map3","fullName":"List.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map3","signature":"(a -> b -> c -> result) -> List a -> List b -> List c -> List result","comment":""},{"name":"map4","fullName":"List.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map4","signature":"(a -> b -> c -> d -> result) -> List a -> List b -> List c -> List d -> List result","comment":""},{"name":"map5","fullName":"List.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map5","signature":"(a -> b -> c -> d -> e -> result) -> List a -> List b -> List c -> List d -> List e -> List result","comment":""},{"name":"maximum","fullName":"List.maximum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#maximum","signature":"List comparable -> Maybe.Maybe comparable","comment":" Find the maximum element in a non-empty list.\\n\\n    maximum [1,4,2] == Just 4\\n    maximum []      == Nothing\\n"},{"name":"member","fullName":"List.member","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#member","signature":"a -> List a -> Bool","comment":" Figure out whether a list contains a value.\\n\\n    member 9 [1,2,3,4] == False\\n    member 4 [1,2,3,4] == True\\n"},{"name":"minimum","fullName":"List.minimum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#minimum","signature":"List comparable -> Maybe.Maybe comparable","comment":" Find the minimum element in a non-empty list.\\n\\n    minimum [3,2,1] == Just 1\\n    minimum []      == Nothing\\n"},{"name":"partition","fullName":"List.partition","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#partition","signature":"(a -> Bool) -> List a -> ( List a, List a )","comment":" Partition a list based on a predicate. The first list contains all values\\nthat satisfy the predicate, and the second list contains all the value that do\\nnot.\\n\\n    partition (\\\\x -> x < 3) [0..5] == ([0,1,2], [3,4,5])\\n    partition isEven        [0..5] == ([0,2,4], [1,3,5])\\n"},{"name":"product","fullName":"List.product","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#product","signature":"List number -> number","comment":" Get the product of the list elements.\\n\\n    product [1..4] == 24\\n"},{"name":"repeat","fullName":"List.repeat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#repeat","signature":"Int -> a -> List a","comment":" Create a list with *n* copies of a value:\\n\\n    repeat 3 (0,0) == [(0,0),(0,0),(0,0)]\\n"},{"name":"reverse","fullName":"List.reverse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#reverse","signature":"List a -> List a","comment":" Reverse a list.\\n\\n    reverse [1..4] == [4,3,2,1]\\n"},{"name":"scanl","fullName":"List.scanl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#scanl","signature":"(a -> b -> b) -> b -> List a -> List b","comment":" Reduce a list from the left, building up all of the intermediate results into a list.\\n\\n    scanl (+) 0 [1,2,3,4] == [0,1,3,6,10]\\n"},{"name":"sort","fullName":"List.sort","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sort","signature":"List comparable -> List comparable","comment":" Sort values from lowest to highest\\n\\n    sort [3,1,5] == [1,3,5]\\n"},{"name":"sortBy","fullName":"List.sortBy","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sortBy","signature":"(a -> comparable) -> List a -> List a","comment":" Sort values by a derived property.\\n\\n    alice = { name=\\"Alice\\", height=1.62 }\\n    bob   = { name=\\"Bob\\"  , height=1.85 }\\n    chuck = { name=\\"Chuck\\", height=1.76 }\\n\\n    sortBy .name   [chuck,alice,bob] == [alice,bob,chuck]\\n    sortBy .height [chuck,alice,bob] == [alice,chuck,bob]\\n\\n    sortBy String.length [\\"mouse\\",\\"cat\\"] == [\\"cat\\",\\"mouse\\"]\\n"},{"name":"sortWith","fullName":"List.sortWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sortWith","signature":"(a -> a -> Basics.Order) -> List a -> List a","comment":" Sort values with a custom comparison function.\\n\\n    sortWith flippedComparison [1..5] == [5,4,3,2,1]\\n\\n    flippedComparison a b =\\n        case compare a b of\\n          LT -> GT\\n          EQ -> EQ\\n          GT -> LT\\n\\nThis is also the most general sort function, allowing you\\nto define any other: `sort == sortWith compare`\\n"},{"name":"sum","fullName":"List.sum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sum","signature":"List number -> number","comment":" Get the sum of the list elements.\\n\\n    sum [1..4] == 10\\n"},{"name":"tail","fullName":"List.tail","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#tail","signature":"List a -> Maybe.Maybe (List a)","comment":" Extract the rest of the list.\\n\\n    tail [1,2,3] == Just [2,3]\\n    tail [] == Nothing\\n"},{"name":"take","fullName":"List.take","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#take","signature":"Int -> List a -> List a","comment":" Take the first *n* members of a list.\\n\\n    take 2 [1,2,3,4] == [1,2]\\n"},{"name":"unzip","fullName":"List.unzip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#unzip","signature":"List ( a, b ) -> ( List a, List b )","comment":" Decompose a list of tuples into a tuple of lists.\\n\\n    unzip [(0, True), (17, False), (1337, True)] == ([0,17,1337], [True,False,True])\\n"},{"name":"andThen","fullName":"Result.andThen","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#andThen","signature":"Result.Result x a -> (a -> Result.Result x b) -> Result.Result x b","comment":" Chain together a sequence of computations that may fail. It is helpful\\nto see its definition:\\n\\n    andThen : Result e a -> (a -> Result e b) -> Result e b\\n    andThen result callback =\\n        case result of\\n          Ok value -> callback value\\n          Err msg -> Err msg\\n\\nThis means we only continue with the callback if things are going well. For\\nexample, say you need to use (`toInt : String -> Result String Int`) to parse\\na month and make sure it is between 1 and 12:\\n\\n    toValidMonth : Int -> Result String Int\\n    toValidMonth month =\\n        if month >= 1 && month <= 12\\n            then Ok month\\n            else Err \\"months must be between 1 and 12\\"\\n\\n    toMonth : String -> Result String Int\\n    toMonth rawString =\\n        toInt rawString `andThen` toValidMonth\\n\\n    -- toMonth \\"4\\" == Ok 4\\n    -- toMonth \\"9\\" == Ok 9\\n    -- toMonth \\"a\\" == Err \\"cannot parse to an Int\\"\\n    -- toMonth \\"0\\" == Err \\"months must be between 1 and 12\\"\\n\\nThis allows us to come out of a chain of operations with quite a specific error\\nmessage. It is often best to create a custom type that explicitly represents\\nthe exact ways your computation may fail. This way it is easy to handle in your\\ncode.\\n"},{"name":"formatError","fullName":"Result.formatError","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#formatError","signature":"(error -> error\') -> Result.Result error a -> Result.Result error\' a","comment":" Format the error value of a result. If the result is `Ok`, it stays exactly\\nthe same, but if the result is an `Err` we will format the error. For example,\\nsay the errors we get have too much information:\\n\\n    parseInt : String -> Result ParseError Int\\n\\n    type ParseError =\\n        { message : String\\n        , code : Int\\n        , position : (Int,Int)\\n        }\\n\\n    formatError .message (parseInt \\"123\\") == Ok 123\\n    formatError .message (parseInt \\"abc\\") == Err \\"char \'a\' is not a number\\"\\n"},{"name":"fromMaybe","fullName":"Result.fromMaybe","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#fromMaybe","signature":"x -> Maybe.Maybe a -> Result.Result x a","comment":" Convert from a simple `Maybe` to interact with some code that primarily\\nuses `Results`.\\n\\n    parseInt : String -> Maybe Int\\n\\n    resultParseInt : String -> Result String Int\\n    resultParseInt string =\\n        fromMaybe (\\"error parsing string: \\" ++ toString string) (parseInt string)\\n"},{"name":"map","fullName":"Result.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map","signature":"(a -> value) -> Result.Result x a -> Result.Result x value","comment":" Apply a function to a result. If the result is `Ok`, it will be converted.\\nIf the result is an `Err`, the same error value will propagate through.\\n\\n    map sqrt (Ok 4.0)          == Ok 2.0\\n    map sqrt (Err \\"bad input\\") == Err \\"bad input\\"\\n"},{"name":"map2","fullName":"Result.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map2","signature":"(a -> b -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x value","comment":" Apply a function to two results, if both results are `Ok`. If not,\\nthe first argument which is an `Err` will propagate through.\\n\\n    map2 (+) (String.toInt \\"1\\") (String.toInt \\"2\\") == Ok 3\\n    map2 (+) (String.toInt \\"1\\") (String.toInt \\"y\\") == Err \\"could not convert string \'y\' to an Int\\"\\n    map2 (+) (String.toInt \\"x\\") (String.toInt \\"y\\") == Err \\"could not convert string \'x\' to an Int\\"\\n"},{"name":"map3","fullName":"Result.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map3","signature":"(a -> b -> c -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x value","comment":""},{"name":"map4","fullName":"Result.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map4","signature":"(a -> b -> c -> d -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x d -> Result.Result x value","comment":""},{"name":"map5","fullName":"Result.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map5","signature":"(a -> b -> c -> d -> e -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x d -> Result.Result x e -> Result.Result x value","comment":""},{"name":"toMaybe","fullName":"Result.toMaybe","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#toMaybe","signature":"Result.Result x a -> Maybe.Maybe a","comment":" Convert to a simpler `Maybe` if the actual error message is not needed or\\nyou need to interact with some code that primarily uses maybes.\\n\\n    parseInt : String -> Result ParseError Int\\n\\n    maybeParseInt : String -> Maybe Int\\n    maybeParseInt string =\\n        toMaybe (parseInt string)\\n"},{"name":"withDefault","fullName":"Result.withDefault","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#withDefault","signature":"a -> Result.Result x a -> a","comment":" If the result is `Ok` return the value, but if the result is an `Err` then\\nreturn a given default value. The following examples try to parse integers.\\n\\n    Result.withDefault 0 (String.toInt \\"123\\") == 123\\n    Result.withDefault 0 (String.toInt \\"abc\\") == 0\\n"},{"name":"Ok","fullName":"Result.Ok","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Ok","fullName":"Result.Ok","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Err","fullName":"Result.Err","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Err","fullName":"Result.Err","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"%","fullName":"Basics.%","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#%","signature":"Int -> Int -> Int","comment":" Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic).\\n\\n     7 % 2 == 1\\n    -1 % 4 == 3\\n"},{"name":"%","fullName":"Basics.%","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#%","signature":"Int -> Int -> Int","comment":" Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic).\\n\\n     7 % 2 == 1\\n    -1 % 4 == 3\\n"},{"name":"&&","fullName":"Basics.&&","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#&&","signature":"Bool -> Bool -> Bool","comment":" The logical AND operator. `True` if both inputs are `True`.\\nThis operator short-circuits to `False` if the first argument is `False`.\\n"},{"name":"&&","fullName":"Basics.&&","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#&&","signature":"Bool -> Bool -> Bool","comment":" The logical AND operator. `True` if both inputs are `True`.\\nThis operator short-circuits to `False` if the first argument is `False`.\\n"},{"name":"*","fullName":"Basics.*","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#*","signature":"number -> number -> number","comment":""},{"name":"*","fullName":"Basics.*","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#*","signature":"number -> number -> number","comment":""},{"name":"+","fullName":"Basics.+","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#+","signature":"number -> number -> number","comment":""},{"name":"+","fullName":"Basics.+","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#+","signature":"number -> number -> number","comment":""},{"name":"++","fullName":"Basics.++","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#++","signature":"appendable -> appendable -> appendable","comment":" Put two appendable things together. This includes strings, lists, and text.\\n\\n    \\"hello\\" ++ \\"world\\" == \\"helloworld\\"\\n    [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8]\\n"},{"name":"++","fullName":"Basics.++","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#++","signature":"appendable -> appendable -> appendable","comment":" Put two appendable things together. This includes strings, lists, and text.\\n\\n    \\"hello\\" ++ \\"world\\" == \\"helloworld\\"\\n    [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8]\\n"},{"name":"-","fullName":"Basics.-","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#-","signature":"number -> number -> number","comment":""},{"name":"-","fullName":"Basics.-","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#-","signature":"number -> number -> number","comment":""},{"name":"/","fullName":"Basics./","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/","signature":"Float -> Float -> Float","comment":" Floating point division. "},{"name":"/","fullName":"Basics./","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/","signature":"Float -> Float -> Float","comment":" Floating point division. "},{"name":"//","fullName":"Basics.//","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#//","signature":"Int -> Int -> Int","comment":" Integer division. The remainder is discarded. "},{"name":"//","fullName":"Basics.//","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#//","signature":"Int -> Int -> Int","comment":" Integer division. The remainder is discarded. "},{"name":"/=","fullName":"Basics./=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/=","signature":"a -> a -> Bool","comment":""},{"name":"/=","fullName":"Basics./=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/=","signature":"a -> a -> Bool","comment":""},{"name":"<","fullName":"Basics.<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<","fullName":"Basics.<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<<","fullName":"Basics.<<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<<","signature":"(b -> c) -> (a -> b) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    not << isEven << sqrt\\n\\nYou can think of this operator as equivalent to the following:\\n\\n    (g << f)  ==  (\\\\x -> g (f x))\\n\\nSo our example expands out to something like this:\\n\\n    \\\\n -> not (isEven (sqrt n))\\n"},{"name":"<<","fullName":"Basics.<<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<<","signature":"(b -> c) -> (a -> b) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    not << isEven << sqrt\\n\\nYou can think of this operator as equivalent to the following:\\n\\n    (g << f)  ==  (\\\\x -> g (f x))\\n\\nSo our example expands out to something like this:\\n\\n    \\\\n -> not (isEven (sqrt n))\\n"},{"name":"<=","fullName":"Basics.<=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<=","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<=","fullName":"Basics.<=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<=","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<|","fullName":"Basics.<|","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<|","signature":"(a -> b) -> a -> b","comment":" Backward function application `f <| x == f x`. This function is useful for\\navoiding parenthesis. Consider the following code to create a text element:\\n\\n    leftAligned (monospace (fromString \\"code\\"))\\n\\nThis can also be written as:\\n\\n    leftAligned << monospace <| fromString \\"code\\"\\n"},{"name":"<|","fullName":"Basics.<|","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<|","signature":"(a -> b) -> a -> b","comment":" Backward function application `f <| x == f x`. This function is useful for\\navoiding parenthesis. Consider the following code to create a text element:\\n\\n    leftAligned (monospace (fromString \\"code\\"))\\n\\nThis can also be written as:\\n\\n    leftAligned << monospace <| fromString \\"code\\"\\n"},{"name":"==","fullName":"Basics.==","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==","signature":"a -> a -> Bool","comment":""},{"name":"==","fullName":"Basics.==","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==","signature":"a -> a -> Bool","comment":""},{"name":">","fullName":"Basics.>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>","signature":"comparable -> comparable -> Bool","comment":""},{"name":">","fullName":"Basics.>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>","signature":"comparable -> comparable -> Bool","comment":""},{"name":">=","fullName":"Basics.>=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>=","signature":"comparable -> comparable -> Bool","comment":""},{"name":">=","fullName":"Basics.>=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>=","signature":"comparable -> comparable -> Bool","comment":""},{"name":">>","fullName":"Basics.>>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>>","signature":"(a -> b) -> (b -> c) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    sqrt >> isEven >> not\\n\\nThis direction of function composition seems less pleasant than `(<<)` which\\nreads nicely in expressions like: `filter (not << isRegistered) students`\\n"},{"name":">>","fullName":"Basics.>>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>>","signature":"(a -> b) -> (b -> c) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    sqrt >> isEven >> not\\n\\nThis direction of function composition seems less pleasant than `(<<)` which\\nreads nicely in expressions like: `filter (not << isRegistered) students`\\n"},{"name":"^","fullName":"Basics.^","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#^","signature":"number -> number -> number","comment":" Exponentiation\\n\\n    3^2 == 9\\n"},{"name":"^","fullName":"Basics.^","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#^","signature":"number -> number -> number","comment":" Exponentiation\\n\\n    3^2 == 9\\n"},{"name":"abs","fullName":"Basics.abs","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#abs","signature":"number -> number","comment":" Take the absolute value of a number. "},{"name":"abs","fullName":"Basics.abs","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#abs","signature":"number -> number","comment":" Take the absolute value of a number. "},{"name":"acos","fullName":"Basics.acos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#acos","signature":"Float -> Float","comment":""},{"name":"acos","fullName":"Basics.acos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#acos","signature":"Float -> Float","comment":""},{"name":"always","fullName":"Basics.always","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#always","signature":"a -> b -> a","comment":" Create a [constant function](http://en.wikipedia.org/wiki/Constant_function),\\na function that *always* returns the same value regardless of what input you give.\\nIt is defined as:\\n\\n    always a b = a\\n\\nIt totally ignores the second argument, so `always 42` is a function that always\\nreturns 42. When you are dealing with higher-order functions, this comes in\\nhandy more often than you might expect. For example, creating a zeroed out list\\nof length ten would be:\\n\\n    map (always 0) [0..9]\\n"},{"name":"always","fullName":"Basics.always","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#always","signature":"a -> b -> a","comment":" Create a [constant function](http://en.wikipedia.org/wiki/Constant_function),\\na function that *always* returns the same value regardless of what input you give.\\nIt is defined as:\\n\\n    always a b = a\\n\\nIt totally ignores the second argument, so `always 42` is a function that always\\nreturns 42. When you are dealing with higher-order functions, this comes in\\nhandy more often than you might expect. For example, creating a zeroed out list\\nof length ten would be:\\n\\n    map (always 0) [0..9]\\n"},{"name":"asin","fullName":"Basics.asin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#asin","signature":"Float -> Float","comment":""},{"name":"asin","fullName":"Basics.asin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#asin","signature":"Float -> Float","comment":""},{"name":"atan","fullName":"Basics.atan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan","signature":"Float -> Float","comment":" You probably do not want to use this. It takes `(y/x)` as the\\nargument, so there is no way to know whether the negative signs comes from\\nthe `y` or `x`. Thus, the resulting angle is always between &pi;/2 and -&pi;/2\\n(in quadrants I and IV). You probably want to use `atan2` instead.\\n"},{"name":"atan","fullName":"Basics.atan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan","signature":"Float -> Float","comment":" You probably do not want to use this. It takes `(y/x)` as the\\nargument, so there is no way to know whether the negative signs comes from\\nthe `y` or `x`. Thus, the resulting angle is always between &pi;/2 and -&pi;/2\\n(in quadrants I and IV). You probably want to use `atan2` instead.\\n"},{"name":"atan2","fullName":"Basics.atan2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan2","signature":"Float -> Float -> Float","comment":" This helps you find the angle of a Cartesian coordinate.\\nYou will almost certainly want to use this instead of `atan`.\\nSo `atan2 y x` computes *atan(y/x)* but also keeps track of which\\nquadrant the angle should really be in. The result will be between\\n&pi; and -&pi;, giving you the full range of angles.\\n"},{"name":"atan2","fullName":"Basics.atan2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan2","signature":"Float -> Float -> Float","comment":" This helps you find the angle of a Cartesian coordinate.\\nYou will almost certainly want to use this instead of `atan`.\\nSo `atan2 y x` computes *atan(y/x)* but also keeps track of which\\nquadrant the angle should really be in. The result will be between\\n&pi; and -&pi;, giving you the full range of angles.\\n"},{"name":"ceiling","fullName":"Basics.ceiling","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#ceiling","signature":"Float -> Int","comment":" Ceiling function, rounding up. "},{"name":"ceiling","fullName":"Basics.ceiling","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#ceiling","signature":"Float -> Int","comment":" Ceiling function, rounding up. "},{"name":"clamp","fullName":"Basics.clamp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#clamp","signature":"number -> number -> number -> number","comment":" Clamps a number within a given range. With the expression\\n`clamp 100 200 x` the results are as follows:\\n\\n    100     if x < 100\\n     x      if 100 <= x < 200\\n    200     if 200 <= x\\n"},{"name":"clamp","fullName":"Basics.clamp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#clamp","signature":"number -> number -> number -> number","comment":" Clamps a number within a given range. With the expression\\n`clamp 100 200 x` the results are as follows:\\n\\n    100     if x < 100\\n     x      if 100 <= x < 200\\n    200     if 200 <= x\\n"},{"name":"compare","fullName":"Basics.compare","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#compare","signature":"comparable -> comparable -> Basics.Order","comment":" Compare any two comparable values. Comparable values include `String`, `Char`,\\n`Int`, `Float`, `Time`, or a list or tuple containing comparable values.\\nThese are also the only values that work as `Dict` keys or `Set` members.\\n"},{"name":"compare","fullName":"Basics.compare","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#compare","signature":"comparable -> comparable -> Basics.Order","comment":" Compare any two comparable values. Comparable values include `String`, `Char`,\\n`Int`, `Float`, `Time`, or a list or tuple containing comparable values.\\nThese are also the only values that work as `Dict` keys or `Set` members.\\n"},{"name":"cos","fullName":"Basics.cos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#cos","signature":"Float -> Float","comment":""},{"name":"cos","fullName":"Basics.cos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#cos","signature":"Float -> Float","comment":""},{"name":"curry","fullName":"Basics.curry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#curry","signature":"(( a, b ) -> c) -> a -> b -> c","comment":" Change how arguments are passed to a function.\\nThis splits paired arguments into two separate arguments.\\n"},{"name":"curry","fullName":"Basics.curry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#curry","signature":"(( a, b ) -> c) -> a -> b -> c","comment":" Change how arguments are passed to a function.\\nThis splits paired arguments into two separate arguments.\\n"},{"name":"degrees","fullName":"Basics.degrees","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#degrees","signature":"Float -> Float","comment":" Convert degrees to standard Elm angles (radians). "},{"name":"degrees","fullName":"Basics.degrees","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#degrees","signature":"Float -> Float","comment":" Convert degrees to standard Elm angles (radians). "},{"name":"e","fullName":"Basics.e","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#e","signature":"Float","comment":" An approximation of e. "},{"name":"e","fullName":"Basics.e","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#e","signature":"Float","comment":" An approximation of e. "},{"name":"flip","fullName":"Basics.flip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#flip","signature":"(a -> b -> c) -> b -> a -> c","comment":" Flip the order of the first two arguments to a function. "},{"name":"flip","fullName":"Basics.flip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#flip","signature":"(a -> b -> c) -> b -> a -> c","comment":" Flip the order of the first two arguments to a function. "},{"name":"floor","fullName":"Basics.floor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#floor","signature":"Float -> Int","comment":" Floor function, rounding down. "},{"name":"floor","fullName":"Basics.floor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#floor","signature":"Float -> Int","comment":" Floor function, rounding down. "},{"name":"fromPolar","fullName":"Basics.fromPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fromPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert polar coordinates (r,&theta;) to Cartesian coordinates (x,y). "},{"name":"fromPolar","fullName":"Basics.fromPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fromPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert polar coordinates (r,&theta;) to Cartesian coordinates (x,y). "},{"name":"fst","fullName":"Basics.fst","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fst","signature":"( a, b ) -> a","comment":" Given a 2-tuple, returns the first value. "},{"name":"fst","fullName":"Basics.fst","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fst","signature":"( a, b ) -> a","comment":" Given a 2-tuple, returns the first value. "},{"name":"identity","fullName":"Basics.identity","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#identity","signature":"a -> a","comment":" Given a value, returns exactly the same value. This is called\\n[the identity function](http://en.wikipedia.org/wiki/Identity_function).\\n"},{"name":"identity","fullName":"Basics.identity","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#identity","signature":"a -> a","comment":" Given a value, returns exactly the same value. This is called\\n[the identity function](http://en.wikipedia.org/wiki/Identity_function).\\n"},{"name":"isInfinite","fullName":"Basics.isInfinite","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isInfinite","signature":"Float -> Bool","comment":" Determine whether a float is positive or negative infinity.\\n\\n    isInfinite (0/0)     == False\\n    isInfinite (sqrt -1) == False\\n    isInfinite (1/0)     == True\\n    isInfinite 1         == False\\n\\nNotice that NaN is not infinite! For float `n` to be finite implies that\\n`not (isInfinite n || isNaN n)` evaluates to `True`.\\n"},{"name":"isInfinite","fullName":"Basics.isInfinite","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isInfinite","signature":"Float -> Bool","comment":" Determine whether a float is positive or negative infinity.\\n\\n    isInfinite (0/0)     == False\\n    isInfinite (sqrt -1) == False\\n    isInfinite (1/0)     == True\\n    isInfinite 1         == False\\n\\nNotice that NaN is not infinite! For float `n` to be finite implies that\\n`not (isInfinite n || isNaN n)` evaluates to `True`.\\n"},{"name":"isNaN","fullName":"Basics.isNaN","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN","signature":"Float -> Bool","comment":" Determine whether a float is an undefined or unrepresentable number.\\nNaN stands for *not a number* and it is [a standardized part of floating point\\nnumbers](http://en.wikipedia.org/wiki/NaN).\\n\\n    isNaN (0/0)     == True\\n    isNaN (sqrt -1) == True\\n    isNaN (1/0)     == False  -- infinity is a number\\n    isNaN 1         == False\\n"},{"name":"isNaN","fullName":"Basics.isNaN","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN","signature":"Float -> Bool","comment":" Determine whether a float is an undefined or unrepresentable number.\\nNaN stands for *not a number* and it is [a standardized part of floating point\\nnumbers](http://en.wikipedia.org/wiki/NaN).\\n\\n    isNaN (0/0)     == True\\n    isNaN (sqrt -1) == True\\n    isNaN (1/0)     == False  -- infinity is a number\\n    isNaN 1         == False\\n"},{"name":"logBase","fullName":"Basics.logBase","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#logBase","signature":"Float -> Float -> Float","comment":" Calculate the logarithm of a number with a given base.\\n\\n    logBase 10 100 == 2\\n    logBase 2 256 == 8\\n"},{"name":"logBase","fullName":"Basics.logBase","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#logBase","signature":"Float -> Float -> Float","comment":" Calculate the logarithm of a number with a given base.\\n\\n    logBase 10 100 == 2\\n    logBase 2 256 == 8\\n"},{"name":"max","fullName":"Basics.max","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#max","signature":"comparable -> comparable -> comparable","comment":" Find the larger of two comparables. "},{"name":"max","fullName":"Basics.max","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#max","signature":"comparable -> comparable -> comparable","comment":" Find the larger of two comparables. "},{"name":"min","fullName":"Basics.min","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#min","signature":"comparable -> comparable -> comparable","comment":" Find the smaller of two comparables. "},{"name":"min","fullName":"Basics.min","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#min","signature":"comparable -> comparable -> comparable","comment":" Find the smaller of two comparables. "},{"name":"negate","fullName":"Basics.negate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#negate","signature":"number -> number","comment":" Negate a number.\\n\\n    negate 42 == -42\\n    negate -42 == 42\\n    negate 0 == 0\\n"},{"name":"negate","fullName":"Basics.negate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#negate","signature":"number -> number","comment":" Negate a number.\\n\\n    negate 42 == -42\\n    negate -42 == 42\\n    negate 0 == 0\\n"},{"name":"not","fullName":"Basics.not","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#not","signature":"Bool -> Bool","comment":" Negate a boolean value.\\n\\n    not True == False\\n    not False == True\\n"},{"name":"not","fullName":"Basics.not","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#not","signature":"Bool -> Bool","comment":" Negate a boolean value.\\n\\n    not True == False\\n    not False == True\\n"},{"name":"pi","fullName":"Basics.pi","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#pi","signature":"Float","comment":" An approximation of pi. "},{"name":"pi","fullName":"Basics.pi","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#pi","signature":"Float","comment":" An approximation of pi. "},{"name":"radians","fullName":"Basics.radians","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#radians","signature":"Float -> Float","comment":" Convert radians to standard Elm angles (radians). "},{"name":"radians","fullName":"Basics.radians","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#radians","signature":"Float -> Float","comment":" Convert radians to standard Elm angles (radians). "},{"name":"rem","fullName":"Basics.rem","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#rem","signature":"Int -> Int -> Int","comment":" Find the remainder after dividing one number by another.\\n\\n     7 `rem` 2 == 1\\n    -1 `rem` 4 == -1\\n"},{"name":"rem","fullName":"Basics.rem","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#rem","signature":"Int -> Int -> Int","comment":" Find the remainder after dividing one number by another.\\n\\n     7 `rem` 2 == 1\\n    -1 `rem` 4 == -1\\n"},{"name":"round","fullName":"Basics.round","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#round","signature":"Float -> Int","comment":" Round a number to the nearest integer. "},{"name":"round","fullName":"Basics.round","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#round","signature":"Float -> Int","comment":" Round a number to the nearest integer. "},{"name":"sin","fullName":"Basics.sin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sin","signature":"Float -> Float","comment":""},{"name":"sin","fullName":"Basics.sin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sin","signature":"Float -> Float","comment":""},{"name":"snd","fullName":"Basics.snd","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#snd","signature":"( a, b ) -> b","comment":" Given a 2-tuple, returns the second value. "},{"name":"snd","fullName":"Basics.snd","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#snd","signature":"( a, b ) -> b","comment":" Given a 2-tuple, returns the second value. "},{"name":"sqrt","fullName":"Basics.sqrt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sqrt","signature":"Float -> Float","comment":" Take the square root of a number. "},{"name":"sqrt","fullName":"Basics.sqrt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sqrt","signature":"Float -> Float","comment":" Take the square root of a number. "},{"name":"tan","fullName":"Basics.tan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#tan","signature":"Float -> Float","comment":""},{"name":"tan","fullName":"Basics.tan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#tan","signature":"Float -> Float","comment":""},{"name":"toFloat","fullName":"Basics.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat","signature":"Int -> Float","comment":" Convert an integer into a float. "},{"name":"toFloat","fullName":"Basics.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat","signature":"Int -> Float","comment":" Convert an integer into a float. "},{"name":"toPolar","fullName":"Basics.toPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert Cartesian coordinates (x,y) to polar coordinates (r,&theta;). "},{"name":"toPolar","fullName":"Basics.toPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert Cartesian coordinates (x,y) to polar coordinates (r,&theta;). "},{"name":"toString","fullName":"Basics.toString","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toString","signature":"a -> String","comment":" Turn any kind of value into a string. When you view the resulting string\\nwith `Text.fromString` it should look just like the value it came from.\\n\\n    toString 42 == \\"42\\"\\n    toString [1,2] == \\"[1,2]\\"\\n    toString \\"he said, \\\\\\"hi\\\\\\"\\" == \\"\\\\\\"he said, \\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\"\\\\\\"\\"\\n"},{"name":"toString","fullName":"Basics.toString","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toString","signature":"a -> String","comment":" Turn any kind of value into a string. When you view the resulting string\\nwith `Text.fromString` it should look just like the value it came from.\\n\\n    toString 42 == \\"42\\"\\n    toString [1,2] == \\"[1,2]\\"\\n    toString \\"he said, \\\\\\"hi\\\\\\"\\" == \\"\\\\\\"he said, \\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\"\\\\\\"\\"\\n"},{"name":"truncate","fullName":"Basics.truncate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#truncate","signature":"Float -> Int","comment":" Truncate a number, rounding towards zero. "},{"name":"truncate","fullName":"Basics.truncate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#truncate","signature":"Float -> Int","comment":" Truncate a number, rounding towards zero. "},{"name":"turns","fullName":"Basics.turns","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#turns","signature":"Float -> Float","comment":" Convert turns to standard Elm angles (radians).\\nOne turn is equal to 360&deg;.\\n"},{"name":"turns","fullName":"Basics.turns","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#turns","signature":"Float -> Float","comment":" Convert turns to standard Elm angles (radians).\\nOne turn is equal to 360&deg;.\\n"},{"name":"uncurry","fullName":"Basics.uncurry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#uncurry","signature":"(a -> b -> c) -> ( a, b ) -> c","comment":" Change how arguments are passed to a function.\\nThis combines two arguments into a single pair.\\n"},{"name":"uncurry","fullName":"Basics.uncurry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#uncurry","signature":"(a -> b -> c) -> ( a, b ) -> c","comment":" Change how arguments are passed to a function.\\nThis combines two arguments into a single pair.\\n"},{"name":"xor","fullName":"Basics.xor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#xor","signature":"Bool -> Bool -> Bool","comment":" The exclusive-or operator. `True` if exactly one input is `True`. "},{"name":"xor","fullName":"Basics.xor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#xor","signature":"Bool -> Bool -> Bool","comment":" The exclusive-or operator. `True` if exactly one input is `True`. "},{"name":"|>","fullName":"Basics.|>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#|>","signature":"a -> (a -> b) -> b","comment":" Forward function application `x |> f == f x`. This function is useful\\nfor avoiding parenthesis and writing code in a more natural way.\\nConsider the following code to create a pentagon:\\n\\n    scale 2 (move (10,10) (filled blue (ngon 5 30)))\\n\\nThis can also be written as:\\n\\n    ngon 5 30\\n      |> filled blue\\n      |> move (10,10)\\n      |> scale 2\\n"},{"name":"|>","fullName":"Basics.|>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#|>","signature":"a -> (a -> b) -> b","comment":" Forward function application `x |> f == f x`. This function is useful\\nfor avoiding parenthesis and writing code in a more natural way.\\nConsider the following code to create a pentagon:\\n\\n    scale 2 (move (10,10) (filled blue (ngon 5 30)))\\n\\nThis can also be written as:\\n\\n    ngon 5 30\\n      |> filled blue\\n      |> move (10,10)\\n      |> scale 2\\n"},{"name":"||","fullName":"Basics.||","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#||","signature":"Bool -> Bool -> Bool","comment":" The logical OR operator. `True` if one or both inputs are `True`.\\nThis operator short-circuits to `True` if the first argument is `True`.\\n"},{"name":"||","fullName":"Basics.||","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#||","signature":"Bool -> Bool -> Bool","comment":" The logical OR operator. `True` if one or both inputs are `True`.\\nThis operator short-circuits to `True` if the first argument is `True`.\\n"},{"name":"LT","fullName":"Basics.LT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"LT","fullName":"Basics.LT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"EQ","fullName":"Basics.EQ","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"EQ","fullName":"Basics.EQ","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"GT","fullName":"Basics.GT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"GT","fullName":"Basics.GT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"andThen","fullName":"Maybe.andThen","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#andThen","signature":"Maybe.Maybe a -> (a -> Maybe.Maybe b) -> Maybe.Maybe b","comment":" Chain together many computations that may fail. It is helpful to see its\\ndefinition:\\n\\n    andThen : Maybe a -> (a -> Maybe b) -> Maybe b\\n    andThen maybe callback =\\n        case maybe of\\n            Just value ->\\n                callback value\\n\\n            Nothing ->\\n                Nothing\\n\\nThis means we only continue with the callback if things are going well. For\\nexample, say you need to use (`head : List Int -> Maybe Int`) to get the\\nfirst month from a `List` and then make sure it is between 1 and 12:\\n\\n    toValidMonth : Int -> Maybe Int\\n    toValidMonth month =\\n        if month >= 1 && month <= 12 then\\n            Just month\\n        else\\n            Nothing\\n\\n    getFirstMonth : List Int -> Maybe Int\\n    getFirstMonth months =\\n        head months `andThen` toValidMonth\\n\\nIf `head` fails and results in `Nothing` (because the `List` was empty`),\\nthis entire chain of operations will short-circuit and result in `Nothing`.\\nIf `toValidMonth` results in `Nothing`, again the chain of computations\\nwill result in `Nothing`.\\n"},{"name":"map","fullName":"Maybe.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map","signature":"(a -> b) -> Maybe.Maybe a -> Maybe.Maybe b","comment":" Transform a `Maybe` value with a given function:\\n\\n    map sqrt (Just 9) == Just 3\\n    map sqrt Nothing == Nothing\\n"},{"name":"map2","fullName":"Maybe.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map2","signature":"(a -> b -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe value","comment":" Apply a function if all the arguments are `Just` a value.\\n\\n    map2 (+) (Just 3) (Just 4) == Just 7\\n    map2 (+) (Just 3) Nothing == Nothing\\n    map2 (+) Nothing (Just 4) == Nothing\\n"},{"name":"map3","fullName":"Maybe.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map3","signature":"(a -> b -> c -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe value","comment":""},{"name":"map4","fullName":"Maybe.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map4","signature":"(a -> b -> c -> d -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe d -> Maybe.Maybe value","comment":""},{"name":"map5","fullName":"Maybe.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map5","signature":"(a -> b -> c -> d -> e -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe d -> Maybe.Maybe e -> Maybe.Maybe value","comment":""},{"name":"oneOf","fullName":"Maybe.oneOf","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#oneOf","signature":"List (Maybe.Maybe a) -> Maybe.Maybe a","comment":" Pick the first `Maybe` that actually has a value. Useful when you want to\\ntry a couple different things, but there is no default value.\\n\\n    oneOf [ Nothing, Just 42, Just 71 ] == Just 42\\n    oneOf [ Nothing, Nothing, Just 71 ] == Just 71\\n    oneOf [ Nothing, Nothing, Nothing ] == Nothing\\n"},{"name":"withDefault","fullName":"Maybe.withDefault","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#withDefault","signature":"a -> Maybe.Maybe a -> a","comment":" Provide a default value, turning an optional value into a normal\\nvalue.  This comes in handy when paired with functions like\\n[`Dict.get`](Dict#get) which gives back a `Maybe`.\\n\\n    withDefault 100 (Just 42)   -- 42\\n    withDefault 100 Nothing     -- 100\\n\\n    withDefault \\"unknown\\" (Dict.get \\"Tom\\" Dict.empty)   -- \\"unknown\\"\\n\\n"},{"name":"Just","fullName":"Maybe.Just","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Just","fullName":"Maybe.Just","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Nothing","fullName":"Maybe.Nothing","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Nothing","fullName":"Maybe.Nothing","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""}]' 
errors: b''
[Elm says]: (elm-format) b'Processing file /Users/rtfeldman/code/elm-css/src/Css.elm' 
errors: b''
[Elm says]: (elm-oracle) b'[{"name":"Mailbox","fullName":"Signal.Mailbox","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#Mailbox","signature":"{ address : Signal.Address a, signal : Signal.Signal a }","comment":" A `Mailbox` is a communication hub. It is made up of\\n\\n  * an `Address` that you can send messages to\\n  * a `Signal` of messages sent to the mailbox\\n"},{"name":"constant","fullName":"Signal.constant","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#constant","signature":"a -> Signal.Signal a","comment":" Create a signal that never changes. This can be useful if you need\\nto pass a combination of signals and normal values to a function:\\n\\n    map3 view Window.dimensions Mouse.position (constant initialModel)\\n"},{"name":"dropRepeats","fullName":"Signal.dropRepeats","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#dropRepeats","signature":"Signal.Signal a -> Signal.Signal a","comment":" Drop updates that repeat the current value of the signal.\\n\\n    numbers : Signal Int\\n\\n    noDups : Signal Int\\n    noDups =\\n        dropRepeats numbers\\n\\n    --  numbers => 0 0 3 3 5 5 5 4 ...\\n    --  noDups  => 0   3   5     4 ...\\n\\nThe signal should not be a signal of functions, or a record that contains a\\nfunction (you\'ll get a runtime error since functions cannot be equated).\\n"},{"name":"filter","fullName":"Signal.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#filter","signature":"(a -> Bool) -> a -> Signal.Signal a -> Signal.Signal a","comment":" Filter out some updates. The given function decides whether we should\\n*keep* an update. If no updates ever flow through, we use the default value\\nprovided. The following example only keeps even numbers and has an initial\\nvalue of zero.\\n\\n    numbers : Signal Int\\n\\n    isEven : Int -> Bool\\n\\n    evens : Signal Int\\n    evens =\\n        filter isEven 0 numbers\\n"},{"name":"filterMap","fullName":"Signal.filterMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#filterMap","signature":"(a -> Maybe.Maybe b) -> b -> Signal.Signal a -> Signal.Signal b","comment":" Filter out some updates. When the filter function gives back `Just` a\\nvalue, we send that value along. When it returns `Nothing` we drop it.\\nIf the initial value of the incoming signal turns into `Nothing`, we use the\\ndefault value provided. The following example keeps only strings that can be\\nread as integers.\\n\\n    userInput : Signal String\\n\\n    toInt : String -> Maybe Int\\n\\n    numbers : Signal Int\\n    numbers =\\n        filterMap toInt 0 userInput\\n"},{"name":"foldp","fullName":"Signal.foldp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#foldp","signature":"(a -> state -> state) -> state -> Signal.Signal a -> Signal.Signal state","comment":" Create a past-dependent signal. Each update from the incoming signals will\\nbe used to step the state forward. The outgoing signal represents the current\\nstate.\\n\\n    clickCount : Signal Int\\n    clickCount =\\n        foldp (\\\\click total -> total + 1) 0 Mouse.clicks\\n\\n    timeSoFar : Signal Time\\n    timeSoFar =\\n        foldp (+) 0 (fps 40)\\n\\nSo `clickCount` updates on each mouse click, incrementing by one. `timeSoFar`\\nis the time the program has been running, updated 40 times a second.\\n"},{"name":"forwardTo","fullName":"Signal.forwardTo","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#forwardTo","signature":"Signal.Address b -> (a -> b) -> Signal.Address a","comment":" Create a new address. This address will tag each message it receives\\nand then forward it along to some other address.\\n\\n    type Action = Undo | Remove Int | NoOp\\n\\n    actions : Mailbox Action\\n    actions = mailbox NoOp\\n\\n    removeAddress : Address Int\\n    removeAddress =\\n        forwardTo actions.address Remove\\n\\nIn this case we have a general `address` that many people may send\\nmessages to. The new `removeAddress` tags all messages with the `Remove` tag\\nbefore forwarding them along to the more general `address`. This means\\nsome parts of our application can know *only* about `removeAddress` and not\\ncare what other kinds of `Actions` are possible.\\n"},{"name":"mailbox","fullName":"Signal.mailbox","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#mailbox","signature":"a -> Signal.Mailbox a","comment":" Create a mailbox you can send messages to. The primary use case is\\nreceiving updates from tasks and UI elements. The argument is a default value\\nfor the custom signal.\\n\\nNote: Creating new signals is inherently impure, so `(mailbox ())` and\\n`(mailbox ())` produce two different mailboxes.\\n"},{"name":"map","fullName":"Signal.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map","signature":"(a -> result) -> Signal.Signal a -> Signal.Signal result","comment":" Apply a function to a signal.\\n\\n    mouseIsUp : Signal Bool\\n    mouseIsUp =\\n        map not Mouse.isDown\\n\\n    main : Signal Element\\n    main =\\n        map Graphics.Element.show Mouse.position\\n"},{"name":"map2","fullName":"Signal.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map2","signature":"(a -> b -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal result","comment":" Apply a function to the current value of two signals. The function\\nis reevaluated whenever *either* signal changes. In the following example, we\\nfigure out the `aspectRatio` of the window by combining the current width and\\nheight.\\n\\n    ratio : Int -> Int -> Float\\n    ratio width height =\\n        toFloat width / toFloat height\\n\\n    aspectRatio : Signal Float\\n    aspectRatio =\\n        map2 ratio Window.width Window.height\\n"},{"name":"map3","fullName":"Signal.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map3","signature":"(a -> b -> c -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal result","comment":""},{"name":"map4","fullName":"Signal.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map4","signature":"(a -> b -> c -> d -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal d -> Signal.Signal result","comment":""},{"name":"map5","fullName":"Signal.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map5","signature":"(a -> b -> c -> d -> e -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal d -> Signal.Signal e -> Signal.Signal result","comment":""},{"name":"merge","fullName":"Signal.merge","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#merge","signature":"Signal.Signal a -> Signal.Signal a -> Signal.Signal a","comment":" Merge two signals into one. This function is extremely useful for bringing\\ntogether lots of different signals to feed into a `foldp`.\\n\\n    type Update = MouseMove (Int,Int) | TimeDelta Float\\n\\n    updates : Signal Update\\n    updates =\\n        merge\\n            (map MouseMove Mouse.position)\\n            (map TimeDelta (fps 40))\\n\\nIf an update comes from either of the incoming signals, it updates the outgoing\\nsignal. If an update comes on both signals at the same time, the update provided\\nby the left input signal wins (i.e., the update from the second signal is discarded).\\n"},{"name":"mergeMany","fullName":"Signal.mergeMany","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#mergeMany","signature":"List (Signal.Signal a) -> Signal.Signal a","comment":" Merge many signals into one. This is useful when you are merging more than\\ntwo signals. When multiple updates come in at the same time, the left-most\\nupdate wins, just like with `merge`.\\n\\n    type Update = MouseMove (Int,Int) | TimeDelta Float | Click\\n\\n    updates : Signal Update\\n    updates =\\n        mergeMany\\n            [ map MouseMove Mouse.position\\n            , map TimeDelta (fps 40)\\n            , map (always Click) Mouse.clicks\\n            ]\\n"},{"name":"message","fullName":"Signal.message","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#message","signature":"Signal.Address a -> a -> Signal.Message","comment":" Create a message that may be sent to a `Mailbox` at a later time.\\n\\nMost importantly, this lets us create APIs that can send values to ports\\n*without* allowing people to run arbitrary tasks.\\n"},{"name":"sampleOn","fullName":"Signal.sampleOn","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#sampleOn","signature":"Signal.Signal a -> Signal.Signal b -> Signal.Signal b","comment":" Sample from the second input every time an event occurs on the first input.\\nFor example, `(sampleOn Mouse.clicks (Time.every Time.second))` will give the\\napproximate time of the latest click. "},{"name":"send","fullName":"Signal.send","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#send","signature":"Signal.Address a -> a -> Task.Task x ()","comment":" Send a message to an `Address`.\\n\\n    type Action = Undo | Remove Int\\n\\n    address : Address Action\\n\\n    requestUndo : Task x ()\\n    requestUndo =\\n        send address Undo\\n\\nThe `Signal` associated with `address` will receive the `Undo` message\\nand push it through the Elm program.\\n"},{"name":"all","fullName":"String.all","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#all","signature":"(Char -> Bool) -> String -> Bool","comment":" Determine whether *all* characters satisfy a predicate.\\n\\n    all isDigit \\"90210\\" == True\\n    all isDigit \\"R2-D2\\" == False\\n    all isDigit \\"heart\\" == False\\n"},{"name":"any","fullName":"String.any","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#any","signature":"(Char -> Bool) -> String -> Bool","comment":" Determine whether *any* characters satisfy a predicate.\\n\\n    any isDigit \\"90210\\" == True\\n    any isDigit \\"R2-D2\\" == True\\n    any isDigit \\"heart\\" == False\\n"},{"name":"append","fullName":"String.append","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#append","signature":"String -> String -> String","comment":" Append two strings. You can also use [the `(++)` operator](Basics#++)\\nto do this.\\n\\n    append \\"butter\\" \\"fly\\" == \\"butterfly\\"\\n"},{"name":"concat","fullName":"String.concat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#concat","signature":"List String -> String","comment":" Concatenate many strings into one.\\n\\n    concat [\\"never\\",\\"the\\",\\"less\\"] == \\"nevertheless\\"\\n"},{"name":"cons","fullName":"String.cons","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#cons","signature":"Char -> String -> String","comment":" Add a character to the beginning of a string. "},{"name":"contains","fullName":"String.contains","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#contains","signature":"String -> String -> Bool","comment":" See if the second string contains the first one.\\n\\n    contains \\"the\\" \\"theory\\" == True\\n    contains \\"hat\\" \\"theory\\" == False\\n    contains \\"THE\\" \\"theory\\" == False\\n\\nUse [`Regex.contains`](Regex#contains) if you need something more flexible.\\n"},{"name":"dropLeft","fullName":"String.dropLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#dropLeft","signature":"Int -> String -> String","comment":" Drop *n* characters from the left side of a string. "},{"name":"dropRight","fullName":"String.dropRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#dropRight","signature":"Int -> String -> String","comment":" Drop *n* characters from the right side of a string. "},{"name":"endsWith","fullName":"String.endsWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#endsWith","signature":"String -> String -> Bool","comment":" See if the second string ends with the first one.\\n\\n    endsWith \\"the\\" \\"theory\\" == False\\n    endsWith \\"ory\\" \\"theory\\" == True\\n"},{"name":"filter","fullName":"String.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#filter","signature":"(Char -> Bool) -> String -> String","comment":" Keep only the characters that satisfy the predicate.\\n\\n    filter isDigit \\"R2-D2\\" == \\"22\\"\\n"},{"name":"foldl","fullName":"String.foldl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#foldl","signature":"(Char -> b -> b) -> b -> String -> b","comment":" Reduce a string from the left.\\n\\n    foldl cons \\"\\" \\"time\\" == \\"emit\\"\\n"},{"name":"foldr","fullName":"String.foldr","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#foldr","signature":"(Char -> b -> b) -> b -> String -> b","comment":" Reduce a string from the right.\\n\\n    foldr cons \\"\\" \\"time\\" == \\"time\\"\\n"},{"name":"fromChar","fullName":"String.fromChar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#fromChar","signature":"Char -> String","comment":" Create a string from a given character.\\n\\n    fromChar \'a\' == \\"a\\"\\n"},{"name":"fromList","fullName":"String.fromList","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#fromList","signature":"List Char -> String","comment":" Convert a list of characters into a String. Can be useful if you\\nwant to create a string primarily by consing, perhaps for decoding\\nsomething.\\n\\n    fromList [\'a\',\'b\',\'c\'] == \\"abc\\"\\n"},{"name":"indexes","fullName":"String.indexes","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#indexes","signature":"String -> String -> List Int","comment":" Get all of the indexes for a substring in another string.\\n\\n    indexes \\"i\\" \\"Mississippi\\"   == [1,4,7,10]\\n    indexes \\"ss\\" \\"Mississippi\\"  == [2,5]\\n    indexes \\"needle\\" \\"haystack\\" == []\\n"},{"name":"indices","fullName":"String.indices","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#indices","signature":"String -> String -> List Int","comment":" Alias for `indexes`. "},{"name":"isEmpty","fullName":"String.isEmpty","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#isEmpty","signature":"String -> Bool","comment":" Determine if a string is empty.\\n\\n    isEmpty \\"\\" == True\\n    isEmpty \\"the world\\" == False\\n"},{"name":"join","fullName":"String.join","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#join","signature":"String -> List String -> String","comment":" Put many strings together with a given separator.\\n\\n    join \\"a\\" [\\"H\\",\\"w\\",\\"ii\\",\\"n\\"]        == \\"Hawaiian\\"\\n    join \\" \\" [\\"cat\\",\\"dog\\",\\"cow\\"]       == \\"cat dog cow\\"\\n    join \\"/\\" [\\"home\\",\\"evan\\",\\"Desktop\\"] == \\"home/evan/Desktop\\"\\n"},{"name":"left","fullName":"String.left","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#left","signature":"Int -> String -> String","comment":" Take *n* characters from the left side of a string. "},{"name":"length","fullName":"String.length","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#length","signature":"String -> Int","comment":" Get the length of a string.\\n\\n    length \\"innumerable\\" == 11\\n    length \\"\\" == 0\\n\\n"},{"name":"lines","fullName":"String.lines","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#lines","signature":"String -> List String","comment":" Break a string into lines, splitting on newlines.\\n\\n    lines \\"How are you?\\\\nGood?\\" == [\\"How are you?\\", \\"Good?\\"]\\n"},{"name":"map","fullName":"String.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#map","signature":"(Char -> Char) -> String -> String","comment":" Transform every character in a string\\n\\n    map (\\\\c -> if c == \'/\' then \'.\' else c) \\"a/b/c\\" == \\"a.b.c\\"\\n"},{"name":"pad","fullName":"String.pad","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#pad","signature":"Int -> Char -> String -> String","comment":" Pad a string on both sides until it has a given length.\\n\\n    pad 5 \' \' \\"1\\"   == \\"  1  \\"\\n    pad 5 \' \' \\"11\\"  == \\"  11 \\"\\n    pad 5 \' \' \\"121\\" == \\" 121 \\"\\n"},{"name":"padLeft","fullName":"String.padLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#padLeft","signature":"Int -> Char -> String -> String","comment":" Pad a string on the left until it has a given length.\\n\\n    padLeft 5 \'.\' \\"1\\"   == \\"....1\\"\\n    padLeft 5 \'.\' \\"11\\"  == \\"...11\\"\\n    padLeft 5 \'.\' \\"121\\" == \\"..121\\"\\n"},{"name":"padRight","fullName":"String.padRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#padRight","signature":"Int -> Char -> String -> String","comment":" Pad a string on the right until it has a given length.\\n\\n    padRight 5 \'.\' \\"1\\"   == \\"1....\\"\\n    padRight 5 \'.\' \\"11\\"  == \\"11...\\"\\n    padRight 5 \'.\' \\"121\\" == \\"121..\\"\\n"},{"name":"repeat","fullName":"String.repeat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#repeat","signature":"Int -> String -> String","comment":" Repeat a string *n* times.\\n\\n    repeat 3 \\"ha\\" == \\"hahaha\\"\\n"},{"name":"reverse","fullName":"String.reverse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#reverse","signature":"String -> String","comment":" Reverse a string.\\n\\n    reverse \\"stressed\\" == \\"desserts\\"\\n"},{"name":"right","fullName":"String.right","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#right","signature":"Int -> String -> String","comment":" Take *n* characters from the right side of a string. "},{"name":"slice","fullName":"String.slice","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#slice","signature":"Int -> Int -> String -> String","comment":" Take a substring given a start and end index. Negative indexes\\nare taken starting from the *end* of the list.\\n\\n    slice  7  9 \\"snakes on a plane!\\" == \\"on\\"\\n    slice  0  6 \\"snakes on a plane!\\" == \\"snakes\\"\\n    slice  0 -7 \\"snakes on a plane!\\" == \\"snakes on a\\"\\n    slice -6 -1 \\"snakes on a plane!\\" == \\"plane\\"\\n"},{"name":"split","fullName":"String.split","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#split","signature":"String -> String -> List String","comment":" Split a string using a given separator.\\n\\n    split \\",\\" \\"cat,dog,cow\\"        == [\\"cat\\",\\"dog\\",\\"cow\\"]\\n    split \\"/\\" \\"home/evan/Desktop/\\" == [\\"home\\",\\"evan\\",\\"Desktop\\", \\"\\"]\\n\\nUse [`Regex.split`](Regex#split) if you need something more flexible.\\n"},{"name":"startsWith","fullName":"String.startsWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#startsWith","signature":"String -> String -> Bool","comment":" See if the second string starts with the first one.\\n\\n    startsWith \\"the\\" \\"theory\\" == True\\n    startsWith \\"ory\\" \\"theory\\" == False\\n"},{"name":"toFloat","fullName":"String.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toFloat","signature":"String -> Result.Result String Float","comment":" Try to convert a string into a float, failing on improperly formatted strings.\\n\\n    toFloat \\"123\\" == Ok 123.0\\n    toFloat \\"-42\\" == Ok -42.0\\n    toFloat \\"3.1\\" == Ok 3.1\\n    toFloat \\"31a\\" == Err \\"could not convert string \'31a\' to a Float\\"\\n"},{"name":"toInt","fullName":"String.toInt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toInt","signature":"String -> Result.Result String Int","comment":" Try to convert a string into an int, failing on improperly formatted strings.\\n\\n    toInt \\"123\\" == Ok 123\\n    toInt \\"-42\\" == Ok -42\\n    toInt \\"3.1\\" == Err \\"could not convert string \'3.1\' to an Int\\"\\n    toInt \\"31a\\" == Err \\"could not convert string \'31a\' to an Int\\"\\n"},{"name":"toList","fullName":"String.toList","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toList","signature":"String -> List Char","comment":" Convert a string to a list of characters.\\n\\n    toList \\"abc\\" == [\'a\',\'b\',\'c\']\\n"},{"name":"toLower","fullName":"String.toLower","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toLower","signature":"String -> String","comment":" Convert a string to all lower case. Useful for case-insensitive comparisons. "},{"name":"toUpper","fullName":"String.toUpper","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toUpper","signature":"String -> String","comment":" Convert a string to all upper case. Useful for case-insensitive comparisons\\nand VIRTUAL YELLING.\\n"},{"name":"trim","fullName":"String.trim","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trim","signature":"String -> String","comment":" Get rid of whitespace on both sides of a string.\\n\\n    trim \\"  hats  \\\\n\\" == \\"hats\\"\\n"},{"name":"trimLeft","fullName":"String.trimLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trimLeft","signature":"String -> String","comment":" Get rid of whitespace on the left of a string.\\n\\n    trimLeft \\"  hats  \\\\n\\" == \\"hats  \\\\n\\"\\n"},{"name":"trimRight","fullName":"String.trimRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trimRight","signature":"String -> String","comment":" Get rid of whitespace on the right of a string.\\n\\n    trimRight \\"  hats  \\\\n\\" == \\"  hats\\"\\n"},{"name":"uncons","fullName":"String.uncons","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#uncons","signature":"String -> Maybe.Maybe ( Char, String )","comment":" Split a non-empty string into its head and tail. This lets you\\npattern match on strings exactly as you would with lists.\\n\\n    uncons \\"abc\\" == Just (\'a\',\\"bc\\")\\n    uncons \\"\\"    == Nothing\\n"},{"name":"words","fullName":"String.words","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#words","signature":"String -> List String","comment":" Break a string into words, splitting on chunks of whitespace.\\n\\n    words \\"How are \\\\t you? \\\\n Good?\\" == [\\"How\\",\\"are\\",\\"you?\\",\\"Good?\\"]\\n"},{"name":"::","fullName":"List.::","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#::","signature":"a -> List a -> List a","comment":" Add an element to the front of a list. Pronounced *cons*.\\n\\n    1 :: [2,3] == [1,2,3]\\n    1 :: [] == [1]\\n"},{"name":"::","fullName":"List.::","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#::","signature":"a -> List a -> List a","comment":" Add an element to the front of a list. Pronounced *cons*.\\n\\n    1 :: [2,3] == [1,2,3]\\n    1 :: [] == [1]\\n"},{"name":"all","fullName":"List.all","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#all","signature":"(a -> Bool) -> List a -> Bool","comment":" Determine if all elements satisfy the predicate.\\n\\n    all isEven [2,4] == True\\n    all isEven [2,3] == False\\n    all isEven [] == True\\n"},{"name":"any","fullName":"List.any","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#any","signature":"(a -> Bool) -> List a -> Bool","comment":" Determine if any elements satisfy the predicate.\\n\\n    any isEven [2,3] == True\\n    any isEven [1,3] == False\\n    any isEven [] == False\\n"},{"name":"append","fullName":"List.append","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#append","signature":"List a -> List a -> List a","comment":" Put two lists together.\\n\\n    append [1,1,2] [3,5,8] == [1,1,2,3,5,8]\\n    append [\'a\',\'b\'] [\'c\'] == [\'a\',\'b\',\'c\']\\n"},{"name":"concat","fullName":"List.concat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#concat","signature":"List (List a) -> List a","comment":" Concatenate a bunch of lists into a single list:\\n\\n    concat [[1,2],[3],[4,5]] == [1,2,3,4,5]\\n"},{"name":"concatMap","fullName":"List.concatMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#concatMap","signature":"(a -> List b) -> List a -> List b","comment":" Map a given function onto a list and flatten the resulting lists.\\n\\n    concatMap f xs == concat (map f xs)\\n"},{"name":"drop","fullName":"List.drop","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#drop","signature":"Int -> List a -> List a","comment":" Drop the first *n* members of a list.\\n\\n    drop 2 [1,2,3,4] == [3,4]\\n"},{"name":"filter","fullName":"List.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#filter","signature":"(a -> Bool) -> List a -> List a","comment":" Keep only elements that satisfy the predicate.\\n\\n    filter isEven [1..6] == [2,4,6]\\n"},{"name":"filterMap","fullName":"List.filterMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#filterMap","signature":"(a -> Maybe.Maybe b) -> List a -> List b","comment":" Apply a function that may succeed to all values in the list, but only keep\\nthe successes.\\n\\n    String.toInt : String -> Maybe Int\\n\\n    filterMap String.toInt [\\"3\\", \\"4.0\\", \\"5\\", \\"hats\\"] == [3,5]\\n"},{"name":"foldl","fullName":"List.foldl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#foldl","signature":"(a -> b -> b) -> b -> List a -> b","comment":" Reduce a list from the left.\\n\\n    foldl (::) [] [1,2,3] == [3,2,1]\\n"},{"name":"foldr","fullName":"List.foldr","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#foldr","signature":"(a -> b -> b) -> b -> List a -> b","comment":" Reduce a list from the right.\\n\\n    foldr (+) 0 [1,2,3] == 6\\n"},{"name":"head","fullName":"List.head","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#head","signature":"List a -> Maybe.Maybe a","comment":" Extract the first element of a list.\\n\\n    head [1,2,3] == Just 1\\n    head [] == Nothing\\n"},{"name":"indexedMap","fullName":"List.indexedMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#indexedMap","signature":"(Int -> a -> b) -> List a -> List b","comment":" Same as `map` but the function is also applied to the index of each\\nelement (starting at zero).\\n\\n    indexedMap (,) [\\"Tom\\",\\"Sue\\",\\"Bob\\"] == [ (0,\\"Tom\\"), (1,\\"Sue\\"), (2,\\"Bob\\") ]\\n"},{"name":"intersperse","fullName":"List.intersperse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#intersperse","signature":"a -> List a -> List a","comment":" Places the given value between all members of the given list.\\n\\n    intersperse \\"on\\" [\\"turtles\\",\\"turtles\\",\\"turtles\\"] == [\\"turtles\\",\\"on\\",\\"turtles\\",\\"on\\",\\"turtles\\"]\\n"},{"name":"isEmpty","fullName":"List.isEmpty","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#isEmpty","signature":"List a -> Bool","comment":" Determine if a list is empty.\\n\\n    isEmpty [] == True\\n"},{"name":"length","fullName":"List.length","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#length","signature":"List a -> Int","comment":" Determine the length of a list.\\n\\n    length [1,2,3] == 3\\n"},{"name":"map","fullName":"List.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map","signature":"(a -> b) -> List a -> List b","comment":" Apply a function to every element of a list.\\n\\n    map sqrt [1,4,9] == [1,2,3]\\n\\n    map not [True,False,True] == [False,True,False]\\n"},{"name":"map2","fullName":"List.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map2","signature":"(a -> b -> result) -> List a -> List b -> List result","comment":" Combine two lists, combining them with the given function.\\nIf one list is longer, the extra elements are dropped.\\n\\n    map2 (+) [1,2,3] [1,2,3,4] == [2,4,6]\\n\\n    map2 (,) [1,2,3] [\'a\',\'b\'] == [ (1,\'a\'), (2,\'b\') ]\\n\\n    pairs : List a -> List b -> List (a,b)\\n    pairs lefts rights =\\n        map2 (,) lefts rights\\n"},{"name":"map3","fullName":"List.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map3","signature":"(a -> b -> c -> result) -> List a -> List b -> List c -> List result","comment":""},{"name":"map4","fullName":"List.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map4","signature":"(a -> b -> c -> d -> result) -> List a -> List b -> List c -> List d -> List result","comment":""},{"name":"map5","fullName":"List.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map5","signature":"(a -> b -> c -> d -> e -> result) -> List a -> List b -> List c -> List d -> List e -> List result","comment":""},{"name":"maximum","fullName":"List.maximum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#maximum","signature":"List comparable -> Maybe.Maybe comparable","comment":" Find the maximum element in a non-empty list.\\n\\n    maximum [1,4,2] == Just 4\\n    maximum []      == Nothing\\n"},{"name":"member","fullName":"List.member","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#member","signature":"a -> List a -> Bool","comment":" Figure out whether a list contains a value.\\n\\n    member 9 [1,2,3,4] == False\\n    member 4 [1,2,3,4] == True\\n"},{"name":"minimum","fullName":"List.minimum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#minimum","signature":"List comparable -> Maybe.Maybe comparable","comment":" Find the minimum element in a non-empty list.\\n\\n    minimum [3,2,1] == Just 1\\n    minimum []      == Nothing\\n"},{"name":"partition","fullName":"List.partition","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#partition","signature":"(a -> Bool) -> List a -> ( List a, List a )","comment":" Partition a list based on a predicate. The first list contains all values\\nthat satisfy the predicate, and the second list contains all the value that do\\nnot.\\n\\n    partition (\\\\x -> x < 3) [0..5] == ([0,1,2], [3,4,5])\\n    partition isEven        [0..5] == ([0,2,4], [1,3,5])\\n"},{"name":"product","fullName":"List.product","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#product","signature":"List number -> number","comment":" Get the product of the list elements.\\n\\n    product [1..4] == 24\\n"},{"name":"repeat","fullName":"List.repeat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#repeat","signature":"Int -> a -> List a","comment":" Create a list with *n* copies of a value:\\n\\n    repeat 3 (0,0) == [(0,0),(0,0),(0,0)]\\n"},{"name":"reverse","fullName":"List.reverse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#reverse","signature":"List a -> List a","comment":" Reverse a list.\\n\\n    reverse [1..4] == [4,3,2,1]\\n"},{"name":"scanl","fullName":"List.scanl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#scanl","signature":"(a -> b -> b) -> b -> List a -> List b","comment":" Reduce a list from the left, building up all of the intermediate results into a list.\\n\\n    scanl (+) 0 [1,2,3,4] == [0,1,3,6,10]\\n"},{"name":"sort","fullName":"List.sort","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sort","signature":"List comparable -> List comparable","comment":" Sort values from lowest to highest\\n\\n    sort [3,1,5] == [1,3,5]\\n"},{"name":"sortBy","fullName":"List.sortBy","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sortBy","signature":"(a -> comparable) -> List a -> List a","comment":" Sort values by a derived property.\\n\\n    alice = { name=\\"Alice\\", height=1.62 }\\n    bob   = { name=\\"Bob\\"  , height=1.85 }\\n    chuck = { name=\\"Chuck\\", height=1.76 }\\n\\n    sortBy .name   [chuck,alice,bob] == [alice,bob,chuck]\\n    sortBy .height [chuck,alice,bob] == [alice,chuck,bob]\\n\\n    sortBy String.length [\\"mouse\\",\\"cat\\"] == [\\"cat\\",\\"mouse\\"]\\n"},{"name":"sortWith","fullName":"List.sortWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sortWith","signature":"(a -> a -> Basics.Order) -> List a -> List a","comment":" Sort values with a custom comparison function.\\n\\n    sortWith flippedComparison [1..5] == [5,4,3,2,1]\\n\\n    flippedComparison a b =\\n        case compare a b of\\n          LT -> GT\\n          EQ -> EQ\\n          GT -> LT\\n\\nThis is also the most general sort function, allowing you\\nto define any other: `sort == sortWith compare`\\n"},{"name":"sum","fullName":"List.sum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sum","signature":"List number -> number","comment":" Get the sum of the list elements.\\n\\n    sum [1..4] == 10\\n"},{"name":"tail","fullName":"List.tail","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#tail","signature":"List a -> Maybe.Maybe (List a)","comment":" Extract the rest of the list.\\n\\n    tail [1,2,3] == Just [2,3]\\n    tail [] == Nothing\\n"},{"name":"take","fullName":"List.take","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#take","signature":"Int -> List a -> List a","comment":" Take the first *n* members of a list.\\n\\n    take 2 [1,2,3,4] == [1,2]\\n"},{"name":"unzip","fullName":"List.unzip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#unzip","signature":"List ( a, b ) -> ( List a, List b )","comment":" Decompose a list of tuples into a tuple of lists.\\n\\n    unzip [(0, True), (17, False), (1337, True)] == ([0,17,1337], [True,False,True])\\n"},{"name":"andThen","fullName":"Result.andThen","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#andThen","signature":"Result.Result x a -> (a -> Result.Result x b) -> Result.Result x b","comment":" Chain together a sequence of computations that may fail. It is helpful\\nto see its definition:\\n\\n    andThen : Result e a -> (a -> Result e b) -> Result e b\\n    andThen result callback =\\n        case result of\\n          Ok value -> callback value\\n          Err msg -> Err msg\\n\\nThis means we only continue with the callback if things are going well. For\\nexample, say you need to use (`toInt : String -> Result String Int`) to parse\\na month and make sure it is between 1 and 12:\\n\\n    toValidMonth : Int -> Result String Int\\n    toValidMonth month =\\n        if month >= 1 && month <= 12\\n            then Ok month\\n            else Err \\"months must be between 1 and 12\\"\\n\\n    toMonth : String -> Result String Int\\n    toMonth rawString =\\n        toInt rawString `andThen` toValidMonth\\n\\n    -- toMonth \\"4\\" == Ok 4\\n    -- toMonth \\"9\\" == Ok 9\\n    -- toMonth \\"a\\" == Err \\"cannot parse to an Int\\"\\n    -- toMonth \\"0\\" == Err \\"months must be between 1 and 12\\"\\n\\nThis allows us to come out of a chain of operations with quite a specific error\\nmessage. It is often best to create a custom type that explicitly represents\\nthe exact ways your computation may fail. This way it is easy to handle in your\\ncode.\\n"},{"name":"formatError","fullName":"Result.formatError","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#formatError","signature":"(error -> error\') -> Result.Result error a -> Result.Result error\' a","comment":" Format the error value of a result. If the result is `Ok`, it stays exactly\\nthe same, but if the result is an `Err` we will format the error. For example,\\nsay the errors we get have too much information:\\n\\n    parseInt : String -> Result ParseError Int\\n\\n    type ParseError =\\n        { message : String\\n        , code : Int\\n        , position : (Int,Int)\\n        }\\n\\n    formatError .message (parseInt \\"123\\") == Ok 123\\n    formatError .message (parseInt \\"abc\\") == Err \\"char \'a\' is not a number\\"\\n"},{"name":"fromMaybe","fullName":"Result.fromMaybe","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#fromMaybe","signature":"x -> Maybe.Maybe a -> Result.Result x a","comment":" Convert from a simple `Maybe` to interact with some code that primarily\\nuses `Results`.\\n\\n    parseInt : String -> Maybe Int\\n\\n    resultParseInt : String -> Result String Int\\n    resultParseInt string =\\n        fromMaybe (\\"error parsing string: \\" ++ toString string) (parseInt string)\\n"},{"name":"map","fullName":"Result.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map","signature":"(a -> value) -> Result.Result x a -> Result.Result x value","comment":" Apply a function to a result. If the result is `Ok`, it will be converted.\\nIf the result is an `Err`, the same error value will propagate through.\\n\\n    map sqrt (Ok 4.0)          == Ok 2.0\\n    map sqrt (Err \\"bad input\\") == Err \\"bad input\\"\\n"},{"name":"map2","fullName":"Result.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map2","signature":"(a -> b -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x value","comment":" Apply a function to two results, if both results are `Ok`. If not,\\nthe first argument which is an `Err` will propagate through.\\n\\n    map2 (+) (String.toInt \\"1\\") (String.toInt \\"2\\") == Ok 3\\n    map2 (+) (String.toInt \\"1\\") (String.toInt \\"y\\") == Err \\"could not convert string \'y\' to an Int\\"\\n    map2 (+) (String.toInt \\"x\\") (String.toInt \\"y\\") == Err \\"could not convert string \'x\' to an Int\\"\\n"},{"name":"map3","fullName":"Result.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map3","signature":"(a -> b -> c -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x value","comment":""},{"name":"map4","fullName":"Result.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map4","signature":"(a -> b -> c -> d -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x d -> Result.Result x value","comment":""},{"name":"map5","fullName":"Result.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map5","signature":"(a -> b -> c -> d -> e -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x d -> Result.Result x e -> Result.Result x value","comment":""},{"name":"toMaybe","fullName":"Result.toMaybe","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#toMaybe","signature":"Result.Result x a -> Maybe.Maybe a","comment":" Convert to a simpler `Maybe` if the actual error message is not needed or\\nyou need to interact with some code that primarily uses maybes.\\n\\n    parseInt : String -> Result ParseError Int\\n\\n    maybeParseInt : String -> Maybe Int\\n    maybeParseInt string =\\n        toMaybe (parseInt string)\\n"},{"name":"withDefault","fullName":"Result.withDefault","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#withDefault","signature":"a -> Result.Result x a -> a","comment":" If the result is `Ok` return the value, but if the result is an `Err` then\\nreturn a given default value. The following examples try to parse integers.\\n\\n    Result.withDefault 0 (String.toInt \\"123\\") == 123\\n    Result.withDefault 0 (String.toInt \\"abc\\") == 0\\n"},{"name":"Ok","fullName":"Result.Ok","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Ok","fullName":"Result.Ok","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Err","fullName":"Result.Err","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Err","fullName":"Result.Err","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"%","fullName":"Basics.%","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#%","signature":"Int -> Int -> Int","comment":" Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic).\\n\\n     7 % 2 == 1\\n    -1 % 4 == 3\\n"},{"name":"%","fullName":"Basics.%","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#%","signature":"Int -> Int -> Int","comment":" Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic).\\n\\n     7 % 2 == 1\\n    -1 % 4 == 3\\n"},{"name":"&&","fullName":"Basics.&&","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#&&","signature":"Bool -> Bool -> Bool","comment":" The logical AND operator. `True` if both inputs are `True`.\\nThis operator short-circuits to `False` if the first argument is `False`.\\n"},{"name":"&&","fullName":"Basics.&&","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#&&","signature":"Bool -> Bool -> Bool","comment":" The logical AND operator. `True` if both inputs are `True`.\\nThis operator short-circuits to `False` if the first argument is `False`.\\n"},{"name":"*","fullName":"Basics.*","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#*","signature":"number -> number -> number","comment":""},{"name":"*","fullName":"Basics.*","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#*","signature":"number -> number -> number","comment":""},{"name":"+","fullName":"Basics.+","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#+","signature":"number -> number -> number","comment":""},{"name":"+","fullName":"Basics.+","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#+","signature":"number -> number -> number","comment":""},{"name":"++","fullName":"Basics.++","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#++","signature":"appendable -> appendable -> appendable","comment":" Put two appendable things together. This includes strings, lists, and text.\\n\\n    \\"hello\\" ++ \\"world\\" == \\"helloworld\\"\\n    [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8]\\n"},{"name":"++","fullName":"Basics.++","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#++","signature":"appendable -> appendable -> appendable","comment":" Put two appendable things together. This includes strings, lists, and text.\\n\\n    \\"hello\\" ++ \\"world\\" == \\"helloworld\\"\\n    [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8]\\n"},{"name":"-","fullName":"Basics.-","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#-","signature":"number -> number -> number","comment":""},{"name":"-","fullName":"Basics.-","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#-","signature":"number -> number -> number","comment":""},{"name":"/","fullName":"Basics./","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/","signature":"Float -> Float -> Float","comment":" Floating point division. "},{"name":"/","fullName":"Basics./","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/","signature":"Float -> Float -> Float","comment":" Floating point division. "},{"name":"//","fullName":"Basics.//","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#//","signature":"Int -> Int -> Int","comment":" Integer division. The remainder is discarded. "},{"name":"//","fullName":"Basics.//","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#//","signature":"Int -> Int -> Int","comment":" Integer division. The remainder is discarded. "},{"name":"/=","fullName":"Basics./=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/=","signature":"a -> a -> Bool","comment":""},{"name":"/=","fullName":"Basics./=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/=","signature":"a -> a -> Bool","comment":""},{"name":"<","fullName":"Basics.<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<","fullName":"Basics.<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<<","fullName":"Basics.<<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<<","signature":"(b -> c) -> (a -> b) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    not << isEven << sqrt\\n\\nYou can think of this operator as equivalent to the following:\\n\\n    (g << f)  ==  (\\\\x -> g (f x))\\n\\nSo our example expands out to something like this:\\n\\n    \\\\n -> not (isEven (sqrt n))\\n"},{"name":"<<","fullName":"Basics.<<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<<","signature":"(b -> c) -> (a -> b) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    not << isEven << sqrt\\n\\nYou can think of this operator as equivalent to the following:\\n\\n    (g << f)  ==  (\\\\x -> g (f x))\\n\\nSo our example expands out to something like this:\\n\\n    \\\\n -> not (isEven (sqrt n))\\n"},{"name":"<=","fullName":"Basics.<=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<=","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<=","fullName":"Basics.<=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<=","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<|","fullName":"Basics.<|","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<|","signature":"(a -> b) -> a -> b","comment":" Backward function application `f <| x == f x`. This function is useful for\\navoiding parenthesis. Consider the following code to create a text element:\\n\\n    leftAligned (monospace (fromString \\"code\\"))\\n\\nThis can also be written as:\\n\\n    leftAligned << monospace <| fromString \\"code\\"\\n"},{"name":"<|","fullName":"Basics.<|","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<|","signature":"(a -> b) -> a -> b","comment":" Backward function application `f <| x == f x`. This function is useful for\\navoiding parenthesis. Consider the following code to create a text element:\\n\\n    leftAligned (monospace (fromString \\"code\\"))\\n\\nThis can also be written as:\\n\\n    leftAligned << monospace <| fromString \\"code\\"\\n"},{"name":"==","fullName":"Basics.==","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==","signature":"a -> a -> Bool","comment":""},{"name":"==","fullName":"Basics.==","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==","signature":"a -> a -> Bool","comment":""},{"name":">","fullName":"Basics.>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>","signature":"comparable -> comparable -> Bool","comment":""},{"name":">","fullName":"Basics.>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>","signature":"comparable -> comparable -> Bool","comment":""},{"name":">=","fullName":"Basics.>=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>=","signature":"comparable -> comparable -> Bool","comment":""},{"name":">=","fullName":"Basics.>=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>=","signature":"comparable -> comparable -> Bool","comment":""},{"name":">>","fullName":"Basics.>>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>>","signature":"(a -> b) -> (b -> c) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    sqrt >> isEven >> not\\n\\nThis direction of function composition seems less pleasant than `(<<)` which\\nreads nicely in expressions like: `filter (not << isRegistered) students`\\n"},{"name":">>","fullName":"Basics.>>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>>","signature":"(a -> b) -> (b -> c) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    sqrt >> isEven >> not\\n\\nThis direction of function composition seems less pleasant than `(<<)` which\\nreads nicely in expressions like: `filter (not << isRegistered) students`\\n"},{"name":"^","fullName":"Basics.^","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#^","signature":"number -> number -> number","comment":" Exponentiation\\n\\n    3^2 == 9\\n"},{"name":"^","fullName":"Basics.^","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#^","signature":"number -> number -> number","comment":" Exponentiation\\n\\n    3^2 == 9\\n"},{"name":"abs","fullName":"Basics.abs","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#abs","signature":"number -> number","comment":" Take the absolute value of a number. "},{"name":"abs","fullName":"Basics.abs","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#abs","signature":"number -> number","comment":" Take the absolute value of a number. "},{"name":"acos","fullName":"Basics.acos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#acos","signature":"Float -> Float","comment":""},{"name":"acos","fullName":"Basics.acos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#acos","signature":"Float -> Float","comment":""},{"name":"always","fullName":"Basics.always","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#always","signature":"a -> b -> a","comment":" Create a [constant function](http://en.wikipedia.org/wiki/Constant_function),\\na function that *always* returns the same value regardless of what input you give.\\nIt is defined as:\\n\\n    always a b = a\\n\\nIt totally ignores the second argument, so `always 42` is a function that always\\nreturns 42. When you are dealing with higher-order functions, this comes in\\nhandy more often than you might expect. For example, creating a zeroed out list\\nof length ten would be:\\n\\n    map (always 0) [0..9]\\n"},{"name":"always","fullName":"Basics.always","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#always","signature":"a -> b -> a","comment":" Create a [constant function](http://en.wikipedia.org/wiki/Constant_function),\\na function that *always* returns the same value regardless of what input you give.\\nIt is defined as:\\n\\n    always a b = a\\n\\nIt totally ignores the second argument, so `always 42` is a function that always\\nreturns 42. When you are dealing with higher-order functions, this comes in\\nhandy more often than you might expect. For example, creating a zeroed out list\\nof length ten would be:\\n\\n    map (always 0) [0..9]\\n"},{"name":"asin","fullName":"Basics.asin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#asin","signature":"Float -> Float","comment":""},{"name":"asin","fullName":"Basics.asin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#asin","signature":"Float -> Float","comment":""},{"name":"atan","fullName":"Basics.atan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan","signature":"Float -> Float","comment":" You probably do not want to use this. It takes `(y/x)` as the\\nargument, so there is no way to know whether the negative signs comes from\\nthe `y` or `x`. Thus, the resulting angle is always between &pi;/2 and -&pi;/2\\n(in quadrants I and IV). You probably want to use `atan2` instead.\\n"},{"name":"atan","fullName":"Basics.atan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan","signature":"Float -> Float","comment":" You probably do not want to use this. It takes `(y/x)` as the\\nargument, so there is no way to know whether the negative signs comes from\\nthe `y` or `x`. Thus, the resulting angle is always between &pi;/2 and -&pi;/2\\n(in quadrants I and IV). You probably want to use `atan2` instead.\\n"},{"name":"atan2","fullName":"Basics.atan2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan2","signature":"Float -> Float -> Float","comment":" This helps you find the angle of a Cartesian coordinate.\\nYou will almost certainly want to use this instead of `atan`.\\nSo `atan2 y x` computes *atan(y/x)* but also keeps track of which\\nquadrant the angle should really be in. The result will be between\\n&pi; and -&pi;, giving you the full range of angles.\\n"},{"name":"atan2","fullName":"Basics.atan2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan2","signature":"Float -> Float -> Float","comment":" This helps you find the angle of a Cartesian coordinate.\\nYou will almost certainly want to use this instead of `atan`.\\nSo `atan2 y x` computes *atan(y/x)* but also keeps track of which\\nquadrant the angle should really be in. The result will be between\\n&pi; and -&pi;, giving you the full range of angles.\\n"},{"name":"ceiling","fullName":"Basics.ceiling","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#ceiling","signature":"Float -> Int","comment":" Ceiling function, rounding up. "},{"name":"ceiling","fullName":"Basics.ceiling","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#ceiling","signature":"Float -> Int","comment":" Ceiling function, rounding up. "},{"name":"clamp","fullName":"Basics.clamp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#clamp","signature":"number -> number -> number -> number","comment":" Clamps a number within a given range. With the expression\\n`clamp 100 200 x` the results are as follows:\\n\\n    100     if x < 100\\n     x      if 100 <= x < 200\\n    200     if 200 <= x\\n"},{"name":"clamp","fullName":"Basics.clamp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#clamp","signature":"number -> number -> number -> number","comment":" Clamps a number within a given range. With the expression\\n`clamp 100 200 x` the results are as follows:\\n\\n    100     if x < 100\\n     x      if 100 <= x < 200\\n    200     if 200 <= x\\n"},{"name":"compare","fullName":"Basics.compare","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#compare","signature":"comparable -> comparable -> Basics.Order","comment":" Compare any two comparable values. Comparable values include `String`, `Char`,\\n`Int`, `Float`, `Time`, or a list or tuple containing comparable values.\\nThese are also the only values that work as `Dict` keys or `Set` members.\\n"},{"name":"compare","fullName":"Basics.compare","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#compare","signature":"comparable -> comparable -> Basics.Order","comment":" Compare any two comparable values. Comparable values include `String`, `Char`,\\n`Int`, `Float`, `Time`, or a list or tuple containing comparable values.\\nThese are also the only values that work as `Dict` keys or `Set` members.\\n"},{"name":"cos","fullName":"Basics.cos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#cos","signature":"Float -> Float","comment":""},{"name":"cos","fullName":"Basics.cos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#cos","signature":"Float -> Float","comment":""},{"name":"curry","fullName":"Basics.curry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#curry","signature":"(( a, b ) -> c) -> a -> b -> c","comment":" Change how arguments are passed to a function.\\nThis splits paired arguments into two separate arguments.\\n"},{"name":"curry","fullName":"Basics.curry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#curry","signature":"(( a, b ) -> c) -> a -> b -> c","comment":" Change how arguments are passed to a function.\\nThis splits paired arguments into two separate arguments.\\n"},{"name":"degrees","fullName":"Basics.degrees","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#degrees","signature":"Float -> Float","comment":" Convert degrees to standard Elm angles (radians). "},{"name":"degrees","fullName":"Basics.degrees","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#degrees","signature":"Float -> Float","comment":" Convert degrees to standard Elm angles (radians). "},{"name":"e","fullName":"Basics.e","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#e","signature":"Float","comment":" An approximation of e. "},{"name":"e","fullName":"Basics.e","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#e","signature":"Float","comment":" An approximation of e. "},{"name":"flip","fullName":"Basics.flip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#flip","signature":"(a -> b -> c) -> b -> a -> c","comment":" Flip the order of the first two arguments to a function. "},{"name":"flip","fullName":"Basics.flip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#flip","signature":"(a -> b -> c) -> b -> a -> c","comment":" Flip the order of the first two arguments to a function. "},{"name":"floor","fullName":"Basics.floor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#floor","signature":"Float -> Int","comment":" Floor function, rounding down. "},{"name":"floor","fullName":"Basics.floor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#floor","signature":"Float -> Int","comment":" Floor function, rounding down. "},{"name":"fromPolar","fullName":"Basics.fromPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fromPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert polar coordinates (r,&theta;) to Cartesian coordinates (x,y). "},{"name":"fromPolar","fullName":"Basics.fromPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fromPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert polar coordinates (r,&theta;) to Cartesian coordinates (x,y). "},{"name":"fst","fullName":"Basics.fst","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fst","signature":"( a, b ) -> a","comment":" Given a 2-tuple, returns the first value. "},{"name":"fst","fullName":"Basics.fst","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fst","signature":"( a, b ) -> a","comment":" Given a 2-tuple, returns the first value. "},{"name":"identity","fullName":"Basics.identity","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#identity","signature":"a -> a","comment":" Given a value, returns exactly the same value. This is called\\n[the identity function](http://en.wikipedia.org/wiki/Identity_function).\\n"},{"name":"identity","fullName":"Basics.identity","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#identity","signature":"a -> a","comment":" Given a value, returns exactly the same value. This is called\\n[the identity function](http://en.wikipedia.org/wiki/Identity_function).\\n"},{"name":"isInfinite","fullName":"Basics.isInfinite","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isInfinite","signature":"Float -> Bool","comment":" Determine whether a float is positive or negative infinity.\\n\\n    isInfinite (0/0)     == False\\n    isInfinite (sqrt -1) == False\\n    isInfinite (1/0)     == True\\n    isInfinite 1         == False\\n\\nNotice that NaN is not infinite! For float `n` to be finite implies that\\n`not (isInfinite n || isNaN n)` evaluates to `True`.\\n"},{"name":"isInfinite","fullName":"Basics.isInfinite","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isInfinite","signature":"Float -> Bool","comment":" Determine whether a float is positive or negative infinity.\\n\\n    isInfinite (0/0)     == False\\n    isInfinite (sqrt -1) == False\\n    isInfinite (1/0)     == True\\n    isInfinite 1         == False\\n\\nNotice that NaN is not infinite! For float `n` to be finite implies that\\n`not (isInfinite n || isNaN n)` evaluates to `True`.\\n"},{"name":"isNaN","fullName":"Basics.isNaN","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN","signature":"Float -> Bool","comment":" Determine whether a float is an undefined or unrepresentable number.\\nNaN stands for *not a number* and it is [a standardized part of floating point\\nnumbers](http://en.wikipedia.org/wiki/NaN).\\n\\n    isNaN (0/0)     == True\\n    isNaN (sqrt -1) == True\\n    isNaN (1/0)     == False  -- infinity is a number\\n    isNaN 1         == False\\n"},{"name":"isNaN","fullName":"Basics.isNaN","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN","signature":"Float -> Bool","comment":" Determine whether a float is an undefined or unrepresentable number.\\nNaN stands for *not a number* and it is [a standardized part of floating point\\nnumbers](http://en.wikipedia.org/wiki/NaN).\\n\\n    isNaN (0/0)     == True\\n    isNaN (sqrt -1) == True\\n    isNaN (1/0)     == False  -- infinity is a number\\n    isNaN 1         == False\\n"},{"name":"logBase","fullName":"Basics.logBase","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#logBase","signature":"Float -> Float -> Float","comment":" Calculate the logarithm of a number with a given base.\\n\\n    logBase 10 100 == 2\\n    logBase 2 256 == 8\\n"},{"name":"logBase","fullName":"Basics.logBase","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#logBase","signature":"Float -> Float -> Float","comment":" Calculate the logarithm of a number with a given base.\\n\\n    logBase 10 100 == 2\\n    logBase 2 256 == 8\\n"},{"name":"max","fullName":"Basics.max","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#max","signature":"comparable -> comparable -> comparable","comment":" Find the larger of two comparables. "},{"name":"max","fullName":"Basics.max","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#max","signature":"comparable -> comparable -> comparable","comment":" Find the larger of two comparables. "},{"name":"min","fullName":"Basics.min","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#min","signature":"comparable -> comparable -> comparable","comment":" Find the smaller of two comparables. "},{"name":"min","fullName":"Basics.min","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#min","signature":"comparable -> comparable -> comparable","comment":" Find the smaller of two comparables. "},{"name":"negate","fullName":"Basics.negate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#negate","signature":"number -> number","comment":" Negate a number.\\n\\n    negate 42 == -42\\n    negate -42 == 42\\n    negate 0 == 0\\n"},{"name":"negate","fullName":"Basics.negate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#negate","signature":"number -> number","comment":" Negate a number.\\n\\n    negate 42 == -42\\n    negate -42 == 42\\n    negate 0 == 0\\n"},{"name":"not","fullName":"Basics.not","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#not","signature":"Bool -> Bool","comment":" Negate a boolean value.\\n\\n    not True == False\\n    not False == True\\n"},{"name":"not","fullName":"Basics.not","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#not","signature":"Bool -> Bool","comment":" Negate a boolean value.\\n\\n    not True == False\\n    not False == True\\n"},{"name":"pi","fullName":"Basics.pi","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#pi","signature":"Float","comment":" An approximation of pi. "},{"name":"pi","fullName":"Basics.pi","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#pi","signature":"Float","comment":" An approximation of pi. "},{"name":"radians","fullName":"Basics.radians","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#radians","signature":"Float -> Float","comment":" Convert radians to standard Elm angles (radians). "},{"name":"radians","fullName":"Basics.radians","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#radians","signature":"Float -> Float","comment":" Convert radians to standard Elm angles (radians). "},{"name":"rem","fullName":"Basics.rem","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#rem","signature":"Int -> Int -> Int","comment":" Find the remainder after dividing one number by another.\\n\\n     7 `rem` 2 == 1\\n    -1 `rem` 4 == -1\\n"},{"name":"rem","fullName":"Basics.rem","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#rem","signature":"Int -> Int -> Int","comment":" Find the remainder after dividing one number by another.\\n\\n     7 `rem` 2 == 1\\n    -1 `rem` 4 == -1\\n"},{"name":"round","fullName":"Basics.round","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#round","signature":"Float -> Int","comment":" Round a number to the nearest integer. "},{"name":"round","fullName":"Basics.round","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#round","signature":"Float -> Int","comment":" Round a number to the nearest integer. "},{"name":"sin","fullName":"Basics.sin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sin","signature":"Float -> Float","comment":""},{"name":"sin","fullName":"Basics.sin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sin","signature":"Float -> Float","comment":""},{"name":"snd","fullName":"Basics.snd","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#snd","signature":"( a, b ) -> b","comment":" Given a 2-tuple, returns the second value. "},{"name":"snd","fullName":"Basics.snd","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#snd","signature":"( a, b ) -> b","comment":" Given a 2-tuple, returns the second value. "},{"name":"sqrt","fullName":"Basics.sqrt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sqrt","signature":"Float -> Float","comment":" Take the square root of a number. "},{"name":"sqrt","fullName":"Basics.sqrt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sqrt","signature":"Float -> Float","comment":" Take the square root of a number. "},{"name":"tan","fullName":"Basics.tan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#tan","signature":"Float -> Float","comment":""},{"name":"tan","fullName":"Basics.tan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#tan","signature":"Float -> Float","comment":""},{"name":"toFloat","fullName":"Basics.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat","signature":"Int -> Float","comment":" Convert an integer into a float. "},{"name":"toFloat","fullName":"Basics.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat","signature":"Int -> Float","comment":" Convert an integer into a float. "},{"name":"toPolar","fullName":"Basics.toPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert Cartesian coordinates (x,y) to polar coordinates (r,&theta;). "},{"name":"toPolar","fullName":"Basics.toPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert Cartesian coordinates (x,y) to polar coordinates (r,&theta;). "},{"name":"toString","fullName":"Basics.toString","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toString","signature":"a -> String","comment":" Turn any kind of value into a string. When you view the resulting string\\nwith `Text.fromString` it should look just like the value it came from.\\n\\n    toString 42 == \\"42\\"\\n    toString [1,2] == \\"[1,2]\\"\\n    toString \\"he said, \\\\\\"hi\\\\\\"\\" == \\"\\\\\\"he said, \\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\"\\\\\\"\\"\\n"},{"name":"toString","fullName":"Basics.toString","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toString","signature":"a -> String","comment":" Turn any kind of value into a string. When you view the resulting string\\nwith `Text.fromString` it should look just like the value it came from.\\n\\n    toString 42 == \\"42\\"\\n    toString [1,2] == \\"[1,2]\\"\\n    toString \\"he said, \\\\\\"hi\\\\\\"\\" == \\"\\\\\\"he said, \\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\"\\\\\\"\\"\\n"},{"name":"truncate","fullName":"Basics.truncate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#truncate","signature":"Float -> Int","comment":" Truncate a number, rounding towards zero. "},{"name":"truncate","fullName":"Basics.truncate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#truncate","signature":"Float -> Int","comment":" Truncate a number, rounding towards zero. "},{"name":"turns","fullName":"Basics.turns","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#turns","signature":"Float -> Float","comment":" Convert turns to standard Elm angles (radians).\\nOne turn is equal to 360&deg;.\\n"},{"name":"turns","fullName":"Basics.turns","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#turns","signature":"Float -> Float","comment":" Convert turns to standard Elm angles (radians).\\nOne turn is equal to 360&deg;.\\n"},{"name":"uncurry","fullName":"Basics.uncurry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#uncurry","signature":"(a -> b -> c) -> ( a, b ) -> c","comment":" Change how arguments are passed to a function.\\nThis combines two arguments into a single pair.\\n"},{"name":"uncurry","fullName":"Basics.uncurry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#uncurry","signature":"(a -> b -> c) -> ( a, b ) -> c","comment":" Change how arguments are passed to a function.\\nThis combines two arguments into a single pair.\\n"},{"name":"xor","fullName":"Basics.xor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#xor","signature":"Bool -> Bool -> Bool","comment":" The exclusive-or operator. `True` if exactly one input is `True`. "},{"name":"xor","fullName":"Basics.xor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#xor","signature":"Bool -> Bool -> Bool","comment":" The exclusive-or operator. `True` if exactly one input is `True`. "},{"name":"|>","fullName":"Basics.|>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#|>","signature":"a -> (a -> b) -> b","comment":" Forward function application `x |> f == f x`. This function is useful\\nfor avoiding parenthesis and writing code in a more natural way.\\nConsider the following code to create a pentagon:\\n\\n    scale 2 (move (10,10) (filled blue (ngon 5 30)))\\n\\nThis can also be written as:\\n\\n    ngon 5 30\\n      |> filled blue\\n      |> move (10,10)\\n      |> scale 2\\n"},{"name":"|>","fullName":"Basics.|>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#|>","signature":"a -> (a -> b) -> b","comment":" Forward function application `x |> f == f x`. This function is useful\\nfor avoiding parenthesis and writing code in a more natural way.\\nConsider the following code to create a pentagon:\\n\\n    scale 2 (move (10,10) (filled blue (ngon 5 30)))\\n\\nThis can also be written as:\\n\\n    ngon 5 30\\n      |> filled blue\\n      |> move (10,10)\\n      |> scale 2\\n"},{"name":"||","fullName":"Basics.||","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#||","signature":"Bool -> Bool -> Bool","comment":" The logical OR operator. `True` if one or both inputs are `True`.\\nThis operator short-circuits to `True` if the first argument is `True`.\\n"},{"name":"||","fullName":"Basics.||","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#||","signature":"Bool -> Bool -> Bool","comment":" The logical OR operator. `True` if one or both inputs are `True`.\\nThis operator short-circuits to `True` if the first argument is `True`.\\n"},{"name":"LT","fullName":"Basics.LT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"LT","fullName":"Basics.LT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"EQ","fullName":"Basics.EQ","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"EQ","fullName":"Basics.EQ","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"GT","fullName":"Basics.GT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"GT","fullName":"Basics.GT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"andThen","fullName":"Maybe.andThen","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#andThen","signature":"Maybe.Maybe a -> (a -> Maybe.Maybe b) -> Maybe.Maybe b","comment":" Chain together many computations that may fail. It is helpful to see its\\ndefinition:\\n\\n    andThen : Maybe a -> (a -> Maybe b) -> Maybe b\\n    andThen maybe callback =\\n        case maybe of\\n            Just value ->\\n                callback value\\n\\n            Nothing ->\\n                Nothing\\n\\nThis means we only continue with the callback if things are going well. For\\nexample, say you need to use (`head : List Int -> Maybe Int`) to get the\\nfirst month from a `List` and then make sure it is between 1 and 12:\\n\\n    toValidMonth : Int -> Maybe Int\\n    toValidMonth month =\\n        if month >= 1 && month <= 12 then\\n            Just month\\n        else\\n            Nothing\\n\\n    getFirstMonth : List Int -> Maybe Int\\n    getFirstMonth months =\\n        head months `andThen` toValidMonth\\n\\nIf `head` fails and results in `Nothing` (because the `List` was empty`),\\nthis entire chain of operations will short-circuit and result in `Nothing`.\\nIf `toValidMonth` results in `Nothing`, again the chain of computations\\nwill result in `Nothing`.\\n"},{"name":"map","fullName":"Maybe.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map","signature":"(a -> b) -> Maybe.Maybe a -> Maybe.Maybe b","comment":" Transform a `Maybe` value with a given function:\\n\\n    map sqrt (Just 9) == Just 3\\n    map sqrt Nothing == Nothing\\n"},{"name":"map2","fullName":"Maybe.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map2","signature":"(a -> b -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe value","comment":" Apply a function if all the arguments are `Just` a value.\\n\\n    map2 (+) (Just 3) (Just 4) == Just 7\\n    map2 (+) (Just 3) Nothing == Nothing\\n    map2 (+) Nothing (Just 4) == Nothing\\n"},{"name":"map3","fullName":"Maybe.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map3","signature":"(a -> b -> c -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe value","comment":""},{"name":"map4","fullName":"Maybe.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map4","signature":"(a -> b -> c -> d -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe d -> Maybe.Maybe value","comment":""},{"name":"map5","fullName":"Maybe.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map5","signature":"(a -> b -> c -> d -> e -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe d -> Maybe.Maybe e -> Maybe.Maybe value","comment":""},{"name":"oneOf","fullName":"Maybe.oneOf","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#oneOf","signature":"List (Maybe.Maybe a) -> Maybe.Maybe a","comment":" Pick the first `Maybe` that actually has a value. Useful when you want to\\ntry a couple different things, but there is no default value.\\n\\n    oneOf [ Nothing, Just 42, Just 71 ] == Just 42\\n    oneOf [ Nothing, Nothing, Just 71 ] == Just 71\\n    oneOf [ Nothing, Nothing, Nothing ] == Nothing\\n"},{"name":"withDefault","fullName":"Maybe.withDefault","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#withDefault","signature":"a -> Maybe.Maybe a -> a","comment":" Provide a default value, turning an optional value into a normal\\nvalue.  This comes in handy when paired with functions like\\n[`Dict.get`](Dict#get) which gives back a `Maybe`.\\n\\n    withDefault 100 (Just 42)   -- 42\\n    withDefault 100 Nothing     -- 100\\n\\n    withDefault \\"unknown\\" (Dict.get \\"Tom\\" Dict.empty)   -- \\"unknown\\"\\n\\n"},{"name":"Just","fullName":"Maybe.Just","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Just","fullName":"Maybe.Just","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Nothing","fullName":"Maybe.Nothing","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Nothing","fullName":"Maybe.Nothing","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""}]' 
errors: b''
[Elm says]: (elm-format) b'Processing file /Users/rtfeldman/code/elm-css/src/Css.elm' 
errors: b''
[Elm says]: (elm-oracle) b'[{"name":"Mailbox","fullName":"Signal.Mailbox","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#Mailbox","signature":"{ address : Signal.Address a, signal : Signal.Signal a }","comment":" A `Mailbox` is a communication hub. It is made up of\\n\\n  * an `Address` that you can send messages to\\n  * a `Signal` of messages sent to the mailbox\\n"},{"name":"constant","fullName":"Signal.constant","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#constant","signature":"a -> Signal.Signal a","comment":" Create a signal that never changes. This can be useful if you need\\nto pass a combination of signals and normal values to a function:\\n\\n    map3 view Window.dimensions Mouse.position (constant initialModel)\\n"},{"name":"dropRepeats","fullName":"Signal.dropRepeats","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#dropRepeats","signature":"Signal.Signal a -> Signal.Signal a","comment":" Drop updates that repeat the current value of the signal.\\n\\n    numbers : Signal Int\\n\\n    noDups : Signal Int\\n    noDups =\\n        dropRepeats numbers\\n\\n    --  numbers => 0 0 3 3 5 5 5 4 ...\\n    --  noDups  => 0   3   5     4 ...\\n\\nThe signal should not be a signal of functions, or a record that contains a\\nfunction (you\'ll get a runtime error since functions cannot be equated).\\n"},{"name":"filter","fullName":"Signal.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#filter","signature":"(a -> Bool) -> a -> Signal.Signal a -> Signal.Signal a","comment":" Filter out some updates. The given function decides whether we should\\n*keep* an update. If no updates ever flow through, we use the default value\\nprovided. The following example only keeps even numbers and has an initial\\nvalue of zero.\\n\\n    numbers : Signal Int\\n\\n    isEven : Int -> Bool\\n\\n    evens : Signal Int\\n    evens =\\n        filter isEven 0 numbers\\n"},{"name":"filterMap","fullName":"Signal.filterMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#filterMap","signature":"(a -> Maybe.Maybe b) -> b -> Signal.Signal a -> Signal.Signal b","comment":" Filter out some updates. When the filter function gives back `Just` a\\nvalue, we send that value along. When it returns `Nothing` we drop it.\\nIf the initial value of the incoming signal turns into `Nothing`, we use the\\ndefault value provided. The following example keeps only strings that can be\\nread as integers.\\n\\n    userInput : Signal String\\n\\n    toInt : String -> Maybe Int\\n\\n    numbers : Signal Int\\n    numbers =\\n        filterMap toInt 0 userInput\\n"},{"name":"foldp","fullName":"Signal.foldp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#foldp","signature":"(a -> state -> state) -> state -> Signal.Signal a -> Signal.Signal state","comment":" Create a past-dependent signal. Each update from the incoming signals will\\nbe used to step the state forward. The outgoing signal represents the current\\nstate.\\n\\n    clickCount : Signal Int\\n    clickCount =\\n        foldp (\\\\click total -> total + 1) 0 Mouse.clicks\\n\\n    timeSoFar : Signal Time\\n    timeSoFar =\\n        foldp (+) 0 (fps 40)\\n\\nSo `clickCount` updates on each mouse click, incrementing by one. `timeSoFar`\\nis the time the program has been running, updated 40 times a second.\\n"},{"name":"forwardTo","fullName":"Signal.forwardTo","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#forwardTo","signature":"Signal.Address b -> (a -> b) -> Signal.Address a","comment":" Create a new address. This address will tag each message it receives\\nand then forward it along to some other address.\\n\\n    type Action = Undo | Remove Int | NoOp\\n\\n    actions : Mailbox Action\\n    actions = mailbox NoOp\\n\\n    removeAddress : Address Int\\n    removeAddress =\\n        forwardTo actions.address Remove\\n\\nIn this case we have a general `address` that many people may send\\nmessages to. The new `removeAddress` tags all messages with the `Remove` tag\\nbefore forwarding them along to the more general `address`. This means\\nsome parts of our application can know *only* about `removeAddress` and not\\ncare what other kinds of `Actions` are possible.\\n"},{"name":"mailbox","fullName":"Signal.mailbox","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#mailbox","signature":"a -> Signal.Mailbox a","comment":" Create a mailbox you can send messages to. The primary use case is\\nreceiving updates from tasks and UI elements. The argument is a default value\\nfor the custom signal.\\n\\nNote: Creating new signals is inherently impure, so `(mailbox ())` and\\n`(mailbox ())` produce two different mailboxes.\\n"},{"name":"map","fullName":"Signal.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map","signature":"(a -> result) -> Signal.Signal a -> Signal.Signal result","comment":" Apply a function to a signal.\\n\\n    mouseIsUp : Signal Bool\\n    mouseIsUp =\\n        map not Mouse.isDown\\n\\n    main : Signal Element\\n    main =\\n        map Graphics.Element.show Mouse.position\\n"},{"name":"map2","fullName":"Signal.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map2","signature":"(a -> b -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal result","comment":" Apply a function to the current value of two signals. The function\\nis reevaluated whenever *either* signal changes. In the following example, we\\nfigure out the `aspectRatio` of the window by combining the current width and\\nheight.\\n\\n    ratio : Int -> Int -> Float\\n    ratio width height =\\n        toFloat width / toFloat height\\n\\n    aspectRatio : Signal Float\\n    aspectRatio =\\n        map2 ratio Window.width Window.height\\n"},{"name":"map3","fullName":"Signal.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map3","signature":"(a -> b -> c -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal result","comment":""},{"name":"map4","fullName":"Signal.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map4","signature":"(a -> b -> c -> d -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal d -> Signal.Signal result","comment":""},{"name":"map5","fullName":"Signal.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#map5","signature":"(a -> b -> c -> d -> e -> result) -> Signal.Signal a -> Signal.Signal b -> Signal.Signal c -> Signal.Signal d -> Signal.Signal e -> Signal.Signal result","comment":""},{"name":"merge","fullName":"Signal.merge","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#merge","signature":"Signal.Signal a -> Signal.Signal a -> Signal.Signal a","comment":" Merge two signals into one. This function is extremely useful for bringing\\ntogether lots of different signals to feed into a `foldp`.\\n\\n    type Update = MouseMove (Int,Int) | TimeDelta Float\\n\\n    updates : Signal Update\\n    updates =\\n        merge\\n            (map MouseMove Mouse.position)\\n            (map TimeDelta (fps 40))\\n\\nIf an update comes from either of the incoming signals, it updates the outgoing\\nsignal. If an update comes on both signals at the same time, the update provided\\nby the left input signal wins (i.e., the update from the second signal is discarded).\\n"},{"name":"mergeMany","fullName":"Signal.mergeMany","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#mergeMany","signature":"List (Signal.Signal a) -> Signal.Signal a","comment":" Merge many signals into one. This is useful when you are merging more than\\ntwo signals. When multiple updates come in at the same time, the left-most\\nupdate wins, just like with `merge`.\\n\\n    type Update = MouseMove (Int,Int) | TimeDelta Float | Click\\n\\n    updates : Signal Update\\n    updates =\\n        mergeMany\\n            [ map MouseMove Mouse.position\\n            , map TimeDelta (fps 40)\\n            , map (always Click) Mouse.clicks\\n            ]\\n"},{"name":"message","fullName":"Signal.message","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#message","signature":"Signal.Address a -> a -> Signal.Message","comment":" Create a message that may be sent to a `Mailbox` at a later time.\\n\\nMost importantly, this lets us create APIs that can send values to ports\\n*without* allowing people to run arbitrary tasks.\\n"},{"name":"sampleOn","fullName":"Signal.sampleOn","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#sampleOn","signature":"Signal.Signal a -> Signal.Signal b -> Signal.Signal b","comment":" Sample from the second input every time an event occurs on the first input.\\nFor example, `(sampleOn Mouse.clicks (Time.every Time.second))` will give the\\napproximate time of the latest click. "},{"name":"send","fullName":"Signal.send","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Signal#send","signature":"Signal.Address a -> a -> Task.Task x ()","comment":" Send a message to an `Address`.\\n\\n    type Action = Undo | Remove Int\\n\\n    address : Address Action\\n\\n    requestUndo : Task x ()\\n    requestUndo =\\n        send address Undo\\n\\nThe `Signal` associated with `address` will receive the `Undo` message\\nand push it through the Elm program.\\n"},{"name":"all","fullName":"String.all","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#all","signature":"(Char -> Bool) -> String -> Bool","comment":" Determine whether *all* characters satisfy a predicate.\\n\\n    all isDigit \\"90210\\" == True\\n    all isDigit \\"R2-D2\\" == False\\n    all isDigit \\"heart\\" == False\\n"},{"name":"any","fullName":"String.any","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#any","signature":"(Char -> Bool) -> String -> Bool","comment":" Determine whether *any* characters satisfy a predicate.\\n\\n    any isDigit \\"90210\\" == True\\n    any isDigit \\"R2-D2\\" == True\\n    any isDigit \\"heart\\" == False\\n"},{"name":"append","fullName":"String.append","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#append","signature":"String -> String -> String","comment":" Append two strings. You can also use [the `(++)` operator](Basics#++)\\nto do this.\\n\\n    append \\"butter\\" \\"fly\\" == \\"butterfly\\"\\n"},{"name":"concat","fullName":"String.concat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#concat","signature":"List String -> String","comment":" Concatenate many strings into one.\\n\\n    concat [\\"never\\",\\"the\\",\\"less\\"] == \\"nevertheless\\"\\n"},{"name":"cons","fullName":"String.cons","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#cons","signature":"Char -> String -> String","comment":" Add a character to the beginning of a string. "},{"name":"contains","fullName":"String.contains","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#contains","signature":"String -> String -> Bool","comment":" See if the second string contains the first one.\\n\\n    contains \\"the\\" \\"theory\\" == True\\n    contains \\"hat\\" \\"theory\\" == False\\n    contains \\"THE\\" \\"theory\\" == False\\n\\nUse [`Regex.contains`](Regex#contains) if you need something more flexible.\\n"},{"name":"dropLeft","fullName":"String.dropLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#dropLeft","signature":"Int -> String -> String","comment":" Drop *n* characters from the left side of a string. "},{"name":"dropRight","fullName":"String.dropRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#dropRight","signature":"Int -> String -> String","comment":" Drop *n* characters from the right side of a string. "},{"name":"endsWith","fullName":"String.endsWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#endsWith","signature":"String -> String -> Bool","comment":" See if the second string ends with the first one.\\n\\n    endsWith \\"the\\" \\"theory\\" == False\\n    endsWith \\"ory\\" \\"theory\\" == True\\n"},{"name":"filter","fullName":"String.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#filter","signature":"(Char -> Bool) -> String -> String","comment":" Keep only the characters that satisfy the predicate.\\n\\n    filter isDigit \\"R2-D2\\" == \\"22\\"\\n"},{"name":"foldl","fullName":"String.foldl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#foldl","signature":"(Char -> b -> b) -> b -> String -> b","comment":" Reduce a string from the left.\\n\\n    foldl cons \\"\\" \\"time\\" == \\"emit\\"\\n"},{"name":"foldr","fullName":"String.foldr","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#foldr","signature":"(Char -> b -> b) -> b -> String -> b","comment":" Reduce a string from the right.\\n\\n    foldr cons \\"\\" \\"time\\" == \\"time\\"\\n"},{"name":"fromChar","fullName":"String.fromChar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#fromChar","signature":"Char -> String","comment":" Create a string from a given character.\\n\\n    fromChar \'a\' == \\"a\\"\\n"},{"name":"fromList","fullName":"String.fromList","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#fromList","signature":"List Char -> String","comment":" Convert a list of characters into a String. Can be useful if you\\nwant to create a string primarily by consing, perhaps for decoding\\nsomething.\\n\\n    fromList [\'a\',\'b\',\'c\'] == \\"abc\\"\\n"},{"name":"indexes","fullName":"String.indexes","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#indexes","signature":"String -> String -> List Int","comment":" Get all of the indexes for a substring in another string.\\n\\n    indexes \\"i\\" \\"Mississippi\\"   == [1,4,7,10]\\n    indexes \\"ss\\" \\"Mississippi\\"  == [2,5]\\n    indexes \\"needle\\" \\"haystack\\" == []\\n"},{"name":"indices","fullName":"String.indices","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#indices","signature":"String -> String -> List Int","comment":" Alias for `indexes`. "},{"name":"isEmpty","fullName":"String.isEmpty","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#isEmpty","signature":"String -> Bool","comment":" Determine if a string is empty.\\n\\n    isEmpty \\"\\" == True\\n    isEmpty \\"the world\\" == False\\n"},{"name":"join","fullName":"String.join","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#join","signature":"String -> List String -> String","comment":" Put many strings together with a given separator.\\n\\n    join \\"a\\" [\\"H\\",\\"w\\",\\"ii\\",\\"n\\"]        == \\"Hawaiian\\"\\n    join \\" \\" [\\"cat\\",\\"dog\\",\\"cow\\"]       == \\"cat dog cow\\"\\n    join \\"/\\" [\\"home\\",\\"evan\\",\\"Desktop\\"] == \\"home/evan/Desktop\\"\\n"},{"name":"left","fullName":"String.left","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#left","signature":"Int -> String -> String","comment":" Take *n* characters from the left side of a string. "},{"name":"length","fullName":"String.length","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#length","signature":"String -> Int","comment":" Get the length of a string.\\n\\n    length \\"innumerable\\" == 11\\n    length \\"\\" == 0\\n\\n"},{"name":"lines","fullName":"String.lines","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#lines","signature":"String -> List String","comment":" Break a string into lines, splitting on newlines.\\n\\n    lines \\"How are you?\\\\nGood?\\" == [\\"How are you?\\", \\"Good?\\"]\\n"},{"name":"map","fullName":"String.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#map","signature":"(Char -> Char) -> String -> String","comment":" Transform every character in a string\\n\\n    map (\\\\c -> if c == \'/\' then \'.\' else c) \\"a/b/c\\" == \\"a.b.c\\"\\n"},{"name":"pad","fullName":"String.pad","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#pad","signature":"Int -> Char -> String -> String","comment":" Pad a string on both sides until it has a given length.\\n\\n    pad 5 \' \' \\"1\\"   == \\"  1  \\"\\n    pad 5 \' \' \\"11\\"  == \\"  11 \\"\\n    pad 5 \' \' \\"121\\" == \\" 121 \\"\\n"},{"name":"padLeft","fullName":"String.padLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#padLeft","signature":"Int -> Char -> String -> String","comment":" Pad a string on the left until it has a given length.\\n\\n    padLeft 5 \'.\' \\"1\\"   == \\"....1\\"\\n    padLeft 5 \'.\' \\"11\\"  == \\"...11\\"\\n    padLeft 5 \'.\' \\"121\\" == \\"..121\\"\\n"},{"name":"padRight","fullName":"String.padRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#padRight","signature":"Int -> Char -> String -> String","comment":" Pad a string on the right until it has a given length.\\n\\n    padRight 5 \'.\' \\"1\\"   == \\"1....\\"\\n    padRight 5 \'.\' \\"11\\"  == \\"11...\\"\\n    padRight 5 \'.\' \\"121\\" == \\"121..\\"\\n"},{"name":"repeat","fullName":"String.repeat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#repeat","signature":"Int -> String -> String","comment":" Repeat a string *n* times.\\n\\n    repeat 3 \\"ha\\" == \\"hahaha\\"\\n"},{"name":"reverse","fullName":"String.reverse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#reverse","signature":"String -> String","comment":" Reverse a string.\\n\\n    reverse \\"stressed\\" == \\"desserts\\"\\n"},{"name":"right","fullName":"String.right","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#right","signature":"Int -> String -> String","comment":" Take *n* characters from the right side of a string. "},{"name":"slice","fullName":"String.slice","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#slice","signature":"Int -> Int -> String -> String","comment":" Take a substring given a start and end index. Negative indexes\\nare taken starting from the *end* of the list.\\n\\n    slice  7  9 \\"snakes on a plane!\\" == \\"on\\"\\n    slice  0  6 \\"snakes on a plane!\\" == \\"snakes\\"\\n    slice  0 -7 \\"snakes on a plane!\\" == \\"snakes on a\\"\\n    slice -6 -1 \\"snakes on a plane!\\" == \\"plane\\"\\n"},{"name":"split","fullName":"String.split","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#split","signature":"String -> String -> List String","comment":" Split a string using a given separator.\\n\\n    split \\",\\" \\"cat,dog,cow\\"        == [\\"cat\\",\\"dog\\",\\"cow\\"]\\n    split \\"/\\" \\"home/evan/Desktop/\\" == [\\"home\\",\\"evan\\",\\"Desktop\\", \\"\\"]\\n\\nUse [`Regex.split`](Regex#split) if you need something more flexible.\\n"},{"name":"startsWith","fullName":"String.startsWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#startsWith","signature":"String -> String -> Bool","comment":" See if the second string starts with the first one.\\n\\n    startsWith \\"the\\" \\"theory\\" == True\\n    startsWith \\"ory\\" \\"theory\\" == False\\n"},{"name":"toFloat","fullName":"String.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toFloat","signature":"String -> Result.Result String Float","comment":" Try to convert a string into a float, failing on improperly formatted strings.\\n\\n    toFloat \\"123\\" == Ok 123.0\\n    toFloat \\"-42\\" == Ok -42.0\\n    toFloat \\"3.1\\" == Ok 3.1\\n    toFloat \\"31a\\" == Err \\"could not convert string \'31a\' to a Float\\"\\n"},{"name":"toInt","fullName":"String.toInt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toInt","signature":"String -> Result.Result String Int","comment":" Try to convert a string into an int, failing on improperly formatted strings.\\n\\n    toInt \\"123\\" == Ok 123\\n    toInt \\"-42\\" == Ok -42\\n    toInt \\"3.1\\" == Err \\"could not convert string \'3.1\' to an Int\\"\\n    toInt \\"31a\\" == Err \\"could not convert string \'31a\' to an Int\\"\\n"},{"name":"toList","fullName":"String.toList","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toList","signature":"String -> List Char","comment":" Convert a string to a list of characters.\\n\\n    toList \\"abc\\" == [\'a\',\'b\',\'c\']\\n"},{"name":"toLower","fullName":"String.toLower","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toLower","signature":"String -> String","comment":" Convert a string to all lower case. Useful for case-insensitive comparisons. "},{"name":"toUpper","fullName":"String.toUpper","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#toUpper","signature":"String -> String","comment":" Convert a string to all upper case. Useful for case-insensitive comparisons\\nand VIRTUAL YELLING.\\n"},{"name":"trim","fullName":"String.trim","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trim","signature":"String -> String","comment":" Get rid of whitespace on both sides of a string.\\n\\n    trim \\"  hats  \\\\n\\" == \\"hats\\"\\n"},{"name":"trimLeft","fullName":"String.trimLeft","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trimLeft","signature":"String -> String","comment":" Get rid of whitespace on the left of a string.\\n\\n    trimLeft \\"  hats  \\\\n\\" == \\"hats  \\\\n\\"\\n"},{"name":"trimRight","fullName":"String.trimRight","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#trimRight","signature":"String -> String","comment":" Get rid of whitespace on the right of a string.\\n\\n    trimRight \\"  hats  \\\\n\\" == \\"  hats\\"\\n"},{"name":"uncons","fullName":"String.uncons","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#uncons","signature":"String -> Maybe.Maybe ( Char, String )","comment":" Split a non-empty string into its head and tail. This lets you\\npattern match on strings exactly as you would with lists.\\n\\n    uncons \\"abc\\" == Just (\'a\',\\"bc\\")\\n    uncons \\"\\"    == Nothing\\n"},{"name":"words","fullName":"String.words","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/String#words","signature":"String -> List String","comment":" Break a string into words, splitting on chunks of whitespace.\\n\\n    words \\"How are \\\\t you? \\\\n Good?\\" == [\\"How\\",\\"are\\",\\"you?\\",\\"Good?\\"]\\n"},{"name":"::","fullName":"List.::","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#::","signature":"a -> List a -> List a","comment":" Add an element to the front of a list. Pronounced *cons*.\\n\\n    1 :: [2,3] == [1,2,3]\\n    1 :: [] == [1]\\n"},{"name":"::","fullName":"List.::","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#::","signature":"a -> List a -> List a","comment":" Add an element to the front of a list. Pronounced *cons*.\\n\\n    1 :: [2,3] == [1,2,3]\\n    1 :: [] == [1]\\n"},{"name":"all","fullName":"List.all","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#all","signature":"(a -> Bool) -> List a -> Bool","comment":" Determine if all elements satisfy the predicate.\\n\\n    all isEven [2,4] == True\\n    all isEven [2,3] == False\\n    all isEven [] == True\\n"},{"name":"any","fullName":"List.any","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#any","signature":"(a -> Bool) -> List a -> Bool","comment":" Determine if any elements satisfy the predicate.\\n\\n    any isEven [2,3] == True\\n    any isEven [1,3] == False\\n    any isEven [] == False\\n"},{"name":"append","fullName":"List.append","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#append","signature":"List a -> List a -> List a","comment":" Put two lists together.\\n\\n    append [1,1,2] [3,5,8] == [1,1,2,3,5,8]\\n    append [\'a\',\'b\'] [\'c\'] == [\'a\',\'b\',\'c\']\\n"},{"name":"concat","fullName":"List.concat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#concat","signature":"List (List a) -> List a","comment":" Concatenate a bunch of lists into a single list:\\n\\n    concat [[1,2],[3],[4,5]] == [1,2,3,4,5]\\n"},{"name":"concatMap","fullName":"List.concatMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#concatMap","signature":"(a -> List b) -> List a -> List b","comment":" Map a given function onto a list and flatten the resulting lists.\\n\\n    concatMap f xs == concat (map f xs)\\n"},{"name":"drop","fullName":"List.drop","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#drop","signature":"Int -> List a -> List a","comment":" Drop the first *n* members of a list.\\n\\n    drop 2 [1,2,3,4] == [3,4]\\n"},{"name":"filter","fullName":"List.filter","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#filter","signature":"(a -> Bool) -> List a -> List a","comment":" Keep only elements that satisfy the predicate.\\n\\n    filter isEven [1..6] == [2,4,6]\\n"},{"name":"filterMap","fullName":"List.filterMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#filterMap","signature":"(a -> Maybe.Maybe b) -> List a -> List b","comment":" Apply a function that may succeed to all values in the list, but only keep\\nthe successes.\\n\\n    String.toInt : String -> Maybe Int\\n\\n    filterMap String.toInt [\\"3\\", \\"4.0\\", \\"5\\", \\"hats\\"] == [3,5]\\n"},{"name":"foldl","fullName":"List.foldl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#foldl","signature":"(a -> b -> b) -> b -> List a -> b","comment":" Reduce a list from the left.\\n\\n    foldl (::) [] [1,2,3] == [3,2,1]\\n"},{"name":"foldr","fullName":"List.foldr","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#foldr","signature":"(a -> b -> b) -> b -> List a -> b","comment":" Reduce a list from the right.\\n\\n    foldr (+) 0 [1,2,3] == 6\\n"},{"name":"head","fullName":"List.head","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#head","signature":"List a -> Maybe.Maybe a","comment":" Extract the first element of a list.\\n\\n    head [1,2,3] == Just 1\\n    head [] == Nothing\\n"},{"name":"indexedMap","fullName":"List.indexedMap","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#indexedMap","signature":"(Int -> a -> b) -> List a -> List b","comment":" Same as `map` but the function is also applied to the index of each\\nelement (starting at zero).\\n\\n    indexedMap (,) [\\"Tom\\",\\"Sue\\",\\"Bob\\"] == [ (0,\\"Tom\\"), (1,\\"Sue\\"), (2,\\"Bob\\") ]\\n"},{"name":"intersperse","fullName":"List.intersperse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#intersperse","signature":"a -> List a -> List a","comment":" Places the given value between all members of the given list.\\n\\n    intersperse \\"on\\" [\\"turtles\\",\\"turtles\\",\\"turtles\\"] == [\\"turtles\\",\\"on\\",\\"turtles\\",\\"on\\",\\"turtles\\"]\\n"},{"name":"isEmpty","fullName":"List.isEmpty","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#isEmpty","signature":"List a -> Bool","comment":" Determine if a list is empty.\\n\\n    isEmpty [] == True\\n"},{"name":"length","fullName":"List.length","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#length","signature":"List a -> Int","comment":" Determine the length of a list.\\n\\n    length [1,2,3] == 3\\n"},{"name":"map","fullName":"List.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map","signature":"(a -> b) -> List a -> List b","comment":" Apply a function to every element of a list.\\n\\n    map sqrt [1,4,9] == [1,2,3]\\n\\n    map not [True,False,True] == [False,True,False]\\n"},{"name":"map2","fullName":"List.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map2","signature":"(a -> b -> result) -> List a -> List b -> List result","comment":" Combine two lists, combining them with the given function.\\nIf one list is longer, the extra elements are dropped.\\n\\n    map2 (+) [1,2,3] [1,2,3,4] == [2,4,6]\\n\\n    map2 (,) [1,2,3] [\'a\',\'b\'] == [ (1,\'a\'), (2,\'b\') ]\\n\\n    pairs : List a -> List b -> List (a,b)\\n    pairs lefts rights =\\n        map2 (,) lefts rights\\n"},{"name":"map3","fullName":"List.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map3","signature":"(a -> b -> c -> result) -> List a -> List b -> List c -> List result","comment":""},{"name":"map4","fullName":"List.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map4","signature":"(a -> b -> c -> d -> result) -> List a -> List b -> List c -> List d -> List result","comment":""},{"name":"map5","fullName":"List.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#map5","signature":"(a -> b -> c -> d -> e -> result) -> List a -> List b -> List c -> List d -> List e -> List result","comment":""},{"name":"maximum","fullName":"List.maximum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#maximum","signature":"List comparable -> Maybe.Maybe comparable","comment":" Find the maximum element in a non-empty list.\\n\\n    maximum [1,4,2] == Just 4\\n    maximum []      == Nothing\\n"},{"name":"member","fullName":"List.member","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#member","signature":"a -> List a -> Bool","comment":" Figure out whether a list contains a value.\\n\\n    member 9 [1,2,3,4] == False\\n    member 4 [1,2,3,4] == True\\n"},{"name":"minimum","fullName":"List.minimum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#minimum","signature":"List comparable -> Maybe.Maybe comparable","comment":" Find the minimum element in a non-empty list.\\n\\n    minimum [3,2,1] == Just 1\\n    minimum []      == Nothing\\n"},{"name":"partition","fullName":"List.partition","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#partition","signature":"(a -> Bool) -> List a -> ( List a, List a )","comment":" Partition a list based on a predicate. The first list contains all values\\nthat satisfy the predicate, and the second list contains all the value that do\\nnot.\\n\\n    partition (\\\\x -> x < 3) [0..5] == ([0,1,2], [3,4,5])\\n    partition isEven        [0..5] == ([0,2,4], [1,3,5])\\n"},{"name":"product","fullName":"List.product","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#product","signature":"List number -> number","comment":" Get the product of the list elements.\\n\\n    product [1..4] == 24\\n"},{"name":"repeat","fullName":"List.repeat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#repeat","signature":"Int -> a -> List a","comment":" Create a list with *n* copies of a value:\\n\\n    repeat 3 (0,0) == [(0,0),(0,0),(0,0)]\\n"},{"name":"reverse","fullName":"List.reverse","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#reverse","signature":"List a -> List a","comment":" Reverse a list.\\n\\n    reverse [1..4] == [4,3,2,1]\\n"},{"name":"scanl","fullName":"List.scanl","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#scanl","signature":"(a -> b -> b) -> b -> List a -> List b","comment":" Reduce a list from the left, building up all of the intermediate results into a list.\\n\\n    scanl (+) 0 [1,2,3,4] == [0,1,3,6,10]\\n"},{"name":"sort","fullName":"List.sort","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sort","signature":"List comparable -> List comparable","comment":" Sort values from lowest to highest\\n\\n    sort [3,1,5] == [1,3,5]\\n"},{"name":"sortBy","fullName":"List.sortBy","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sortBy","signature":"(a -> comparable) -> List a -> List a","comment":" Sort values by a derived property.\\n\\n    alice = { name=\\"Alice\\", height=1.62 }\\n    bob   = { name=\\"Bob\\"  , height=1.85 }\\n    chuck = { name=\\"Chuck\\", height=1.76 }\\n\\n    sortBy .name   [chuck,alice,bob] == [alice,bob,chuck]\\n    sortBy .height [chuck,alice,bob] == [alice,chuck,bob]\\n\\n    sortBy String.length [\\"mouse\\",\\"cat\\"] == [\\"cat\\",\\"mouse\\"]\\n"},{"name":"sortWith","fullName":"List.sortWith","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sortWith","signature":"(a -> a -> Basics.Order) -> List a -> List a","comment":" Sort values with a custom comparison function.\\n\\n    sortWith flippedComparison [1..5] == [5,4,3,2,1]\\n\\n    flippedComparison a b =\\n        case compare a b of\\n          LT -> GT\\n          EQ -> EQ\\n          GT -> LT\\n\\nThis is also the most general sort function, allowing you\\nto define any other: `sort == sortWith compare`\\n"},{"name":"sum","fullName":"List.sum","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#sum","signature":"List number -> number","comment":" Get the sum of the list elements.\\n\\n    sum [1..4] == 10\\n"},{"name":"tail","fullName":"List.tail","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#tail","signature":"List a -> Maybe.Maybe (List a)","comment":" Extract the rest of the list.\\n\\n    tail [1,2,3] == Just [2,3]\\n    tail [] == Nothing\\n"},{"name":"take","fullName":"List.take","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#take","signature":"Int -> List a -> List a","comment":" Take the first *n* members of a list.\\n\\n    take 2 [1,2,3,4] == [1,2]\\n"},{"name":"unzip","fullName":"List.unzip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/List#unzip","signature":"List ( a, b ) -> ( List a, List b )","comment":" Decompose a list of tuples into a tuple of lists.\\n\\n    unzip [(0, True), (17, False), (1337, True)] == ([0,17,1337], [True,False,True])\\n"},{"name":"andThen","fullName":"Result.andThen","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#andThen","signature":"Result.Result x a -> (a -> Result.Result x b) -> Result.Result x b","comment":" Chain together a sequence of computations that may fail. It is helpful\\nto see its definition:\\n\\n    andThen : Result e a -> (a -> Result e b) -> Result e b\\n    andThen result callback =\\n        case result of\\n          Ok value -> callback value\\n          Err msg -> Err msg\\n\\nThis means we only continue with the callback if things are going well. For\\nexample, say you need to use (`toInt : String -> Result String Int`) to parse\\na month and make sure it is between 1 and 12:\\n\\n    toValidMonth : Int -> Result String Int\\n    toValidMonth month =\\n        if month >= 1 && month <= 12\\n            then Ok month\\n            else Err \\"months must be between 1 and 12\\"\\n\\n    toMonth : String -> Result String Int\\n    toMonth rawString =\\n        toInt rawString `andThen` toValidMonth\\n\\n    -- toMonth \\"4\\" == Ok 4\\n    -- toMonth \\"9\\" == Ok 9\\n    -- toMonth \\"a\\" == Err \\"cannot parse to an Int\\"\\n    -- toMonth \\"0\\" == Err \\"months must be between 1 and 12\\"\\n\\nThis allows us to come out of a chain of operations with quite a specific error\\nmessage. It is often best to create a custom type that explicitly represents\\nthe exact ways your computation may fail. This way it is easy to handle in your\\ncode.\\n"},{"name":"formatError","fullName":"Result.formatError","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#formatError","signature":"(error -> error\') -> Result.Result error a -> Result.Result error\' a","comment":" Format the error value of a result. If the result is `Ok`, it stays exactly\\nthe same, but if the result is an `Err` we will format the error. For example,\\nsay the errors we get have too much information:\\n\\n    parseInt : String -> Result ParseError Int\\n\\n    type ParseError =\\n        { message : String\\n        , code : Int\\n        , position : (Int,Int)\\n        }\\n\\n    formatError .message (parseInt \\"123\\") == Ok 123\\n    formatError .message (parseInt \\"abc\\") == Err \\"char \'a\' is not a number\\"\\n"},{"name":"fromMaybe","fullName":"Result.fromMaybe","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#fromMaybe","signature":"x -> Maybe.Maybe a -> Result.Result x a","comment":" Convert from a simple `Maybe` to interact with some code that primarily\\nuses `Results`.\\n\\n    parseInt : String -> Maybe Int\\n\\n    resultParseInt : String -> Result String Int\\n    resultParseInt string =\\n        fromMaybe (\\"error parsing string: \\" ++ toString string) (parseInt string)\\n"},{"name":"map","fullName":"Result.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map","signature":"(a -> value) -> Result.Result x a -> Result.Result x value","comment":" Apply a function to a result. If the result is `Ok`, it will be converted.\\nIf the result is an `Err`, the same error value will propagate through.\\n\\n    map sqrt (Ok 4.0)          == Ok 2.0\\n    map sqrt (Err \\"bad input\\") == Err \\"bad input\\"\\n"},{"name":"map2","fullName":"Result.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map2","signature":"(a -> b -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x value","comment":" Apply a function to two results, if both results are `Ok`. If not,\\nthe first argument which is an `Err` will propagate through.\\n\\n    map2 (+) (String.toInt \\"1\\") (String.toInt \\"2\\") == Ok 3\\n    map2 (+) (String.toInt \\"1\\") (String.toInt \\"y\\") == Err \\"could not convert string \'y\' to an Int\\"\\n    map2 (+) (String.toInt \\"x\\") (String.toInt \\"y\\") == Err \\"could not convert string \'x\' to an Int\\"\\n"},{"name":"map3","fullName":"Result.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map3","signature":"(a -> b -> c -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x value","comment":""},{"name":"map4","fullName":"Result.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map4","signature":"(a -> b -> c -> d -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x d -> Result.Result x value","comment":""},{"name":"map5","fullName":"Result.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#map5","signature":"(a -> b -> c -> d -> e -> value) -> Result.Result x a -> Result.Result x b -> Result.Result x c -> Result.Result x d -> Result.Result x e -> Result.Result x value","comment":""},{"name":"toMaybe","fullName":"Result.toMaybe","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#toMaybe","signature":"Result.Result x a -> Maybe.Maybe a","comment":" Convert to a simpler `Maybe` if the actual error message is not needed or\\nyou need to interact with some code that primarily uses maybes.\\n\\n    parseInt : String -> Result ParseError Int\\n\\n    maybeParseInt : String -> Maybe Int\\n    maybeParseInt string =\\n        toMaybe (parseInt string)\\n"},{"name":"withDefault","fullName":"Result.withDefault","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#withDefault","signature":"a -> Result.Result x a -> a","comment":" If the result is `Ok` return the value, but if the result is an `Err` then\\nreturn a given default value. The following examples try to parse integers.\\n\\n    Result.withDefault 0 (String.toInt \\"123\\") == 123\\n    Result.withDefault 0 (String.toInt \\"abc\\") == 0\\n"},{"name":"Ok","fullName":"Result.Ok","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Ok","fullName":"Result.Ok","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Err","fullName":"Result.Err","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"Err","fullName":"Result.Err","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Result#Result","signature":"","comment":""},{"name":"%","fullName":"Basics.%","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#%","signature":"Int -> Int -> Int","comment":" Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic).\\n\\n     7 % 2 == 1\\n    -1 % 4 == 3\\n"},{"name":"%","fullName":"Basics.%","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#%","signature":"Int -> Int -> Int","comment":" Perform [modular arithmetic](http://en.wikipedia.org/wiki/Modular_arithmetic).\\n\\n     7 % 2 == 1\\n    -1 % 4 == 3\\n"},{"name":"&&","fullName":"Basics.&&","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#&&","signature":"Bool -> Bool -> Bool","comment":" The logical AND operator. `True` if both inputs are `True`.\\nThis operator short-circuits to `False` if the first argument is `False`.\\n"},{"name":"&&","fullName":"Basics.&&","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#&&","signature":"Bool -> Bool -> Bool","comment":" The logical AND operator. `True` if both inputs are `True`.\\nThis operator short-circuits to `False` if the first argument is `False`.\\n"},{"name":"*","fullName":"Basics.*","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#*","signature":"number -> number -> number","comment":""},{"name":"*","fullName":"Basics.*","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#*","signature":"number -> number -> number","comment":""},{"name":"+","fullName":"Basics.+","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#+","signature":"number -> number -> number","comment":""},{"name":"+","fullName":"Basics.+","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#+","signature":"number -> number -> number","comment":""},{"name":"++","fullName":"Basics.++","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#++","signature":"appendable -> appendable -> appendable","comment":" Put two appendable things together. This includes strings, lists, and text.\\n\\n    \\"hello\\" ++ \\"world\\" == \\"helloworld\\"\\n    [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8]\\n"},{"name":"++","fullName":"Basics.++","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#++","signature":"appendable -> appendable -> appendable","comment":" Put two appendable things together. This includes strings, lists, and text.\\n\\n    \\"hello\\" ++ \\"world\\" == \\"helloworld\\"\\n    [1,1,2] ++ [3,5,8] == [1,1,2,3,5,8]\\n"},{"name":"-","fullName":"Basics.-","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#-","signature":"number -> number -> number","comment":""},{"name":"-","fullName":"Basics.-","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#-","signature":"number -> number -> number","comment":""},{"name":"/","fullName":"Basics./","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/","signature":"Float -> Float -> Float","comment":" Floating point division. "},{"name":"/","fullName":"Basics./","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/","signature":"Float -> Float -> Float","comment":" Floating point division. "},{"name":"//","fullName":"Basics.//","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#//","signature":"Int -> Int -> Int","comment":" Integer division. The remainder is discarded. "},{"name":"//","fullName":"Basics.//","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#//","signature":"Int -> Int -> Int","comment":" Integer division. The remainder is discarded. "},{"name":"/=","fullName":"Basics./=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/=","signature":"a -> a -> Bool","comment":""},{"name":"/=","fullName":"Basics./=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#/=","signature":"a -> a -> Bool","comment":""},{"name":"<","fullName":"Basics.<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<","fullName":"Basics.<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<<","fullName":"Basics.<<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<<","signature":"(b -> c) -> (a -> b) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    not << isEven << sqrt\\n\\nYou can think of this operator as equivalent to the following:\\n\\n    (g << f)  ==  (\\\\x -> g (f x))\\n\\nSo our example expands out to something like this:\\n\\n    \\\\n -> not (isEven (sqrt n))\\n"},{"name":"<<","fullName":"Basics.<<","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<<","signature":"(b -> c) -> (a -> b) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    not << isEven << sqrt\\n\\nYou can think of this operator as equivalent to the following:\\n\\n    (g << f)  ==  (\\\\x -> g (f x))\\n\\nSo our example expands out to something like this:\\n\\n    \\\\n -> not (isEven (sqrt n))\\n"},{"name":"<=","fullName":"Basics.<=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<=","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<=","fullName":"Basics.<=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<=","signature":"comparable -> comparable -> Bool","comment":""},{"name":"<|","fullName":"Basics.<|","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<|","signature":"(a -> b) -> a -> b","comment":" Backward function application `f <| x == f x`. This function is useful for\\navoiding parenthesis. Consider the following code to create a text element:\\n\\n    leftAligned (monospace (fromString \\"code\\"))\\n\\nThis can also be written as:\\n\\n    leftAligned << monospace <| fromString \\"code\\"\\n"},{"name":"<|","fullName":"Basics.<|","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#<|","signature":"(a -> b) -> a -> b","comment":" Backward function application `f <| x == f x`. This function is useful for\\navoiding parenthesis. Consider the following code to create a text element:\\n\\n    leftAligned (monospace (fromString \\"code\\"))\\n\\nThis can also be written as:\\n\\n    leftAligned << monospace <| fromString \\"code\\"\\n"},{"name":"==","fullName":"Basics.==","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==","signature":"a -> a -> Bool","comment":""},{"name":"==","fullName":"Basics.==","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#==","signature":"a -> a -> Bool","comment":""},{"name":">","fullName":"Basics.>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>","signature":"comparable -> comparable -> Bool","comment":""},{"name":">","fullName":"Basics.>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>","signature":"comparable -> comparable -> Bool","comment":""},{"name":">=","fullName":"Basics.>=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>=","signature":"comparable -> comparable -> Bool","comment":""},{"name":">=","fullName":"Basics.>=","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>=","signature":"comparable -> comparable -> Bool","comment":""},{"name":">>","fullName":"Basics.>>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>>","signature":"(a -> b) -> (b -> c) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    sqrt >> isEven >> not\\n\\nThis direction of function composition seems less pleasant than `(<<)` which\\nreads nicely in expressions like: `filter (not << isRegistered) students`\\n"},{"name":">>","fullName":"Basics.>>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#>>","signature":"(a -> b) -> (b -> c) -> a -> c","comment":" Function composition, passing results along in the suggested direction. For\\nexample, the following code checks if the square root of a number is odd:\\n\\n    sqrt >> isEven >> not\\n\\nThis direction of function composition seems less pleasant than `(<<)` which\\nreads nicely in expressions like: `filter (not << isRegistered) students`\\n"},{"name":"^","fullName":"Basics.^","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#^","signature":"number -> number -> number","comment":" Exponentiation\\n\\n    3^2 == 9\\n"},{"name":"^","fullName":"Basics.^","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#^","signature":"number -> number -> number","comment":" Exponentiation\\n\\n    3^2 == 9\\n"},{"name":"abs","fullName":"Basics.abs","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#abs","signature":"number -> number","comment":" Take the absolute value of a number. "},{"name":"abs","fullName":"Basics.abs","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#abs","signature":"number -> number","comment":" Take the absolute value of a number. "},{"name":"acos","fullName":"Basics.acos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#acos","signature":"Float -> Float","comment":""},{"name":"acos","fullName":"Basics.acos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#acos","signature":"Float -> Float","comment":""},{"name":"always","fullName":"Basics.always","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#always","signature":"a -> b -> a","comment":" Create a [constant function](http://en.wikipedia.org/wiki/Constant_function),\\na function that *always* returns the same value regardless of what input you give.\\nIt is defined as:\\n\\n    always a b = a\\n\\nIt totally ignores the second argument, so `always 42` is a function that always\\nreturns 42. When you are dealing with higher-order functions, this comes in\\nhandy more often than you might expect. For example, creating a zeroed out list\\nof length ten would be:\\n\\n    map (always 0) [0..9]\\n"},{"name":"always","fullName":"Basics.always","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#always","signature":"a -> b -> a","comment":" Create a [constant function](http://en.wikipedia.org/wiki/Constant_function),\\na function that *always* returns the same value regardless of what input you give.\\nIt is defined as:\\n\\n    always a b = a\\n\\nIt totally ignores the second argument, so `always 42` is a function that always\\nreturns 42. When you are dealing with higher-order functions, this comes in\\nhandy more often than you might expect. For example, creating a zeroed out list\\nof length ten would be:\\n\\n    map (always 0) [0..9]\\n"},{"name":"asin","fullName":"Basics.asin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#asin","signature":"Float -> Float","comment":""},{"name":"asin","fullName":"Basics.asin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#asin","signature":"Float -> Float","comment":""},{"name":"atan","fullName":"Basics.atan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan","signature":"Float -> Float","comment":" You probably do not want to use this. It takes `(y/x)` as the\\nargument, so there is no way to know whether the negative signs comes from\\nthe `y` or `x`. Thus, the resulting angle is always between &pi;/2 and -&pi;/2\\n(in quadrants I and IV). You probably want to use `atan2` instead.\\n"},{"name":"atan","fullName":"Basics.atan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan","signature":"Float -> Float","comment":" You probably do not want to use this. It takes `(y/x)` as the\\nargument, so there is no way to know whether the negative signs comes from\\nthe `y` or `x`. Thus, the resulting angle is always between &pi;/2 and -&pi;/2\\n(in quadrants I and IV). You probably want to use `atan2` instead.\\n"},{"name":"atan2","fullName":"Basics.atan2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan2","signature":"Float -> Float -> Float","comment":" This helps you find the angle of a Cartesian coordinate.\\nYou will almost certainly want to use this instead of `atan`.\\nSo `atan2 y x` computes *atan(y/x)* but also keeps track of which\\nquadrant the angle should really be in. The result will be between\\n&pi; and -&pi;, giving you the full range of angles.\\n"},{"name":"atan2","fullName":"Basics.atan2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#atan2","signature":"Float -> Float -> Float","comment":" This helps you find the angle of a Cartesian coordinate.\\nYou will almost certainly want to use this instead of `atan`.\\nSo `atan2 y x` computes *atan(y/x)* but also keeps track of which\\nquadrant the angle should really be in. The result will be between\\n&pi; and -&pi;, giving you the full range of angles.\\n"},{"name":"ceiling","fullName":"Basics.ceiling","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#ceiling","signature":"Float -> Int","comment":" Ceiling function, rounding up. "},{"name":"ceiling","fullName":"Basics.ceiling","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#ceiling","signature":"Float -> Int","comment":" Ceiling function, rounding up. "},{"name":"clamp","fullName":"Basics.clamp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#clamp","signature":"number -> number -> number -> number","comment":" Clamps a number within a given range. With the expression\\n`clamp 100 200 x` the results are as follows:\\n\\n    100     if x < 100\\n     x      if 100 <= x < 200\\n    200     if 200 <= x\\n"},{"name":"clamp","fullName":"Basics.clamp","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#clamp","signature":"number -> number -> number -> number","comment":" Clamps a number within a given range. With the expression\\n`clamp 100 200 x` the results are as follows:\\n\\n    100     if x < 100\\n     x      if 100 <= x < 200\\n    200     if 200 <= x\\n"},{"name":"compare","fullName":"Basics.compare","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#compare","signature":"comparable -> comparable -> Basics.Order","comment":" Compare any two comparable values. Comparable values include `String`, `Char`,\\n`Int`, `Float`, `Time`, or a list or tuple containing comparable values.\\nThese are also the only values that work as `Dict` keys or `Set` members.\\n"},{"name":"compare","fullName":"Basics.compare","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#compare","signature":"comparable -> comparable -> Basics.Order","comment":" Compare any two comparable values. Comparable values include `String`, `Char`,\\n`Int`, `Float`, `Time`, or a list or tuple containing comparable values.\\nThese are also the only values that work as `Dict` keys or `Set` members.\\n"},{"name":"cos","fullName":"Basics.cos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#cos","signature":"Float -> Float","comment":""},{"name":"cos","fullName":"Basics.cos","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#cos","signature":"Float -> Float","comment":""},{"name":"curry","fullName":"Basics.curry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#curry","signature":"(( a, b ) -> c) -> a -> b -> c","comment":" Change how arguments are passed to a function.\\nThis splits paired arguments into two separate arguments.\\n"},{"name":"curry","fullName":"Basics.curry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#curry","signature":"(( a, b ) -> c) -> a -> b -> c","comment":" Change how arguments are passed to a function.\\nThis splits paired arguments into two separate arguments.\\n"},{"name":"degrees","fullName":"Basics.degrees","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#degrees","signature":"Float -> Float","comment":" Convert degrees to standard Elm angles (radians). "},{"name":"degrees","fullName":"Basics.degrees","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#degrees","signature":"Float -> Float","comment":" Convert degrees to standard Elm angles (radians). "},{"name":"e","fullName":"Basics.e","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#e","signature":"Float","comment":" An approximation of e. "},{"name":"e","fullName":"Basics.e","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#e","signature":"Float","comment":" An approximation of e. "},{"name":"flip","fullName":"Basics.flip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#flip","signature":"(a -> b -> c) -> b -> a -> c","comment":" Flip the order of the first two arguments to a function. "},{"name":"flip","fullName":"Basics.flip","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#flip","signature":"(a -> b -> c) -> b -> a -> c","comment":" Flip the order of the first two arguments to a function. "},{"name":"floor","fullName":"Basics.floor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#floor","signature":"Float -> Int","comment":" Floor function, rounding down. "},{"name":"floor","fullName":"Basics.floor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#floor","signature":"Float -> Int","comment":" Floor function, rounding down. "},{"name":"fromPolar","fullName":"Basics.fromPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fromPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert polar coordinates (r,&theta;) to Cartesian coordinates (x,y). "},{"name":"fromPolar","fullName":"Basics.fromPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fromPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert polar coordinates (r,&theta;) to Cartesian coordinates (x,y). "},{"name":"fst","fullName":"Basics.fst","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fst","signature":"( a, b ) -> a","comment":" Given a 2-tuple, returns the first value. "},{"name":"fst","fullName":"Basics.fst","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#fst","signature":"( a, b ) -> a","comment":" Given a 2-tuple, returns the first value. "},{"name":"identity","fullName":"Basics.identity","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#identity","signature":"a -> a","comment":" Given a value, returns exactly the same value. This is called\\n[the identity function](http://en.wikipedia.org/wiki/Identity_function).\\n"},{"name":"identity","fullName":"Basics.identity","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#identity","signature":"a -> a","comment":" Given a value, returns exactly the same value. This is called\\n[the identity function](http://en.wikipedia.org/wiki/Identity_function).\\n"},{"name":"isInfinite","fullName":"Basics.isInfinite","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isInfinite","signature":"Float -> Bool","comment":" Determine whether a float is positive or negative infinity.\\n\\n    isInfinite (0/0)     == False\\n    isInfinite (sqrt -1) == False\\n    isInfinite (1/0)     == True\\n    isInfinite 1         == False\\n\\nNotice that NaN is not infinite! For float `n` to be finite implies that\\n`not (isInfinite n || isNaN n)` evaluates to `True`.\\n"},{"name":"isInfinite","fullName":"Basics.isInfinite","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isInfinite","signature":"Float -> Bool","comment":" Determine whether a float is positive or negative infinity.\\n\\n    isInfinite (0/0)     == False\\n    isInfinite (sqrt -1) == False\\n    isInfinite (1/0)     == True\\n    isInfinite 1         == False\\n\\nNotice that NaN is not infinite! For float `n` to be finite implies that\\n`not (isInfinite n || isNaN n)` evaluates to `True`.\\n"},{"name":"isNaN","fullName":"Basics.isNaN","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN","signature":"Float -> Bool","comment":" Determine whether a float is an undefined or unrepresentable number.\\nNaN stands for *not a number* and it is [a standardized part of floating point\\nnumbers](http://en.wikipedia.org/wiki/NaN).\\n\\n    isNaN (0/0)     == True\\n    isNaN (sqrt -1) == True\\n    isNaN (1/0)     == False  -- infinity is a number\\n    isNaN 1         == False\\n"},{"name":"isNaN","fullName":"Basics.isNaN","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#isNaN","signature":"Float -> Bool","comment":" Determine whether a float is an undefined or unrepresentable number.\\nNaN stands for *not a number* and it is [a standardized part of floating point\\nnumbers](http://en.wikipedia.org/wiki/NaN).\\n\\n    isNaN (0/0)     == True\\n    isNaN (sqrt -1) == True\\n    isNaN (1/0)     == False  -- infinity is a number\\n    isNaN 1         == False\\n"},{"name":"logBase","fullName":"Basics.logBase","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#logBase","signature":"Float -> Float -> Float","comment":" Calculate the logarithm of a number with a given base.\\n\\n    logBase 10 100 == 2\\n    logBase 2 256 == 8\\n"},{"name":"logBase","fullName":"Basics.logBase","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#logBase","signature":"Float -> Float -> Float","comment":" Calculate the logarithm of a number with a given base.\\n\\n    logBase 10 100 == 2\\n    logBase 2 256 == 8\\n"},{"name":"max","fullName":"Basics.max","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#max","signature":"comparable -> comparable -> comparable","comment":" Find the larger of two comparables. "},{"name":"max","fullName":"Basics.max","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#max","signature":"comparable -> comparable -> comparable","comment":" Find the larger of two comparables. "},{"name":"min","fullName":"Basics.min","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#min","signature":"comparable -> comparable -> comparable","comment":" Find the smaller of two comparables. "},{"name":"min","fullName":"Basics.min","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#min","signature":"comparable -> comparable -> comparable","comment":" Find the smaller of two comparables. "},{"name":"negate","fullName":"Basics.negate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#negate","signature":"number -> number","comment":" Negate a number.\\n\\n    negate 42 == -42\\n    negate -42 == 42\\n    negate 0 == 0\\n"},{"name":"negate","fullName":"Basics.negate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#negate","signature":"number -> number","comment":" Negate a number.\\n\\n    negate 42 == -42\\n    negate -42 == 42\\n    negate 0 == 0\\n"},{"name":"not","fullName":"Basics.not","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#not","signature":"Bool -> Bool","comment":" Negate a boolean value.\\n\\n    not True == False\\n    not False == True\\n"},{"name":"not","fullName":"Basics.not","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#not","signature":"Bool -> Bool","comment":" Negate a boolean value.\\n\\n    not True == False\\n    not False == True\\n"},{"name":"pi","fullName":"Basics.pi","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#pi","signature":"Float","comment":" An approximation of pi. "},{"name":"pi","fullName":"Basics.pi","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#pi","signature":"Float","comment":" An approximation of pi. "},{"name":"radians","fullName":"Basics.radians","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#radians","signature":"Float -> Float","comment":" Convert radians to standard Elm angles (radians). "},{"name":"radians","fullName":"Basics.radians","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#radians","signature":"Float -> Float","comment":" Convert radians to standard Elm angles (radians). "},{"name":"rem","fullName":"Basics.rem","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#rem","signature":"Int -> Int -> Int","comment":" Find the remainder after dividing one number by another.\\n\\n     7 `rem` 2 == 1\\n    -1 `rem` 4 == -1\\n"},{"name":"rem","fullName":"Basics.rem","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#rem","signature":"Int -> Int -> Int","comment":" Find the remainder after dividing one number by another.\\n\\n     7 `rem` 2 == 1\\n    -1 `rem` 4 == -1\\n"},{"name":"round","fullName":"Basics.round","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#round","signature":"Float -> Int","comment":" Round a number to the nearest integer. "},{"name":"round","fullName":"Basics.round","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#round","signature":"Float -> Int","comment":" Round a number to the nearest integer. "},{"name":"sin","fullName":"Basics.sin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sin","signature":"Float -> Float","comment":""},{"name":"sin","fullName":"Basics.sin","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sin","signature":"Float -> Float","comment":""},{"name":"snd","fullName":"Basics.snd","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#snd","signature":"( a, b ) -> b","comment":" Given a 2-tuple, returns the second value. "},{"name":"snd","fullName":"Basics.snd","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#snd","signature":"( a, b ) -> b","comment":" Given a 2-tuple, returns the second value. "},{"name":"sqrt","fullName":"Basics.sqrt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sqrt","signature":"Float -> Float","comment":" Take the square root of a number. "},{"name":"sqrt","fullName":"Basics.sqrt","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#sqrt","signature":"Float -> Float","comment":" Take the square root of a number. "},{"name":"tan","fullName":"Basics.tan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#tan","signature":"Float -> Float","comment":""},{"name":"tan","fullName":"Basics.tan","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#tan","signature":"Float -> Float","comment":""},{"name":"toFloat","fullName":"Basics.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat","signature":"Int -> Float","comment":" Convert an integer into a float. "},{"name":"toFloat","fullName":"Basics.toFloat","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat","signature":"Int -> Float","comment":" Convert an integer into a float. "},{"name":"toPolar","fullName":"Basics.toPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert Cartesian coordinates (x,y) to polar coordinates (r,&theta;). "},{"name":"toPolar","fullName":"Basics.toPolar","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toPolar","signature":"( Float, Float ) -> ( Float, Float )","comment":" Convert Cartesian coordinates (x,y) to polar coordinates (r,&theta;). "},{"name":"toString","fullName":"Basics.toString","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toString","signature":"a -> String","comment":" Turn any kind of value into a string. When you view the resulting string\\nwith `Text.fromString` it should look just like the value it came from.\\n\\n    toString 42 == \\"42\\"\\n    toString [1,2] == \\"[1,2]\\"\\n    toString \\"he said, \\\\\\"hi\\\\\\"\\" == \\"\\\\\\"he said, \\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\"\\\\\\"\\"\\n"},{"name":"toString","fullName":"Basics.toString","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toString","signature":"a -> String","comment":" Turn any kind of value into a string. When you view the resulting string\\nwith `Text.fromString` it should look just like the value it came from.\\n\\n    toString 42 == \\"42\\"\\n    toString [1,2] == \\"[1,2]\\"\\n    toString \\"he said, \\\\\\"hi\\\\\\"\\" == \\"\\\\\\"he said, \\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\"\\\\\\"\\"\\n"},{"name":"truncate","fullName":"Basics.truncate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#truncate","signature":"Float -> Int","comment":" Truncate a number, rounding towards zero. "},{"name":"truncate","fullName":"Basics.truncate","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#truncate","signature":"Float -> Int","comment":" Truncate a number, rounding towards zero. "},{"name":"turns","fullName":"Basics.turns","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#turns","signature":"Float -> Float","comment":" Convert turns to standard Elm angles (radians).\\nOne turn is equal to 360&deg;.\\n"},{"name":"turns","fullName":"Basics.turns","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#turns","signature":"Float -> Float","comment":" Convert turns to standard Elm angles (radians).\\nOne turn is equal to 360&deg;.\\n"},{"name":"uncurry","fullName":"Basics.uncurry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#uncurry","signature":"(a -> b -> c) -> ( a, b ) -> c","comment":" Change how arguments are passed to a function.\\nThis combines two arguments into a single pair.\\n"},{"name":"uncurry","fullName":"Basics.uncurry","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#uncurry","signature":"(a -> b -> c) -> ( a, b ) -> c","comment":" Change how arguments are passed to a function.\\nThis combines two arguments into a single pair.\\n"},{"name":"xor","fullName":"Basics.xor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#xor","signature":"Bool -> Bool -> Bool","comment":" The exclusive-or operator. `True` if exactly one input is `True`. "},{"name":"xor","fullName":"Basics.xor","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#xor","signature":"Bool -> Bool -> Bool","comment":" The exclusive-or operator. `True` if exactly one input is `True`. "},{"name":"|>","fullName":"Basics.|>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#|>","signature":"a -> (a -> b) -> b","comment":" Forward function application `x |> f == f x`. This function is useful\\nfor avoiding parenthesis and writing code in a more natural way.\\nConsider the following code to create a pentagon:\\n\\n    scale 2 (move (10,10) (filled blue (ngon 5 30)))\\n\\nThis can also be written as:\\n\\n    ngon 5 30\\n      |> filled blue\\n      |> move (10,10)\\n      |> scale 2\\n"},{"name":"|>","fullName":"Basics.|>","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#|>","signature":"a -> (a -> b) -> b","comment":" Forward function application `x |> f == f x`. This function is useful\\nfor avoiding parenthesis and writing code in a more natural way.\\nConsider the following code to create a pentagon:\\n\\n    scale 2 (move (10,10) (filled blue (ngon 5 30)))\\n\\nThis can also be written as:\\n\\n    ngon 5 30\\n      |> filled blue\\n      |> move (10,10)\\n      |> scale 2\\n"},{"name":"||","fullName":"Basics.||","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#||","signature":"Bool -> Bool -> Bool","comment":" The logical OR operator. `True` if one or both inputs are `True`.\\nThis operator short-circuits to `True` if the first argument is `True`.\\n"},{"name":"||","fullName":"Basics.||","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#||","signature":"Bool -> Bool -> Bool","comment":" The logical OR operator. `True` if one or both inputs are `True`.\\nThis operator short-circuits to `True` if the first argument is `True`.\\n"},{"name":"LT","fullName":"Basics.LT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"LT","fullName":"Basics.LT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"EQ","fullName":"Basics.EQ","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"EQ","fullName":"Basics.EQ","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"GT","fullName":"Basics.GT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"GT","fullName":"Basics.GT","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#Order","signature":"","comment":""},{"name":"andThen","fullName":"Maybe.andThen","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#andThen","signature":"Maybe.Maybe a -> (a -> Maybe.Maybe b) -> Maybe.Maybe b","comment":" Chain together many computations that may fail. It is helpful to see its\\ndefinition:\\n\\n    andThen : Maybe a -> (a -> Maybe b) -> Maybe b\\n    andThen maybe callback =\\n        case maybe of\\n            Just value ->\\n                callback value\\n\\n            Nothing ->\\n                Nothing\\n\\nThis means we only continue with the callback if things are going well. For\\nexample, say you need to use (`head : List Int -> Maybe Int`) to get the\\nfirst month from a `List` and then make sure it is between 1 and 12:\\n\\n    toValidMonth : Int -> Maybe Int\\n    toValidMonth month =\\n        if month >= 1 && month <= 12 then\\n            Just month\\n        else\\n            Nothing\\n\\n    getFirstMonth : List Int -> Maybe Int\\n    getFirstMonth months =\\n        head months `andThen` toValidMonth\\n\\nIf `head` fails and results in `Nothing` (because the `List` was empty`),\\nthis entire chain of operations will short-circuit and result in `Nothing`.\\nIf `toValidMonth` results in `Nothing`, again the chain of computations\\nwill result in `Nothing`.\\n"},{"name":"map","fullName":"Maybe.map","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map","signature":"(a -> b) -> Maybe.Maybe a -> Maybe.Maybe b","comment":" Transform a `Maybe` value with a given function:\\n\\n    map sqrt (Just 9) == Just 3\\n    map sqrt Nothing == Nothing\\n"},{"name":"map2","fullName":"Maybe.map2","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map2","signature":"(a -> b -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe value","comment":" Apply a function if all the arguments are `Just` a value.\\n\\n    map2 (+) (Just 3) (Just 4) == Just 7\\n    map2 (+) (Just 3) Nothing == Nothing\\n    map2 (+) Nothing (Just 4) == Nothing\\n"},{"name":"map3","fullName":"Maybe.map3","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map3","signature":"(a -> b -> c -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe value","comment":""},{"name":"map4","fullName":"Maybe.map4","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map4","signature":"(a -> b -> c -> d -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe d -> Maybe.Maybe value","comment":""},{"name":"map5","fullName":"Maybe.map5","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#map5","signature":"(a -> b -> c -> d -> e -> value) -> Maybe.Maybe a -> Maybe.Maybe b -> Maybe.Maybe c -> Maybe.Maybe d -> Maybe.Maybe e -> Maybe.Maybe value","comment":""},{"name":"oneOf","fullName":"Maybe.oneOf","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#oneOf","signature":"List (Maybe.Maybe a) -> Maybe.Maybe a","comment":" Pick the first `Maybe` that actually has a value. Useful when you want to\\ntry a couple different things, but there is no default value.\\n\\n    oneOf [ Nothing, Just 42, Just 71 ] == Just 42\\n    oneOf [ Nothing, Nothing, Just 71 ] == Just 71\\n    oneOf [ Nothing, Nothing, Nothing ] == Nothing\\n"},{"name":"withDefault","fullName":"Maybe.withDefault","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#withDefault","signature":"a -> Maybe.Maybe a -> a","comment":" Provide a default value, turning an optional value into a normal\\nvalue.  This comes in handy when paired with functions like\\n[`Dict.get`](Dict#get) which gives back a `Maybe`.\\n\\n    withDefault 100 (Just 42)   -- 42\\n    withDefault 100 Nothing     -- 100\\n\\n    withDefault \\"unknown\\" (Dict.get \\"Tom\\" Dict.empty)   -- \\"unknown\\"\\n\\n"},{"name":"Just","fullName":"Maybe.Just","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Just","fullName":"Maybe.Just","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Nothing","fullName":"Maybe.Nothing","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""},{"name":"Nothing","fullName":"Maybe.Nothing","href":"http://package.elm-lang.org/packages/elm-lang/core/latest/Maybe#Maybe","signature":"","comment":""}]' 
errors: b''
deadfoxygrandpa commented 8 years ago

But even then, you don't see any of the type signatures or auto-completion?

rtfeldman commented 8 years ago

Commented on elm-oracle status on https://github.com/deadfoxygrandpa/Elm.tmLanguage/issues/74#issuecomment-171900481 to keep threads separate. :smile:

deadfoxygrandpa commented 8 years ago

@rtfeldman I just added some more logging related to your PATH. Can you try reproducing this again and posting the log?

deadfoxygrandpa commented 8 years ago

@rtfeldman I also just found out why elm_format_on_save wasn't working and I think that part should be fixed now.

rtfeldman commented 8 years ago

@deadfoxygrandpa just updated 5 minutes ago (after your previous comment), and now elm-format no longer works at all, on save or by manually running from the command palette.

In case it's relevant:

$ which elm-format
/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin/elm-format
$ which elm-oracle
/usr/local/bin/elm-oracle

Output:

first paint time: 0.614027
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin 0_package_control_loader.00-package_control
reloading plugin 0_package_control_loader.01-pygments
reloading plugin 0_package_control_loader.02-bz2
reloading plugin 0_package_control_loader.50-pyyaml
reloading plugin AAAPackageDev.AAA
[AAAPackageDev] Added /Users/rtfeldman/Library/Application Support/Sublime Text 3/Installed Packages/AAAPackageDev.sublime-package/Lib to sys.path.
[AAAPackageDev] Added /Users/rtfeldman/Library/Application Support/Sublime Text 3/Installed Packages/AAAPackageDev.sublime-package/Lib/_py3 to sys.path.
reloading plugin AAAPackageDev.build_sys_dev
reloading plugin AAAPackageDev.commands_file_dev
reloading plugin AAAPackageDev.completions_dev
reloading plugin AAAPackageDev.file_conversion
reloading plugin AAAPackageDev.scope_data
reloading plugin AAAPackageDev.settings_dev
reloading plugin AAAPackageDev.snippet_dev
reloading plugin AAAPackageDev.sublime_inspect
reloading plugin AAAPackageDev.syntax_def_dev
reloading plugin AdvancedNewFile.AdvancedNewFile
reloading plugin Alignment.Alignment
reloading plugin AlignTab.aligner
reloading plugin AlignTab.aligntab
reloading plugin AlignTab.hist
reloading plugin AlignTab.parser
reloading plugin AlignTab.table
reloading plugin AlignTab.wclen
reloading plugin Better CoffeeScript.CoffeeScript
reloading plugin Git.commands
reloading plugin Highlight Build Errors.HighlightBuildErrors
reloading plugin Markdown Preview.helper
reloading plugin Markdown Preview.markdown_settings
reloading plugin Markdown Preview.markdown_wrapper
reloading plugin Markdown Preview.MarkdownPreview
reloading plugin Package Control.1_reloader
reloading plugin Package Control.2_bootstrap
reloading plugin Package Control.Package Control
reloading plugin PackageResourceViewer.package_resource_viewer
reloading plugin PackageResourceViewer.package_resources
reloading plugin Ruby Markers.ruby_markers
reloading plugin Schemr.schemr
reloading plugin SCSS.scss_completions
reloading plugin SmartMarkdown.headline
reloading plugin SmartMarkdown.headline_level
reloading plugin SmartMarkdown.headline_move
reloading plugin SmartMarkdown.pandoc_render
reloading plugin SmartMarkdown.smart_folding
reloading plugin SmartMarkdown.smart_list
reloading plugin SmartMarkdown.smart_table
reloading plugin SmartMarkdown.table
reloading plugin SmartMarkdown.utilities
reloading plugin Surround.Surround
reloading plugin Trailing Punctuation.trailing_punctuation
reloading plugin VAlign.valign
reloading plugin Vintageous.__init__
reloading plugin Vintageous.dev_cmds
reloading plugin Vintageous.ex_commands
reloading plugin Vintageous.ex_main
reloading plugin Vintageous.ex_motions
reloading plugin Vintageous.jump_list_cmds
reloading plugin Vintageous.modelines
reloading plugin Vintageous.state
reloading plugin Vintageous.test_runner
reloading plugin Vintageous.xactions
reloading plugin Vintageous.xmotions
reloading plugin Vintageous.xsupport
reloading plugin Vintageous.xsupport_mouse
reloading plugin Git.add
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.add'
reloading plugin Git.annotate
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.annotate'
reloading plugin Git.commit
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.commit'
reloading plugin Git.diff
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.diff'
reloading plugin Git.flow
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.flow'
reloading plugin Git.git
reloading plugin Git.history
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.history'
reloading plugin Git.repo
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.repo'
reloading plugin Git.stash
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.stash'
reloading plugin Git.status
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.status'
reloading plugin Git.statusbar
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'Git.statusbar'
reloading plugin Elm Language Support.elm_format
reloading plugin Elm Language Support.elm_generate
reloading plugin Elm Language Support.elm_make
reloading plugin Elm Language Support.elm_open_in_browser
reloading plugin Elm Language Support.elm_plugin
reloading plugin Elm Language Support.elm_project
reloading plugin Elm Language Support.elm_show_type
reloading plugin SublimeREPL.__init__
reloading plugin SublimeREPL.completions
reloading plugin SublimeREPL.lang_integration
reloading plugin SublimeREPL.run_existing_command
reloading plugin SublimeREPL.sublimerepl
reloading plugin SublimeREPL.sublimerepl_build_system_hack
reloading plugin SublimeREPL.text_transfer
plugins loaded
[Elm says]: (elm-oracle) b'Takes one elm file and one token.' 
errors: b''
Your PATH is:  /Users/rtfeldman/.gem/ruby/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/bin:/Users/rtfeldman/.local/bin:/Users/rtfeldman/.cabal/bin:/Applications/ghc-7.10.2.app/Contents/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1@global/bin:/Users/rtfeldman/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rtfeldman/.rvm/bin:/Users/rtfeldman/code/elm-local/.cabal-sandbox/bin:/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin
Package Control: Skipping automatic upgrade, last run at 2016-01-18 09:07:22, next run at 2016-01-18 10:07:22 or after
[Elm says]: (elm-format) b"elm-format 0.1-alpha3-dev\n\nUsage: elm-format [INPUT] [--output FILE] [--yes] [--stdin]\n  Format an Elm source file.\n\nAvailable options:\n  -h,--help                Show this help text\n  --output FILE            Write output to FILE instead of overwriting the given\n                           source file.\n  --yes                    Reply 'yes' to all automated prompts.\n  --stdin                  Read from stdin, output to stdout.\n\nExamples:\n  elm-format Main.elm                     # formats Main.elm\n  elm-format Main.elm --output Main2.elm  # formats Main.elm as Main2.elm\n\nFull guide to using elm-format at <https://github.com/avh4/elm-format>" 
errors: b''
Your PATH is:  /Users/rtfeldman/.gem/ruby/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/bin:/Users/rtfeldman/.local/bin:/Users/rtfeldman/.cabal/bin:/Applications/ghc-7.10.2.app/Contents/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1@global/bin:/Users/rtfeldman/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rtfeldman/.rvm/bin:/Users/rtfeldman/code/elm-local/.cabal-sandbox/bin:/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin
[Elm says]: (elm-oracle) b'Takes one elm file and one token.' 
errors: b''
Your PATH is:  /Users/rtfeldman/.gem/ruby/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/bin:/Users/rtfeldman/.local/bin:/Users/rtfeldman/.cabal/bin:/Applications/ghc-7.10.2.app/Contents/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1@global/bin:/Users/rtfeldman/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rtfeldman/.rvm/bin:/Users/rtfeldman/code/elm-local/.cabal-sandbox/bin:/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin
[Elm says]: Detected settings: ElmProject(
    data_dict=OrderedDict([('version', '1.0.0'), ('summary', 'CSS Preprocessor for Elm'), ('repository', 'https://github.com/rtfeldman/elm-css.git'), ('license', 'BSD-3-Clause'), ('source-directories', ['src']), ('exposed-modules', ['Css', 'Css.Elements', 'Css.File']), ('dependencies', OrderedDict([('elm-lang/core', '2.0.0 <= v < 4.0.0')])), ('elm-version', '0.15.0 <= v < 0.17.0')]),
    exists=True,
    file_path=/Users/rtfeldman/code/elm-css/src/Css.elm,
    html_path=build/Css.html,
    json_path=/Users/rtfeldman/code/elm-css/elm-package.json,
    main_path=src/Css.elm,
    output_dir=build,
    output_ext=html,
    output_name=Css,
    output_path=build/Css.html,
    working_dir=/Users/rtfeldman/code/elm-css,
)
Running elm-make /Users/rtfeldman/code/elm-css/src/Css.elm --output=/dev/null --report=json --yes
[Elm says]: (elm-oracle) b'Takes one elm file and one token.' 
errors: b''
Your PATH is:  /Users/rtfeldman/.gem/ruby/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/bin:/Users/rtfeldman/.local/bin:/Users/rtfeldman/.cabal/bin:/Applications/ghc-7.10.2.app/Contents/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1@global/bin:/Users/rtfeldman/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rtfeldman/.rvm/bin:/Users/rtfeldman/code/elm-local/.cabal-sandbox/bin:/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin
[Elm says]: Invalid JSON from elm-make: 
[Elm says]: (elm-oracle) b'Takes one elm file and one token.' 
errors: b''
Your PATH is:  /Users/rtfeldman/.gem/ruby/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/bin:/Users/rtfeldman/.local/bin:/Users/rtfeldman/.cabal/bin:/Applications/ghc-7.10.2.app/Contents/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1@global/bin:/Users/rtfeldman/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rtfeldman/.rvm/bin:/Users/rtfeldman/code/elm-local/.cabal-sandbox/bin:/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin
[Elm says]: (elm-oracle) b'Takes one elm file and one token.' 
errors: b''
Your PATH is:  /Users/rtfeldman/.gem/ruby/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bin:/Users/rtfeldman/.rubies/ruby-2.2.0/bin:/Users/rtfeldman/.local/bin:/Users/rtfeldman/.cabal/bin:/Applications/ghc-7.10.2.app/Contents/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1/bin:/Users/rtfeldman/.rvm/gems/ruby-2.1.1@global/bin:/Users/rtfeldman/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rtfeldman/.rvm/bin:/Users/rtfeldman/code/elm-local/.cabal-sandbox/bin:/Users/rtfeldman/code/elm-format/.cabal-sandbox/bin
deadfoxygrandpa commented 8 years ago

@rtfeldman Sorry, I changed something that broke it on OSX, but I think I fixed it now if you update again.

I really need to get a MacBook... I was able to borrow one from a friend for about 3 hours this weekend which I used to try to track down some of the problems you've been having.

rtfeldman commented 8 years ago

@deadfoxygrandpa no worries - works now, both on save and from command palette! :tada: :tada: :tada:

deadfoxygrandpa commented 8 years ago

Glad this is working. Reopen it if you have any more problems!

rtfeldman commented 8 years ago

@deadfoxygrandpa Seems like I don't have permission to reopen the issue, but this is back again. Both elm-format and elm-oracle abruptly stopped working recently.

It's saying "file not found" for elm-oracle and elm-format, and even with debug: true enabled in the preferences, it's not printing out what it thinks the PATH is.

Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 574, in run_
    return self.run(edit)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_format.py", line 26, in run
    p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=shell)
  File "./subprocess.py", line 824, in __init__
  File "./subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'elm-format'
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 294, in on_post_save_async
    callback.on_post_save_async(v)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 229, in on_post_save_async
    view_load(view)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 210, in view_load
    load_from_oracle(view.file_name())
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 184, in load_from_oracle
    stderr=subprocess.PIPE, shell=shell)
  File "./subprocess.py", line 824, in __init__
  File "./subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'elm-oracle'
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 333, in on_activated_async
    callback.on_activated_async(v)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 226, in on_activated_async
    view_load(view)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 210, in view_load
    load_from_oracle(view.file_name())
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 184, in load_from_oracle
    stderr=subprocess.PIPE, shell=shell)
  File "./subprocess.py", line 824, in __init__
  File "./subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'elm-oracle'
[Elm says]: Detected settings: ElmProject(
    data_dict=OrderedDict([('version', '1.0.0'), ('summary', 'helpful summary of your project, less than 80 characters'), ('repository', 'https://github.com/user/project.git'), ('license', 'BSD3'), ('source-directories', ['elm/', 'elm-css']), ('native-modules', True), ('exposed-modules', []), ('dependencies', OrderedDict([('elm-lang/core', '3.0.0 <= v < 4.0.0'), ('evancz/elm-effects', '2.0.1 <= v < 3.0.0'), ('evancz/elm-html', '4.0.2 <= v < 5.0.0'), ('evancz/start-app', '2.0.2 <= v < 3.0.0')])), ('elm-version', '0.16.0 <= v < 0.17.0')]),
    exists=True,
    file_path=/Users/rtfeldman/code/json-to-elm/elm/Home.elm,
    html_path=build/Home.html,
    json_path=/Users/rtfeldman/code/json-to-elm/elm-package.json,
    main_path=elm/Home.elm,
    output_dir=build,
    output_ext=html,
    output_name=Home,
    output_path=build/Home.html,
    working_dir=/Users/rtfeldman/code/json-to-elm,
)
Running elm-make /Users/rtfeldman/code/json-to-elm/elm/Home.elm --output=/dev/null --report=json --yes
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 333, in on_activated_async
    callback.on_activated_async(v)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 226, in on_activated_async
    view_load(view)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 210, in view_load
    load_from_oracle(view.file_name())
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 184, in load_from_oracle
    stderr=subprocess.PIPE, shell=shell)
  File "./subprocess.py", line 824, in __init__
  File "./subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'elm-oracle'
[Elm says]: Invalid JSON from elm-make: Successfully generated /dev/null
[Elm says]: Invalid JSON from elm-make: 
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 574, in run_
    return self.run(edit)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_format.py", line 26, in run
    p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=shell)
  File "./subprocess.py", line 824, in __init__
  File "./subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'elm-format'
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 333, in on_activated_async
    callback.on_activated_async(v)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 226, in on_activated_async
    view_load(view)
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 210, in view_load
    load_from_oracle(view.file_name())
  File "/Users/rtfeldman/Library/Application Support/Sublime Text 3/Packages/Elm Language Support/elm_show_type.py", line 184, in load_from_oracle
    stderr=subprocess.PIPE, shell=shell)
  File "./subprocess.py", line 824, in __init__
  File "./subprocess.py", line 1448, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'elm-oracle'
rtfeldman commented 8 years ago

(Same behavior as before, fwiw - I can work around it by closing everything and reopening with subl .)

newtriks commented 8 years ago

I get exact same issue as @rtfeldman, for some reason opening with subl . was the initial solution but is sporadic in it's success.

rtfeldman commented 8 years ago

@newtriks the specific procedure that consistently fixes it for me is:

1) close each Sublime window individually 2) quit Sublime now that it has no open windows 3) reopen with subl from the terminal

It works if I do all three steps, in that order, and doesn't work if I deviate on any step.

Hope it helps!

newtriks commented 8 years ago

@rtfeldman yup that works pretty consistently for me thanks! Strange, launching Sublime from terminal must carry the shell environment thus enabling elm-oracle to be found.

ewendel commented 7 years ago

I just experienced the same problem. It works when opening ST from the command line, whereas opening from Spotlight / Dock doesn't work.

nshoes commented 7 years ago

@rtfeldman's workaround is the only thing that works consistently for me.

ivanbanov commented 7 years ago

God damn it guys, it was the only workaround. But serious? Why does it happens? :(

brandly commented 7 years ago

@ivanbanov i just installed this plugin which fixes the PATH issues, and now my Elm integration is working smoothly

ivanbanov commented 7 years ago

@brandly Nice dude! It works 🕺