recentpopularlog in

mcherm : haskell   49

Comparing the Same Project in Rust, Haskell, C++, Python, Scala and OCaml - Tristan Hume
A *really* good case study: for a course, several competent teams wrote the same program is various languages. Afterward, the code size was compared. Slight advantage to Python and Scala, but mostly it depended on the design decisions, not the language.
programming  programminglanguages  rust  scala  python  haskell  C++  ocaml  via:HackerNews 
june 2019 by mcherm
Thinking in Types
An example of what to do in Haskell since it doesn't support heterogeneous lists.
programming  haskell  types 
march 2015 by mcherm
From 60 Frames per Second to 500 in Haskell | Keera Studios
How they got a 700% speedup in a Haskell game with one use of unsafePerformIO, a few "bangs", and 15 lines of code.
optimization  haskell  performance  profiling  via:HackerNews 
october 2014 by mcherm
An inspiring Haskell story: the green screen of FP
They got Haskell working (with a graphics library) on Android.
android  haskell  via:HackerNews 
august 2014 by mcherm
Tech Notes: Why not Haskell?
An experienced user of Haskell says he doesn't use it anymore. If you can get your Haskell code to run it's probably correct (amazing!) but if what you want is just "a program that gets the job done" it's probably not the tool you want.
via:reddit  haskell  languagedesign  programming 
october 2011 by mcherm
The problem with STM: your languages still suck
Software Transactional Memory (STM) doesn't play well with anything imperative or mutable. It's a natural for Haskell but every other programming language is in trouble. And it might be the only way to sanely use ever-increasing numbers of cores.
programming  functional  concurrency  haskell  stm  via:reddit  BrianHurt  threading  concurrentprogramming  parallelprogramming  softwaretransactionalmemory 
august 2011 by mcherm
Cost-free abstractions: David R. MacIver
In Haskell, he created a library allowing sorts to work on several different comparison functions instead of just working on less-than. But 100% of the overhead occurred at compile-time; none at run-time.
languages  languagedesign  haskell  types  via:DavidMacIver 
may 2011 by mcherm
Haskell’s Niche: Hard Problems « Sententia cdsmithus
Haskell's niche is solving very hard problems where you don't at first know how to go about it. This is because it's good a building DSLs, and because it's type system provides support when doing truly drastic refactoring.
languagedesign  haskell  programming  via:HackerNews 
march 2011 by mcherm
One Div Zero: Phantom Types In Haskell and Scala
Very clever typechecking trick. Create types that are private to your module, but which cause the typechecker to verify that certain things are done to initialize an object before it is used. I wonder if the same is possible in Java? (Probably not.)
haskell  scala  types  programming  via:JamesIry  JamesIry 
october 2010 by mcherm
more indirection: The Brilliance of Maybe and the Value of Static Type Checking
My comment on why Haskell's Maybe monad is only SLIGHTLY better than Java rather than hugely better.
mypostings  blogworthy  haskell  programming 
july 2010 by mcherm
Haskell - too hard?
"Do I really want to be using a language where memoize is a PhD-level topic?"
haskell  languagedesign  languages 
july 2010 by mcherm
Reflections on leaving Haskell | Alson Kemp
Some complaints about Haskell that caused this author to quit using it.
via:HackerNews  haskell  languagedesign  functional 
march 2010 by mcherm
Python vs Haskell : An unsatisfying exercise in comparative code linguistics
The author compares his experience learning Python and then later moving to Haskell. He'd like to tell us which language is really better, but ultimately has to tell us instead that both are good in different areas and each is worse in different areas.
haskell  python  programming  languagedesign 
january 2010 by mcherm
Prettt-tty, pretty, pretty good!: Optional laziness doesn't quite cut it
If a function want's a parameter passed lazily, it's caller needs to obtain it lazily for that to actually work, otherwise the caller will evaluate it. In Haskell everything is lazy by default, but in Scala, you have to mark things lazy and that means you have to propogate the laziness up the call chain -- perhaps even altering interfaces. This, claims the author, is a fundamental failure.
laziness  haskell  scala  programming  via:TheLeftFold 
december 2009 by mcherm
Catching a Mathematical Error Using Haskell’s Type System « Sententia cdsmithus
The rather important math proof had an error that went undetected for 25 years until someone tried building a program for messing with the stuff, at which point it caught it. I think the most interesting lesson to be drawn is one about the definition of proof.
math  proof  haskell  philosophy 
november 2009 by mcherm
Philosophizing about Programming; or "Why I'm learning to love functional programming" : Good Math, Bad Math
Mark Chu-Carroll writes how he left Haskell for practical reasons but is now interested again because his recent work would have benefited from the ability to reason logically about computer programs -- something which he used to imagine real programmers never did, but he uses it for intermittent bugs and bugs that show only on large size runs.
programming  computerscience  functional  haskell  markcc  debugging 
november 2009 by mcherm
teideal glic deisbhéalach » Blog Archive » Announcing a major revision of the Haskell text library
Wow... impressive development! He made Haskell's text libraries 10x as fast and with better API.
via:HackerNews  haskell  programming  personal_net 
october 2009 by mcherm
How laziness changes thinking in Haskell - Lost in Technopolis
Some interesting examples of how it's difficult to debug in Haskell because of the laziness.
haskell  functional  laziness  programming  via:DebasishGhosh 
april 2009 by mcherm
The problem with STM: your languages still suck » Enfranchised Mind
Software Transactional Memory works GREAT in Haskell, but it's just never going to work in Java, C, and such because they are too full of side effects -- it's just not a good match for the behavior of STM. STM is the best of possible solutions to concurrent programming (I don't think I agree with that!), so programming languages will have to change.
concu  concurrency  concurrentprogramming  languagedesign  haskell  functional  stm  softwaretransactionalmemory  progra  programming  parallelprogramming  BrianHurt 
january 2009 by mcherm
8 ways to report errors in Haskell
There are LOTS of different ways to handle exceptions (errors) in Haskell -- none is standardized. And the result is a horrible mishmash. Lesson: when building any language, build in exceptions from the start -- they're a really nice model.
haskell  languagedesign  programming  exceptions 
october 2008 by mcherm
You Could Have Invented Monads! (And Maybe You Already Have.): A Neighborhood of Infinity
Another monad tutorial. This one poses a series of straightforward problems, asking you to code a solution to each. Then it steps back and points out the similarity between the solutions... which is that they are all monads. Concepts, not syntax.
monad  tutorial  programming  haskell 
july 2008 by mcherm
scalacheck - Google Code
This is a framework (in Scala) for automatically generating unit tests to ensure that code meets certain defined properties. So if you can make algebraic statements about your code's behavior this can test those extensively.
library  testing  programming  scala  haskell  unittest 
april 2008 by mcherm
Land of Lisp: Functional Programming is Beautiful
If you know something about haskell and perhaps lisp then this comic is really VERY funny.
comics  lisp  haskell  funny  programming 
april 2008 by mcherm
Karsten Wagner's Blog: Understanding Monads. For real.
Another monad tutorial. This one claims that monads are really a form of macro (code transformation).
tutorial  monad  programming  haskell 
march 2008 by mcherm
Why functional programming? « Sliding up the banister
An excellent explanation (commentary on someone else's post) about why "pure" functional languages are so powerful. Explains the other post in which someone makes *algebraic* transformations to a program so it's faster.
programming  blogentry  functional  haskell  languages 
march 2008 by mcherm
[Haskell-cafe] there's a monster in my Haskell!
Yes, it's an attempt to explain monads using JOKES! (Well, one joke.)
tutorial  monad  haskell  funny 
march 2008 by mcherm
Real World Haskell
A book on Haskell. I started reading it and provided some feedback... perhaps I should read more!
programming  books  onlinebooks  haskell  mypostings  todo 
january 2008 by mcherm
Stretching the Storage Manager: Weak Pointers. and Stable Names in Haskell
Research paper by Simon Peyton Jones et al. where they show how to build memoization in Haskell. To do so they invent a better version of weak pointers which are particularly interesting. I also found a version available online via Google Book Search.
articles/programming  garbagecollection  programming  haskell 
january 2008 by mcherm
Brandon Werner » Blog Archive » The Rise Of Functional Programming: F#/Scala/Haskell and the failing of Lisp
Interesting article on how functional programming may be on the rise again, and why that's probably good.
scala  programming  lisp  haskell  functional  F# 
january 2008 by mcherm
The Universe of Discourse : Note on point-free programming style
Point-free style is nicer to read sometimes and less nice other times. Also a mix may be better.
haskell  programming  functional 
january 2008 by mcherm
Simon Peyton-Jones Haskell Video | Lambda the Ultimate
An introduction to Haskell (for serious programmers) which goes VERY fast but also quite far and is, in my opinion, an excellent piece.
haskell  programming  tutorial  functional 
december 2007 by mcherm
Overloading Semicolon, or, monads from 10,000 Feet at Oliver Steele
Interesting perspective on Monads. Worth reading just for the alternate viewpoint.
monad  programming  haskell  functional  math 
december 2007 by mcherm
Bowling in Haskell: A response to Ron Jeffries
A useful program implemented in Haskell, with walkthrough showing us exactly how it is invented.
functional  programming  tutorial  blogentry  haskell 
april 2007 by mcherm
Purely Functional Data Structures (Okasaki thesis)
Data structures in functional languages. There's also a book by the same author.
haskell  algorithms  articles/programming  programming  functional  datastructures  ml 
february 2007 by mcherm
H-99: Ninety-Nine Haskell Problems - HaskellWiki
Some simple sample problems in Haskell. (Similar lists exist for Prolog and Lisp using the same problems.)
haskell  tutorial  programming 
january 2007 by mcherm
“No Silver Bullet” and Functional Programming
Blog entry claiming that functional programming IS a "silver bullet" (order of magnitude improvement in programming efficiency).
functional  haskell  erlang  programming  blogentry  languagedesign 
december 2006 by mcherm
Composable Memory Transactions
Article from Microsoft research in which they propose transaction memory instead of locks. They implement it in Haskell, and manage to make transactions composable.
articles/programming  threading  memory  haskell 
september 2005 by mcherm
Awkward things in Haskell
A paper describing what's difficult in Haskell (expecially monads).
languages/haskell  haskell  monad 
april 2005 by mcherm
All About Monads
An introduction to Monads in Haskell.
languages/haskell  haskell 
march 2005 by mcherm

Copy this bookmark:

to read