News for hackers. Stuff that matters.

taylorfausak

Re:Software projects written in Haskell on Tuesday October 22, 2019 @11:36AM (#21324854)
To give you a single data point, our Haskell code base at ITProTV is about 50,000 lines of code. Reloading the project after a change in GHCi takes slightly less than one second. We haven't spent any significant effort on speeding up compile speeds, for what it's worth. It's fast enough.
Re:Rasa: Extremely modular text editor built in Haskell on Friday January 13, 2017 @04:42PM (#13394953)
> Rasa is putting extensions first from the very beginning, I've read that Yi has plans to extract their renderers into extensions but hasn't been able to easily extract them at this point. In rasa, EVERYTHING is an extension (for better or worse I suppose we'll see).

https://www.reddit.com/r/haskell/comments/5l0a2i/rasa_modula...

Re:Rasa: Extremely modular text editor built in Haskell on Friday January 13, 2017 @04:41PM (#13394948)
> I named it after the concept of 'tabula rasa' which means roughly 'blank slate' which I thought was fitting for an editor

https://www.reddit.com/r/haskell/comments/5l0a2i/rasa_modula...

Re:RFC 7764 – Guidance on Markdown on Wednesday December 14, 2016 @02:23PM (#13178874)
From John MacFarlane, the author of the CommonMark spec:

> If anyone wants to contribute a BNF, please do! But I'm very skeptical that it can be done, due to the many quirks of the syntax.

https://github.com/jgm/CommonMark/issues/113#issuecomment-60...

Re:Remote work: 6 months later on Monday November 21, 2016 @11:14AM (#13006493)
I think it's a little misleading to call that "a while". The post says "156 private repositories" were affected during a "ten-minute window" representing "0.0013% of the total operations at the time".
Re:Debugging with Elm 0.18 on Monday November 14, 2016 @02:34PM (#12952548)
It sounds like you might like PureScript [1] or GHCJS [2] more than Elm. Have you tried either of those?

[1]: http://www.purescript.org/ [2]: https://github.com/ghcjs/ghcjs

Re:Debugging with Elm 0.18 on Monday November 14, 2016 @12:37PM (#12951569)
The migration guide [1] suggests that instead of primes you can use underscores. And instead of backticks you can use pipelining.

[1]: https://github.com/elm-lang/elm-platform/blob/11c8ecb81a58b8...

Re:Pitfalls in Haskell on Monday August 22, 2016 @12:15PM (#12337341)
I tried this out in PureScript [1]. I also made each type class have only one member and didn't specify any class hierarchy. I like how it works, but I don't know if anyone else does. It allows you to recreate the category theory type classes [2] if you want to:

    class (HasMap f) <= Functor f
    class (Functor f, HasApply f) <= Apply f
    class (Apply f, HasPure f) <= Applicative f
    class (Apply m, HasChain m) <= Bind m
    class (Applicative m, Bind m) <= Monad m
[1]: https://github.com/tfausak/purescript-neon/blob/v0.5.4/src/N... [2]: https://pursuit.purescript.org/packages/purescript-prelude/1...
Re:Pitfalls in Haskell on Monday August 22, 2016 @11:56AM (#12337203)
That's correct.

    {-# LANGUAGE DuplicateRecordFields #-}
    data A = B { x :: Bool }
           | C { x :: Int }

    Example.hs:2:1: error:
      • Constructors B and C give different types for field ‘x’
      • In the data type declaration for ‘A’
Re:The Four Flaws of Haskell on Monday August 15, 2016 @10:46AM (#12290764)
My impression is that PureScript aims to not be configurable. For example, the compiler does not allow you to disable warnings. Other tools, like `psa`, can do that, but the base language is always the same.

Specifically related to language extensions, there is this wiki page: https://github.com/purescript/purescript/wiki/Differences-fr...

> The PureScript compiler does not support GHC-like language extensions.

Re:The Four Flaws of Haskell on Monday August 15, 2016 @10:44AM (#12290747)
Sorry, I meant that you pretty much always want RankNTypes instead of Rank2Types. My fault for not specifying.
Re:The Four Flaws of Haskell on Monday August 15, 2016 @10:10AM (#12290519)
Thanks for that link! I haven't seen that wiki page before. Even so, only 4 extensions have been removed. I know others are de facto deprecated, like Rank2Types.

I picked scoped type variables as an example because it's been in GHC since version 6.4. That was released in March 2005, so it had plenty of time to make it into the Haskell2010 language standard.

Re:The Four Flaws of Haskell on Monday August 15, 2016 @09:29AM (#12290264)
Very few extensions have been deprecated: http://hackage.haskell.org/package/Cabal-1.24.0.0/docs/src/L...

Convenient, widely-used extensions that have been around for a long time aren't yet part of the language standard: https://prime.haskell.org/ticket/67

Re:The Four Flaws of Haskell on Monday August 15, 2016 @08:36AM (#12289996)
This post explores the differences in those two styles: http://www.yesodweb.com/blog/2015/10/beginner-friendly-code-...

> It seems like my progression as a Haskeller results in forcing myself to write in a harder-to-parse style to make my code shorter, to satisfy some base need for "better" code, even though by most measurements I just made, the longer/explicit/pattern matching code is in fact better.

Re:The Four Flaws of Haskell on Monday August 15, 2016 @08:28AM (#12289960)
This is another flaw that PureScript fixes: No language pragmas.
Re:The Four Flaws of Haskell on Monday August 15, 2016 @08:22AM (#12289943)
Nix (and NixOS) are certainly nice to use with Haskell, but Stack is good. The post even says so:

> Stackage solved the consistent set of packages, and Stack made it even easier. I now consider Haskell package management a strength for large projects, not a risk.

Re:The Four Flaws of Haskell on Monday August 15, 2016 @08:20AM (#12289938)
You can also build IO on top of the effect system https://github.com/slamdata/purescript-io :)
Re:Haskell ArgumentDo Proposal on Tuesday July 05, 2016 @12:15PM (#12037472)
That doesn't compile to Haskell.
Re:Understanding the Elm type system on Tuesday June 07, 2016 @10:52AM (#11854883)
Yes, all functions in Elm also have arity 1. That example desugars into this:

    connectWords = \ firstWord -> \ secondWord -> firstWord ++ secondWord

Older »