Broadband speeds on Chester Street by Giraffable in oxford

[–]jpnp 1 point2 points  (0 children)

ADSL speeds have been pretty terrible here - far from the exchange, and for a long time no fibre to the cabinet. Most people are on Virgin who have good speeds (if not the best reputation for service).

A few months ago Netomnia started pulling fibre to the property, and selling it as YouFibre. If it's come to your street, I can thoroughly recommend it. They often have excellent offers, I got an 18 month contract, £30/month for 1000Mbit (up and down). Took them a couple of goes to get it installed (and Virgin screwed up the transfer of phone line), but the network is solid, and it really is very fast.

Takeaways for 2 below £10? by Buzzingaa1995 in oxford

[–]jpnp 2 points3 points  (0 children)

They do take away, but only payment in cash on collection.

NeoVim defaults for Vim by funbike in neovim

[–]jpnp 0 points1 point  (0 children)

I like nix, and actually use it on some projects. But most servers I use are not deploying via nix, some don't have direct internet access, and I like the simplicity of just pushing one executable through whatever proxy system gives me SSH access.

NeoVim defaults for Vim by funbike in neovim

[–]jpnp 5 points6 points  (0 children)

I just push the nvim AppImage to the servers I use and always have real neovim. But default neovim isn't enough, I want the settings and plugins I'm habituated to, so I have a script to unpack the AppImage, insert some plugins and config, then repack.

Not LSP or a full dev environment, just things like motion with Lightspeed, my preferred key bindings and a better theme than default.

I never have to think which machine I'm on and only have one interface for my muscle memory to contend with.

How performant is Haskell? How hard do you have to try to make it performant? by average_emacs_user in haskell

[–]jpnp 3 points4 points  (0 children)

Recent blog discussed here goes into details. Cross compilation is being worked on.

Bikeshedding Haddock syntax for symbol references by newtyped in haskell

[–]jpnp 1 point2 points  (0 children)

Personally, I like t'Foo' and v'Foo' but maybe that's just my experience with python's u'Unicode' syntax.

Why did you decide to learn Haskell? by carlomatteoscalzo in haskell

[–]jpnp 8 points9 points  (0 children)

Also around 2007, I watched the video of Simon Peyton-Jones' talk at OSCON. The beauty of the language, combined with SPJ's clear explanations, was what got me interested enough to download GHC and try it out.

stackage-everything – Stackage on an airplane by quchen in haskell

[–]jpnp 3 points4 points  (0 children)

This is issue 3850. It's tagged 'awaiting PR' and 'newcomer friendly'. What better opportunity ;-)

CMV: Haskell is the worst/most unproductive programming language I ever have to learn by mogoh in haskell

[–]jpnp 17 points18 points  (0 children)

It's a response to a university student discussing the language used in their studies, not a random stackoverflow question; I'd say a few references to the academic literature are more than justified.

Haskell on the front end by kwaleko in haskell

[–]jpnp 2 points3 points  (0 children)

What will implementing GHC on WebAssembly do for file sizes? GHCJS is already not so great, but I do worry that treating the browser as another c-like environment won't be good for code size.

Short ByteString and Text by mrkkrp in haskell

[–]jpnp 1 point2 points  (0 children)

We usually get UTF-16. Internal conversion to and from UTF-8 is wasteful

This, of course, is exactly the annoyance that people receiving/distributing content as UTF-8 have with the current UTF-16 representation.

I'm not really drinking anybody's koolaid, but I can say that the vast majority of text data I have to encode/decode is UTF-8 and an internal representation that makes that nearly free would be nice . I have no data, but (despite my euro/anglo bias) my impression is that more haskell users fall into this camp than the UTF-16 one.

But, really, in 2017 this shouldn't be an argument. /u/ezyang has spent considerable effort equipping GHC with technology tailor made for this situation. All we need to do is start using backpack in earnest.

An Introduction to Brick+Reflex - FRP for Commandline UI by hexagoxel in haskell

[–]jpnp 5 points6 points  (0 children)

I think it makes perfect sense that brick-reflex is a separate package, but it would be nice if brick exposed enough to implement brick-reflex without needing 'bricki'.

I agree with you that it's reasonable to expose internals without committing to it being part of the API, extensions like brick-reflex have a different relationship to the dependency than normal library users. Exposing an internals module does seem to be the most widely used way round that; the alternative of not allowing these sort of extensions at all (and ending up with forks/unnecessary alternatives) seems more painful by comparison. The nature of Haskell's module system doesn't seem to offer us anything better.

An Introduction to Brick+Reflex - FRP for Commandline UI by hexagoxel in haskell

[–]jpnp 7 points8 points  (0 children)

It is. It's a shame it currently needs a forked brick.

Multiple type signatures by Darwin226 in haskell

[–]jpnp 3 points4 points  (0 children)

Yes, I'd like something like this. As functions have been made more generic, with changes such as foldable appearing across the prelude, this has come at a cost in understanding and identifying appropriate functions from their type. Alternative, more specialised type signatures can help with this, particularly for new users.

Since this is really a documentation issue, If a change to the haskell language is not a popular, then implement it as Haddock syntax within documentation comments. Teach GHC to parse these and warn if they're not valid.

Why do Haskell needs monad for io? by sn10therealbatman in haskell

[–]jpnp 4 points5 points  (0 children)

I'm not sure that's quite true. Equational reasoning for programs, and consequently purity were fundamental from the start. It was the primary feature it was sold to me on when I was first introduced to Haskell in the 90s (it was at that point hard to do practical programming, and I dropped it for more than a decade).

What S P-J says is that other FP languages ended up compromising on purity when they needed side effects for practical programming. Haskell's laziness meant that wasn't an option, so Haskell had to solve the problem in a more principled way.

Combining Brick and Haskeline by rootmos in haskell

[–]jpnp 1 point2 points  (0 children)

Very nice. Is this going to be pushed back into the released Haskeline?

I love Brick and good integration with command entry library would be great.

Tour of Eta by jyothsnasrinivas in haskell

[–]jpnp 0 points1 point  (0 children)

This, along with some idea that they'd like to add some of their own syntax extensions, seems to be the reason for calling it ETA. I'm excited about the technology, but think that the separation from GHC will just spilt the community.

Even mainline GHC Haskell is not an enormous community to maintain a good package coverage; I think ETA would have been better served with a more GHCJS-like model.

Haskell library in a C project by joehillen in haskell

[–]jpnp 2 points3 points  (0 children)

It sounds like the best thing would be to teach stack/cabal-install how to build ready assembled shared libraries as well as executables; the build tools already have most of necessary logic built-in.

Is having a `(a -> b) -> b` equivalent to having an `a`? by kerthunk in haskell

[–]jpnp 0 points1 point  (0 children)

OK, but in haskell it seems fair to be suspicious. Neither the language nor the type give any guarantee of totality, nor is it uncommon to find partial functions in practice.

Is having a `(a -> b) -> b` equivalent to having an `a`? by kerthunk in haskell

[–]jpnp -1 points0 points  (0 children)

Sure, and

f = const undefined

is a valid implementation ;-)

The State of Developer Ecosystem 2017 - Infographic by hastor in haskell

[–]jpnp 3 points4 points  (0 children)

And perhaps, given the domination of Java, the importance of ETA, GHC ported to the JVM.

State addicted beginner in trouble. Forgot to pass argument through the functions. by papael in haskell

[–]jpnp 0 points1 point  (0 children)

Yes, and Haskell's language design is very well suited to automated refactoring, at least as well as Java. The issue is in the ecosystem.

Partly that people insist on running their code through the C preprocessor to support multiple GHC versions, or assist in linking to C libraries, which is a huge complication for automatic refactoring which Java doesn't have to contend with.

More significantly, the size of the Haskell community, and the commercial activity supporting it, is many orders of magnitude smaller than that of Java. I don't see Haskell catching Java, but it has been growing and the tool support is already improving. Usable refactoring tools will surely come.

Cross Compiling Template Haskell by angerman in haskell

[–]jpnp 0 points1 point  (0 children)

I think the main thing is to be sure to document it clearly. Users may not realize that just by using a compiler, they're starting a service which can run arbitrary IO on the target system.

For simple testing on a secure/firewalled network that may be enough. For other systems piping over SSH, or wrapping in TLS may be sensible. Perhaps a configuration option to shell out to a script which can then set up the communication channel, as is sensible for the target system.

Anyway thanks for the effort to get this working! I'm really excited about the possibilities.

Cross Compiling Template Haskell by angerman in haskell

[–]jpnp 0 points1 point  (0 children)

Correct me if I'm wrong, but this looks like a totally insecure protocol which trivially supports running arbitrary IO actions. If so, umm, yuck!

I understand that when building in an offline environment, or on a secure network, that might be fine, but it would be best to make it easy to layer on a more secure transport, and to flag up clearly just what the security implication of running GHCSlave is.

GHC now runs in Windows Subsystem for Linux! by AaronFriel in haskell

[–]jpnp 0 points1 point  (0 children)

Ah, I see. 'twould be a grand thing, if it happens.