elm / package.elm-lang.org Goto Github PK
View Code? Open in Web Editor NEWwebsite for browsing packages and exploring documentation
Home Page: https://package.elm-lang.org/
License: BSD 3-Clause "New" or "Revised" License
website for browsing packages and exploring documentation
Home Page: https://package.elm-lang.org/
License: BSD 3-Clause "New" or "Revised" License
On the documentation format page:
The link to the String library points to http://package.elm-lang.org/catalog/elm-lang-Elm/latest/String which doesn't exist. I believe this should be pointing to http://package.elm-lang.org/packages/elm-lang/core/1.1.0/String
Also, there are two references to http://package.elm-lang.org/catalog/elm-lang-Elm/latest/Maybe which also doesn't exist. This should probably be http://package.elm-lang.org/packages/elm-lang/core/1.1.0/Maybe.
It's all ready for 0.14: https://github.com/maxsnew/Lazy
Hi! Hopefully this will be easy because my native code is just a few lines. I think it's important for the usability of this package (until we get a language feature that obviates the need for it).
Elm-discuss thread: https://groups.google.com/forum/?fromgroups#!topic/elm-discuss/pdZcC9n-ci0
GitHub repository: https://github.com/karldray/elm-ref
Also, should my other module be Array.Ref or Ref.Array? I'm following the example of Array.Focus, but Ref.Array makes more sense to me.
Works a lot like the native Http module. Interfacing with Google Maps API requires native JS due to CSP limitations (can't use Http.send to communicate with an outside domain, have to use the Google Maps JS API which embeds itself with JSONP).
Eventually I hope to have full coverage of the Google Maps API, but I thought this would be a good starting point that the community could use and contribute to.
Thanks!
The server that runs package.elm-lang.org
should allow CORS
One particular reason: The Task tutorial walks users through how to make HTTP requests to http://package.elm-lang.org/packages/elm-lang/core/latest/README.md
. Anyone trying to follow along, running their copy of the code through elm-make
or elm-reactor
will end up with
XMLHttpRequest cannot load http://package.elm-lang.org/packages/elm-lang/core/latest/README.md. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access.
I have a small package ready for getting / setting cookies. Of course, it needs Native access to Javascript's document.cookie.
Since document.cookie can change over time, it's exposed via a Task rather than a plain function. I considered making it a Signal, but there's no way to listen for changes. (That is, there isn't any way to automatically know that the cookie has changed, so that a new value should be pushed into the Signal. Though I suppose one could integrate with elm-http in some fashion, since the cookies can only change via a round-trip to the server).
Of course, cookies are a little old-fashioned by now, but sometimes you do need to read them for legacy reasons.
Here's the link to the repository: https://github.com/rgrempel/elm-cookies
The relevant repository is here.
This module provides a few utility functions to make working with RFC3339 formatted dates and times more pleasant.
Hi!
I created another IO implementation in Elm. It has some advantage.
I hope to accept this package.
regards.
Hi,
elm-package just sent me here. Getting a review would be really cool actually, I probably don't know what I'm doing as I just copied & pasted stuff around until it worked :)
Here is the link to the repo: https://github.com/zimbatm/elm-gamepad
https://github.com/bmatcuk/elm-webaudio
The native code is necessary to connect elm with the WebAudio API.
https://github.com/GlenDC/elm-editor-keyboard
This library provides access to keyboard input, without having to worry about triggering unwanted browser shortcuts.
I implemented this forked version of the core/Keyboard module, as I needed access to the keyboard in a similar way was the std provides. However as I'm making Trixel, a editor, I need to be able to use shortcuts without getting interfered with annoying browser shortcuts.
If you feel some others keys should be blocked as well, let me know. also if you feel like this is the wrong approach, let me know as well and I'll change my ways.
Socket.io llibrary: https://github.com/mgold/elm-socketio
Sockets are only available as tasks, and all actions on them involve signals. To demonstrate the API, a working chat application is provided.
There have been multiple requests for websocket bindings recently.
This is just a simple expression library. I use a javascript library called jsep for parsing. Here's a link to my library https://github.com/imeckler/expression
https://github.com/uehaj/IntRange/tree/2.0.0
This is version up of IntRange.
The reason why I need Native is performance.
Old version are using Trampoline to avoid consume call stack, but Trampoline have quite overhead.
So I remove use of Trampoline and implement it in Native JS and simple for loops.
IntRange's benefit is only to avoid list overhead. Under such situation, overhead of Trampoline can't be permitted also.
Requesting approval for native code in package jonathanhefner/elm-range.
The package is inspired by the existing IntRange package, but uses native code rather than trampolines, to avoid overhead. Only one native iteration function (foldl
) is required; the others (foldr
, map
) are expressed efficiently in Elm in terms of foldl
.
All code is tested and documented. I tried to conform to the style of elm-core as much as possible.
As noted on the list, all libraries recommend searching for functions found in the core. Options:
|> or map
and omit the sentence from 3rd party libraries.I think 3. is way too much work at the moment for minimal payoff. I'd be happy to look at 1 or 2.
Now that the runtime's use of requestAnimationFrame
has been updated, I think this package can start being used by other people.
I'm also totally open to changing the names of the module (Monitor
), or either of the signals (Monitor.refresh
and Monitor.refreshWhen
) if you have any suggestions for better names.
It would be very useful if types in type signatures would be hyperlinked to their definition (as on hackage or the purescript packages page).
Here is the package I'm trying to publish.
This is related to issue 4 of elm-lang/core. I needed a function modFloat : Float -> Float -> Float
, hence the native module since the (%)
function in Basics
only works on Int
.
ElmFire is my proposal to provide the complete Firebase API as an Elm package.
Please let me know how to facilitate the review process.
Some comments about the JavaScript code:
There is a testing app, living in the directory test, that covers most of the code.
I itend to add a submodule to automatically keep dicts and lists in sync with a Firebase location, but most probably this will be Elm code only without new native code.
On elm-discuss @thSoft and @vilterp were so kind to offer help in reviewing the code.
Thanks in advance!
I tried to download and fork the codebase so I could work on #50
When I tried to do a cabal install (locally and in a docker image) after a cabal update I get
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: elm-public-library-0.1 (user goal)
trying: vector-0.11.0.0 (dependency of elm-public-library-0.1)
trying: snap-server-0.9.5.1 (dependency of elm-public-library-0.1)
trying: attoparsec-0.13.0.1 (dependency of snap-server-0.9.5.1)
next goal: snap-core (dependency of elm-public-library-0.1)
rejecting: snap-core-0.9.7.2, 0.9.7.0 (conflict: vector==0.11.0.0, snap-core
=> vector>=0.6 && <0.11)
rejecting: snap-core-0.9.6.4, 0.9.6.3 (conflict: attoparsec==0.13.0.1,
snap-core => attoparsec>=0.10 && <0.13)
rejecting: snap-core-0.9.6.2, 0.9.6.1, 0.9.6.0 (conflict:
attoparsec==0.13.0.1, snap-core => attoparsec>=0.10 && <0.12)
rejecting: snap-core-0.9.5.0, 0.9.4.1, 0.9.4.0, 0.9.3.1, 0.9.3 (conflict:
attoparsec==0.13.0.1, snap-core => attoparsec>=0.10 && <0.11)
rejecting: snap-core-0.9.2.2, 0.9.2.1, 0.9.2, 0.9.0, 0.8.1, 0.8.0.1, 0.8.0,
0.7.0.1, 0.7, 0.6.0.1, 0.6.0, 0.5.5, 0.5.4, 0.5.3.1, 0.5.3, 0.5.2, 0.5.1.4,
0.5.1.3, 0.5.1.2, 0.5.1.1, 0.5.1, 0.5.0, 0.4.3, 0.4.2, 0.4.1, 0.4.0.2,
0.4.0.1, 0.4.0, 0.3.1.1, 0.3.1, 0.3.0, 0.2.16, 0.2.15.1, 0.2.15, 0.2.14,
0.2.13, 0.2.12, 0.2.11, 0.2.10, 0.2.9, 0.2.8.1, 0.2.8, 0.2.7.1, 0.2.7, 0.2.6,
0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1, 0.1.2, 0.1.1 (conflict: snap-server =>
snap-core>=0.9.3 && <0.10)
Backjump limit reached (change with --max-backjumps).
cabal: Could not resolve dependencies:
trying: elm-public-library-0.1 (user goal)
trying: vector-0.11.0.0 (dependency of elm-public-library-0.1)
trying: http-client-0.4.16 (dependency of elm-public-library-0.1)
next goal: elm-package (dependency of elm-public-library-0.1)
rejecting: elm-package-0.5, 0.4, 0.2.2, 0.2.1 (conflict: vector==0.11.0.0,
elm-package => vector>=0.10 && <0.11)
rejecting: elm-package-0.2 (conflict: http-client==0.4.16, elm-package =>
http-client>=0.3 && <0.4)
Backjump limit reached (change with --max-backjumps).
Should an audit be done to only use stack
approved library versions together?
It would be nice if the "browse source" link went to the specific .elm file for the module one is viewing, rather than the repo homepage. For the main page of the package, going to the repo homepage is fine.
https://github.com/pchiusano/elm-execute
Here is one motivating use case:
https://groups.google.com/forum/#!topic/elm-discuss/hMQTNHVoMeE
I understand the new Promises stuff may address cases like this, but I am currently blocked on this issue and can't afford to wait for that to land.
I'd like to be able to add my elm-loop library to the list of packages. I've seen a lot of complaints about the lack of loops and tail call optimization in Elm. Initially, I made a wrapper on top of trampolines, but then people started worrying about the performance overhead of trampolines, so I made this. It's just a wrapper on top of for-loops and while-loops where the input is cloned into a temporary variable and then that temporary variable is updated by a given function until some given condition is met.
The simple examples to use it are as follows :
-- Iterate 10 times given initial value of 0 and
-- increment that initial value by 1 each time
-- This is equivalent to saying add 1 ten times to 0
counter1 = iterate 10 0 ((+) 1) -- 10
-- This says, loop while the counter is less than or equal to 10
-- given an initial counter value of 0
-- and we update the counter each time by incrementing it
counter2 =
loopWhile (\{counter} -> counter <= 10)
{counter = 0}
(\{counter} -> {counter = counter + 1}
-- {counter = 10}
-- If you don't want to get the whole record and want to
-- filter out the result of the counter, you can use
counter3 =
loopWhileWithResult (\{counter} -> counter <= 10)
{counter = 0}
(\{counter} -> {counter = counter + 1})
.counter
-- 10
The initial state is clone, so no worries about immutability. If you notice any bugs or anything weird, please tell me on the issue tracker for elm-loop.
But, yeah, since this wraps for-loops and while-loops, I need to make it a Native Library.
Try the following:
5.0.0
Since the Signal.Fun
module did not yet exist in version 5.0.0
of that package, we are greated by a 404
error page. It would be nicer to handle this case more gracefully.
Right now the only way to link to a documentation page is with a link that has a specific version, i.e., http://library.elm-lang.org/packages/deadfoxygrandpa/Elm-Test/1.0.3 . It would be nice for library writers if http://library.elm-lang.org/packages/deadfoxygrandpa/Elm-Test/ or http://library.elm-lang.org/packages/deadfoxygrandpa/Elm-Test/latest would redirect to the latest version of the package. I want to link the documentation in the README for the repo and I'm worried about forgetting to update the link.
https://github.com/avh4/jsdiff
Ideally, the diff algorithm could be ported to pure Elm, but for now I've wrapped a javascript library. See https://github.com/avh4/jsdiff/blob/master/src/JsDiffTest.elm for an example.
From @piotrcyr on May 18, 2014 1:18
FileReader
module, in short, makes it possible to read in a file passed by user.
The module introduces:
File
s and Blob
sElement
with a capability to open file selection dialog on clickFileReader
If you have any questions about implementation details you can ask them here or mail the creator directly
Copied from original issue: elm-lang/elm-package#32
The server responds with Content-Type:text/plain
which means that browsers will show text, not html. Tested in the latest chromium and firefox. The homepage http://package.elm-lang.org/ is ok, it has Content-Type:text/html
.
All other pages fail, like for example:
http://package.elm-lang.org/packages
http://package.elm-lang.org/packages/elm-lang/core/2.1.0/
response headers:
Connection:Keep-Alive
Content-Length:1877
Content-Type:text/plain
Date:Sat, 01 Aug 2015 11:00:48 GMT
FFI-Control:Data
FFI-Mode:Content
Keep-Alive:timeout=3, max=100
Server:Snap/0.9.5.1
Like the old site http://library.elm-lang.org/catalog automatically had on the landing page of each package: "The source code is on GitHub [link], so ..."
The summary would contain the names and type signatures of the functions and types that are documented.
This would make it easier to find a function that you know exists but you don't know the name of. Also, often you just need to see a function's type without needing to see the full docs.
For example, I knew List
had the function intersperse
but I couldn't remember the name. To find it I had to scan most of the page.
(Moved from elm/elm-lang.org#345)
... by adding something like hljs.registerLanguage("elm",function(e){...})
to https://github.com/elm-lang/package.elm-lang.org/blob/master/assets/highlight/highlight.pack.js. As a first approximative hack (if an Elm version of that functionality is not yet available), could simply copy the existing hljs.registerLanguage("haskell",function(e){...})
part and replace "haskell"
by "elm"
in there. (Best to keep the part with "haskell"
intact, instead of replacing it, since there are Elm packages out there whose README.md
contains code blocks marked with haskell
.)
Going to a module never loads on Internet Explorer for example:
The documentation for the module in my multiset library is not appearing on the website. Couldn't find anything wrong with the repo. See mgold/elm-multiset#1.
Any idea what's wrong?
See
recursively
handles it fine in a function type)I didn't notice this until the 0.15.1 deploy but it may be older.
A line along the following:
To install this package, execute the following in your project directory:
elm-make install elm-lang/core
Of course, language and terms should be clarified but it gets the point across. Thoughts?
... not to the top level of the github repo.
Requested, for example, here. I've also felt the same want.
Should be something happening in these lines: https://github.com/elm-lang/package.elm-lang.org/blob/a8f00fba39fd9d82ff6e27f820932859f481475a/frontend/Component/Header.elm#L36-L37
Continuing elm/elm-lang.org#299
Show some info about this users packages. Valuable content could include:
What exactly would be the super valuable thing to have here?
This is a nice thing. It's a bit like a more general version of https://github.com/uehaj/IntRange/tree/1.0.1. I could have implemented the native functions with Trampoline
but I didn't want to take the performance hit. Let me know if you'd like more explanation.
https://github.com/suzuki-shin/elm-chartjs/tree/1.0.0
This library is Elm binding for Chart.js.
I have written a module that wraps the Mousetrap library. I'm using this for 2 purposes:
I've kept the actual Native module as basic as possible, moving most of the code into a separate Mousetrap plugin. Thus the Native module just creates a signal, returns it and notifies it.
You can find the native module code under js/Native/Mousetrap.js
. There is build process that uses browserify to bundle it with the bower-installed module and my mousetrap-additions
plugin into src/Native/Mousetrap.js
. You can run the build with make native
. This is all documented in the project's README.
When I select a version number of a package, e.g. on http://package.elm-lang.org/packages/elm-lang/core/2.0.1/, nothing happens. I expect that action to take me to http://package.elm-lang.org/packages/elm-lang/core/version.I.selected/.
https://github.com/GlenDC/elm-mouse-extra
This library provides access to all mouse actions available in the browser.
I made a short time-extra library that just has a task that gets the current time.
The repo is here: https://github.com/TheSeamau5/elm-time-extra
It defines this task:
now : Task error Time
I made it because I need the function for another library
https://github.com/koyachi/elm-sha/tree/1.0.1
sha.js wrapper for Elm.
I'm planning to use elm-sha for digesting ip address in elm-identicon.
i.e. http://package.elm-lang.org/packages/<author>/<package>/latest
redirects to http://package.elm-lang.org/packages/<author>/<package>/2.2.1
Would be useful for linking to a package from a blog post or Github page, when you want readers to see the latest, not direct them to a specific version.
Version 8.7 of that dependency has been released. It now includes correct Elm highlighting (per this pull request). So it would be good to replace that asset here by a new version. (Currently, Haskell highlighting is used for Elm code, which is imperfect, since not all the keywords agree between the two languages. Using version 8.7 would fix that.)
https://github.com/brandonrayhaun/FormatNumber
This library simply wraps some Javascript methods for formatting numbers.
In the assertT
funciton here: http://package.elm-lang.org/packages/deadfoxygrandpa/Elm-Test/1.0.2/ElmTest-Assertion#assertT its _Tuple0
but in runDisplay
here: http://package.elm-lang.org/packages/deadfoxygrandpa/Elm-Test/1.0.2/ElmTest-Runner-Console#runDisplay its correctly displaying ()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.