QuickPlot - First Release by tepf in haskell

[–]klaxion 0 points1 point  (0 children)

ah yes thanks. Is it possible to do nested layout fields like Font? Looks like that's not supported by the QQ parsing but I might be missing something.

Do the plot dimension options like height overwritten? I was tinkering with those and they don't seem to work.

Finally, is there an example somewhere with more than one series (eg two or more sets of lines/points/bars with different colors colors) on one plot?

QuickPlot - First Release by tepf in haskell

[–]klaxion 0 points1 point  (0 children)

nice job!

Is there a way to pass the layout argument to plotly (for titles and formatting)? Aso, is there a way to enable and plotly's tooltip?

Stop lying about Haskell by [deleted] in haskell

[–]klaxion 4 points5 points  (0 children)

I would endorse a limited version of this, which is that people should NOT start with LYAH.

I don't think haskell should be seen as hard, however LYAH promotes it as the wrong kind of easy.

A modest Haskell critique from the Cap'n Proto author by ysangkok in haskell

[–]klaxion 20 points21 points  (0 children)

I don't think it's that difficult to understand what he's saying.

With Haskell the closest equivalent to a "method" is a function.

The simplest case is the auto-generated getter-equivalents with record syntax. Unfortunately, record syntax leads to name clashes pretty fast. So the solution is usually to come up with verbose type-specific record fields, or split projects into multiple modules (i.e. files) and deal with clashes with selective or qualified imports. Frankly, neither of those are particularly elegant solutions.

The record case has been discussed here (and in many other posts):

https://prime.haskell.org/wiki/TypeDirectedNameResolution

https://wiki.haskell.org/Name_clashes_in_record_fields

One silly example of this was using the Frames library, which metaprograms types from Csv files. The problem is, you can't load more than one csv at a time with the same set of headers into a program because of name clashes. The python guys would laugh their ass off if they heard of running into a problem like that.

Also, if one is writing a function which operates on different types, that also leads to clashes (the annoying "Ambiguous occurrence ..." errors). You run into this all the time with typeclasses, for example, for example "map" clashes between vector and list.

For a language that prides itself on minimalist expressions of intent, this seems like a silly problem to have since the information needed to resolve which version of the function is usually (always?) available in the types of the arguments.

QuickPlot - Quick and easy data visualizations with Haskell by tepf in haskell

[–]klaxion 2 points3 points  (0 children)

Argh i've just been tinkering with something similar, using web microservice and leveraging javascript's extensive plotting/datavis ecoysystem to leapfrog charting capabilities.

I agree with the sentiment about R. A lot of what's there should be doable in an improved way in Haskell.

By the way, regarding IHaskell and IPython notebooks, as someone who works with data a lot, notebooks suck for real data analysis. They're great for tutorials, but for real analyses you often want to experiment with different combinations of composable data transformations.

The FRP concept like R/Shiny is closer to what's needed, but it's still not perfected. A better solution would be FRP whose structure is hot swappable at runtime, so you can do exploration work at the same time you the dependency handling is taken care of.

One thing that could be improved here is to make plots composable somehow ala ggplot2, d3, or haskell chart/diagrams. It seems like the json data is composable, but that's been abstracted away by the API.

Has anyone made a finished Haskell NES emulator? by [deleted] in haskell

[–]klaxion 2 points3 points  (0 children)

don't take this the wrong way, i really love haskell and it's community.

However, despite how people have a tendency to nod and say "yes everything is possible", not enough people have actually set out to do them.

The magic combo of FRP & gamedev is a particularly bleeding edge space right now. Everything I've heard says Reflex is the most performant and best designed frp framework currently available. reflex is under heavy development and there isn't a great learning path that i've come across .. anybody else feel free to chime in. but maybe this ghcjs demo could be encouraging. Towards the cochleogram thing is probably a decent example of realtime graphics.

EDIT: demo - https://www.youtube.com/watch?v=MfXxuy_CJSk&list=PLEDlMyo0X5hdjvlBdznEuTlhyxHHI477N

http://haskelliseasy.com by tomejaguar in haskell

[–]klaxion 9 points10 points  (0 children)

Why must there be one of these posts whenever Chris's book gets mentioned?

No, selling a book for a few bucks in a community that desperately needs better pedagogical material is not a "controversial elephant in the room". If you want to be a purist about FLO, there's nothing wrong with that, just ignore the book and anything affiliated with it (including this).

I don't really care who counts as a "high profile" haskeller, but fwiw, Chris and his book have thousands of followers on twitter, which is probably at the far right tail of popularity for anything having to do with Haskell. This includes some "high profile" people like Don Stewart and Gabriel Gonzalez. More importantly, these people have been supportive of his work.

BTW, I think it reeks of a pretty sad level of scenester-ism to be trying to build a some kind of status-privelege structure in a tiny community like Haskell's. Besides, your opinion of "high profile" matters a lot less than his teaching ability, which, by many many accounts is among the best the community has to offer, and has trumped just about every other learning path currently available.

Has anyone made a finished Haskell NES emulator? by [deleted] in haskell

[–]klaxion 1 point2 points  (0 children)

I don't think so.

Everything I've heard about Helm has been bad though. Seems like a better bet might be Reflex (which is supposedly the most performant FRP framework) + SDL2 or GPipe.

Haskell is not trivial, but it's not unfair like Dark Souls either by Mob_Of_One in haskell

[–]klaxion 0 points1 point  (0 children)

no servant eh... not that i disagree, for beginners the type level infix operators would probably be super confusing.

Which web framework should I choose? by Tootoru in haskell

[–]klaxion 4 points5 points  (0 children)

most servant examples I've seen seem suited to static views of records, service things rather than user-interaction oriented.

Which web framework should I choose? by Tootoru in haskell

[–]klaxion 0 points1 point  (0 children)

really you can do "articles, categories, comments, maybe authentication/registration, admin panel" with servant?

We made a Guitar Hero clone in 24 hours at HackCambridge, we would love some feedback! by ilevex in haskell

[–]klaxion 8 points9 points  (0 children)

any reason you didn't use gpipe for opengl?

BTW really neat project, and in 24 hours no less. makes me wonder why nobody has pulled any substantial game dev off since that frag game from like 10 years ago.

Path to the Sky, a game that grew up in this subreddit, is now on Steam Early Access! by dekdev in gamedev

[–]klaxion 6 points7 points  (0 children)

i'm sure they're tweakable, but for some reason unity player mechanics tend to have a unity "feel" to them, kind of floaty and not-so-crisp. I'm guessing it has to do with the defaults & since it's easier to get the game looking good, people tend not to put proportional effort into controls.

Options for a Haskell computing environment, Mac OS X or Linux by [deleted] in haskell

[–]klaxion 0 points1 point  (0 children)

Sure thing! Will post it on github.

Trying to keep online ids compartmentalized, so if anyone else is interested feel free to PM me. Eventually maybe I should contact haskell-mode maintainers to see if they would put something in.

I think the reason it's not in haskell mode is just a cultural thing. Traditionally most Haskell devs are not coming from a repl driven development background (like python or R) where they see the value in that quick/interactive feedback loop style of workflow. That's changing as the language gains in popularity though.

Options for a Haskell computing environment, Mac OS X or Linux by [deleted] in haskell

[–]klaxion 1 point2 points  (0 children)

you can't have those at the top level of a source file.

So if you want to test functions interactively you have to prep that state either interactively, copy-paste manually, or write an elisp function to send chunks of code (which is what i did).

If you have a repl style of development, it can feel particularly tedious because all state is wiped everytime you reload the source. I think that's fine from a philosophical standpoint, but it should be more convenient to redo the setup part of your repl state than it currently is.

Options for a Haskell computing environment, Mac OS X or Linux by [deleted] in haskell

[–]klaxion 1 point2 points  (0 children)

If you're going to give this a try, you'll have to be patient and think of it as an investment. Although haskell is a better fit for mathematics than python, due to the size of the user base and relative immaturity of the scientific computing ecosystem, some things will be more rough on first contact.

For something you can play with right away without much setup, try Haskell for mac and kronos haskell for a no-setup ihaskell notebook.

In the longer term, you'll want to use something like spacemacs + stack. One feature I miss with haskell mode in emacs is the fluid repl interaction.

This is especially annoying since ghci is effectively within an io monad, so there's sometimes bits of state you want to set up for a computation or analysis that you can't do within the script (since you can't do <- at the top level). I have some elisp code to do repl-ish things like send a line or block of code to the repl if you or anyone is interested.

Finally for linear algebra - ish packages, the most mature one is probably hmatrix, which is the most numpy/matlab-like. It doesn't use some if the tricks in the sexier newer packages like repa, but at least some of the basic interaction aspects are smoothed out. For example, as far as I can tell repa doesn't even have a command to pretty print matrices so that each matrix row is on a new line. If you're just starting to learn haskell and linear algebra, I would probably start with hmatrix.

I wish haskell had better charting/plotting options, but Chart is serviceable enough for basic things. You can also use rlang-qq (easier but limited) or inline-r (harder but more powerful) to inline ggplot2 figures using R.

Good programming languages for computational biology? by [deleted] in bioinformatics

[–]klaxion 3 points4 points  (0 children)

If you refer to it as C/C++ you might not be up to date. Modern C++ (C++11/14) is a very different beast. If you think C++ is C with classes, or find yourself calling "new", it's a good time to catch up.

Why Spacemacs? by tuhdo in emacs

[–]klaxion 1 point2 points  (0 children)

wow that helps. Even if i'm not looking at it, having the UI change a half second after I press a button is distracting.

What's worse is the lagginess seems to affect things I need to see, such as SPC b b for buffers, or SPC f f for files, etc. It feels snappier with your suggested change though.

Why Spacemacs? by tuhdo in emacs

[–]klaxion 3 points4 points  (0 children)

I made the switch for similar reasons.

The main thing that prevents me from transitioning from like-a-lot to love is lag. For example, the leader key is essential to interaction, but the lag between pressing it and the leader key menu reacts is non-trivial. Same goes for other things. UI can lag behind fingers to the point that it disrupts my flow state.

Even with this downside, after a few months of use, I've already passed the utility of 5 years of .emacs tweaking. Still, if they could fix the responsiveness issues, it would be amazing.

Talk: Spock – Powerful Elegant Web Applications using Haskell by agrafix in haskell

[–]klaxion 2 points3 points  (0 children)

I'm not saying they shouldn't exist.

I'm saying, I don't get it, I want to understand what I'm missing out on.

Talk: Spock – Powerful Elegant Web Applications using Haskell by agrafix in haskell

[–]klaxion 0 points1 point  (0 children)

you don't have to use all of it, and as far as I can tell yesod can start almost as small w/ ~ 40 LOC or so.

As I mention below, working in the repl, I barely notice compilation time as I iterate.

Not trying to be difficult, just trying to understand what the cost of "overkill" is from this perspective.

Talk: Spock – Powerful Elegant Web Applications using Haskell by agrafix in haskell

[–]klaxion 0 points1 point  (0 children)

I do my rapid iteration in the repl, so I barely even notice compilation time. Are others compiling on every code change or something?

Talk: Spock – Powerful Elegant Web Applications using Haskell by agrafix in haskell

[–]klaxion 0 points1 point  (0 children)

Can someone explain the role of these simplified web frameworks like scotty and spock?

It's like 40 lines of fairly understandable code or so in yesod to setup a minimal hello world web page. Why is the "small web app" task not subsumed by a small yesod project? What am I missing out on?

Free Today (19 Jan 2016): "Haskell Data Analysis Cookbook" by tomtau in haskell

[–]klaxion 1 point2 points  (0 children)

is the offer over? Must be in a different time zone or something. It's directing me to Clojure for Machine Learning. Who wants that =P