hoogle
ghc-proposals
Our great sponsors
hoogle | ghc-proposals | |
---|---|---|
60 | 159 | |
714 | 667 | |
- | 0.3% | |
6.3 | 9.1 | |
about 2 months ago | 6 days ago | |
Haskell | Python | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hoogle
- The Hunt for the Missing Data Type
-
What Is Dimensional Analysis?
Dimensions behave somewhat like a "type system" for math. These dimensional-analysis tricks act like the trick you see in Haskell sometimes, where you can easily guess an implementation of an expression once you know it's type (or e.g. search by type signature https://hoogle.haskell.org/ )
-
Java 20 Is Out
Ideally like this: https://zio.dev/reference/#concurrency
-
Haskell IDE setup
{ "customLocalFormatters.formatters": [ { "command": "make format", "languages": ["haskell"] } ], "emeraldwalk.runonsave": { "commands": [ { "match": "*.hs", "isAsync": true, "cmd": "make retag retag_file=${file}" } ] }, "ghcid.command": "make ghcid", "goto-documentation.customDocs": { "hs": "https://hoogle.haskell.org/?hoogle=${query}" } }
-
Idris: A Language for Type-Driven Development
You had a look at Hoogle?
For some type signatures there is (are) only one (or only a few) meaningful implementation(s).
-
Haskell is the one of the most hardest code
I'm in the middle on operators. I like being able to define my own, but I understand how it's challenging to figure out what the hieroglyphics mean when you're not familiar with them. https://hoogle.haskell.org/ can be a help here
-
What’s so great about functional programming anyway?
> In something like Haskell I need to know upfront what I may do with some "object". The IDE can't help me discover the methods I need. All it can do is to show me all available functions in scope.
Sorry, but this just isn't true. Hoogle <https://hoogle.haskell.org/> searches function by type, fuzzily: ask for functions whose first parameter is the type of the object-like thing, and you'll get just what you're looking for. And it's perfectly possible to run hoogle locally and integrate it with your editor.
Now, the tooling for a language like Java have had several centuries more of aggregate development work done on them compared to Haskell's tools, and if that polish is a difference-maker for you, that's fine! But it's not a fundamental limitation, and claiming it is is just fud.
-
Type-Signature.com
In my perusals into the Haskell ecosystem, discovering Hoogle[1] was definitely a revelation on the power of a strongly-typed language. Sometimes, you know the _shape_ of the thing you are looking for, but not the name. The ability to search a repository of packages for all functions conforming to a certain type signature (e.g., (a -> Bool) -> [a] -> [a]) is a superpower.
which is quite a bit more readable. You can even search Hoogle for x -> HashMap x y -> y and find it, try it!
https://hoogle.haskell.org/?hoogle=x%20-%3E%20HashMap%20x%20...
-
What Operators Do You WISH Programming Languages Had? [Discussion]
Haskell has hoogle, which searches Hackage for functions matching names, type signatures, etc.
ghc-proposals
-
An alternative front end for Haskell?
> I think Haskell needs a way to graduate (or retire) language extensions
-
Or patterns proposal: Prefix signalling or just infix?
Additionally, while this proposal is focused on the simple implementation and so in the current proposal or patterns do not bind any variables as per #522, if we do get settled on syntax and then later wish to expand to allow binding variables as in #43, then the syntax is again clean and discoverable.
-
Amendmend proposal: Changed syntax for Or patterns
as syntax is contentious a topic as ever, David (the main proposal author) and I would like to invite you to give your input on https://github.com/ghc-proposals/ghc-proposals/pull/585, where we propose to change the syntax of the accepted proposal #522 introducing Or patterns. In particular, we'd like to know
-
{-# WARNING #-} for Data.List.{head,tail} in future GHC 9.8
It's coming: https://github.com/ghc-proposals/ghc-proposals/pull/541
Right. Being able to disable "custom type warnings" at use sites was part of an earlier proposal (https://github.com/ghc-proposals/ghc-proposals/pull/454) but it ended up being shelved.
- Foldr type level implementation
-
High-Performance Haskell?
The lack of concatMap fusion is a notorious issue in stream fusion. I recently implemented Higher Order Patterns in Rewrite Rules which should make it possible to write a rewrite rule for fusing concatMap in GHC 9.8.
-
The Haskell Playground supports GHC 9.6 alpha 2! You can now preview features like the error codes and the TypeData extension!
The initial proposal was data kind, but in the discussion some people didn't like the word "kind".
-
How does your programming language implement multi-line strings?
I learned about this when proposing multiline strings in Haskell. The convo there might be of interest to you: https://github.com/ghc-proposals/ghc-proposals/pull/569
What are some alternatives?
castle - A tool to manage shared cabal-install sandboxes.
haskell-language-server - Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
ghci-ng
hakyll - A static website compiler library in Haskell
ihaskell - A Haskell kernel for the Jupyter project.
Exercism - Scala Exercises - Crowd-sourced code mentorship. Practice having thoughtful conversations about code.
merlin - Context sensitive completion for OCaml in Vim and Emacs
elm-make
ihp - 🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness
hfd - Flash debugger with haskeline interface
stgi - A user-centric visual STG implementation to help understand GHC/Haskell's execution model.
fay - A proper subset of Haskell that compiles to JavaScript