marmolubio + haskell   1302

Pipes 2.0 vs pipes-core : haskell
The underlying issue is that statically safe finalization is inherently not a monad and requires a parametrized monad, but I want to be able to decompose the problem so that users can decide for themselves whether they want a monad or static guarantees. However, the decomposition still eludes me.
haskell 
yesterday by marmolubio
[Haskell-cafe] Re: An interesting monad: "Prompt"
> Wait, are you saying that if you apply ContT to any monad that has the
> "left recursion on >>= takes quadratic time" problem, and represent
> all primitive operations via lift (never using >>= within "lift"),
> that you will get a new monad that doesn't have that problem?
monads  cs  haskell 
yesterday by marmolubio
Pipes 2.0 vs pipes-core - Paolo Capriotti's blog
Since all the finalization primitives in Control.Exception are implemented on top of exception handling primitives like catch and mask, I initially believed that finalization would follow automatically from exception handling capabilities in pipes.

Unfortunately, there is a fundamental operational difference between IO and Pipe, which makes exception handling alone insufficient to guarantee finalization of resources.
haskell  iteratee 
yesterday by marmolubio
Haskell for all: Conduit bugs
I will discuss rewrite rules later in a post about optimizing pipes and frames, but one of my big motivations for strictly enforcing all the class laws as strong as possible is that it then permits rewrites so powerful that all the pipe code completely disappears, leaving behind the hand-written loop code (think: stream fusion on steroids).
haskell  iteratee 
3 days ago by marmolubio
ThirdPartyAddOns - protobuf - Links to third-party add-ons. - Protocol Buffers - Google's data interchange format - Google Project Hosting
These are RPC implementations that work with Protocol Buffers. Some of these actually work with Protocol Buffers service definitions (defined using the service keyword in .proto files) while others just use Protocol Buffers message objects.
haskell  rpc 
4 days ago by marmolubio
haskell - Computation Constructs (Monads, Arrows, etc.) - Stack Overflow
Categories (in the haskell sense) generalize functions (you can compose them but not apply them)
haskell  monads 
5 days ago by marmolubio
[Haskell-cafe] Un-memoization
Yes. I had faced essentially the same problem. It is indeed tricky to
prevent memoization: GHC is very good at it. The following article
explains the solution:

``Preventing memoization in (AI) search problems''
http://okmij.org/ftp/Haskell/index.html#memo-off
haskell 
6 days ago by marmolubio
Data.Conduit
The connect-and-resume operator. Does not close the Source, but instead returns it to be used again. This allows a Source to be used incrementally in a large program, without forcing the entire program to live in the Sink monad.
haskell  libraries  iteratee 
8 days ago by marmolubio
Monad Reification in Haskell and the Sunroof Javascript compiler « CSDL Blog
Reification is the observation of underlying structure. One reason for reification is to cross-compile a Haskell expression to execute on a different platform. This has been done many times, and a great reference for this is Conal Elliott, Sigbjorn Finne and Oege de Moor’s Compiling Embedded Languages
haskell 
10 days ago by marmolubio
[Haskell-cafe] zipper for rose trees? (Data.Tree)
Hi Graham,

There is one implementation here:

http://code.haskell.org/yi/Data/Tree/

I wrote it for Yi but it is quite general. It is a pity that we don't
have it in the standard libraries. It is not completely tested but it
seems to work for me.
haskell  datastructure 
15 days ago by marmolubio
[Haskell-cafe] Converting list comprehensions to combinatory style
> I gather that by combinatory style, he means the use of concat, map, and
> filter. While Bird provides the following conversion rules, he doesn't
> prove them, justify them, or even provide an example using them:
>
> R1. [ f x | x <- xs ] = map f xs
> R2. [ x | x <- xs, p x ] = filter p xs
> R3. [ e | Q, P ] = concat [[e | P] | Q]
> R4. [ e | x <- [d | P] ] = [e [x := d] | Q, P]
haskell 
18 days ago by marmolubio
Haskell Communities and Activities Report
A central feature of Agda is inductive families, i.e. GADTs which can be indexed by values and not just types.
haskell 
19 days ago by marmolubio
typeclass - What is Haskell's Data.Typeable? - Stack Overflow
Data.Typeable is an encoding of an well known approach (see e.g. Harper) to implementing delayed (dynamic) type checking in a statically typed language -- using a universal type.

Such a type wraps code for which type checking would not succeed until a later phase. Rather than reject the program as ill-typed, the compiler passes it on for runtime checking.
haskell  types 
19 days ago by marmolubio
8.3. Syntactic extensions
Record punning permits the variable name to be elided, so one can simply write

f (C {a}) = a
haskell 
19 days ago by marmolubio
Martin O. comments on Scala collections (Lang.NEXT 2012) : haskell
Note that Martin didn't answer the question of Erik: He asserted that you don't need a PhD to use Scala's collections. What Erik asked was whether you needed a PhD to understand them.
Personally, I don't think you quite need a PhD, but you need to spend a lot more time than you'd necessarily want learning about types, subtyping, and co and contravariance. You also have to deal with Scala's sort of nutty type level syntax.
haskell  libraries 
22 days ago by marmolubio
Ruminations of a Programmer: Domain Modeling in Haskell - Follow the Types
And we get an EDSL for free without any additional effort and just by sticking to idiomatic Haskell. The type system guides you in every respect - Haskellers call it "Follow the types".
haskell 
22 days ago by marmolubio
Clojure Impressions
I couldn’t find it in the beginning. Later on I discovered that Clojure’s map function actually maps over multiple collections. So there it was, my zipWith function in disguise.
clojure  haskell 
23 days ago by marmolubio
Haskell Understanding Monads - Stack Overflow
In practice, I don't recommend using fail since it's so unclear what it will do. Instead, use the appropriate failure mechanism of the monad you're in, whether that's mzero, throwError or something else.
haskell  monads 
24 days ago by marmolubio
#AltDevBlogADay » Sudoku Solver in Haskell
The good thing was that the infamously recondite concept of monad(5) has become a little bit clearer. Without it, in the functional world, I noticed that too-deeply-nested case statements naturally occur.
haskell  programming 
26 days ago by marmolubio
View Patterns as Pattern Matching for Records « Sententia cdsmithus
Right now, I can write this for a record type in Haskell.

foo :: MyRecord -> Int
foo (MyRecord { field1 = Just k, field2 = 4, field3 = (x:_) }) = 4*k - x
haskell  syntax 
4 weeks ago by marmolubio
« earlier      

related tags

academic  accounting  advanced  algebra  algorithm  algorithms  analysis  api  arch  articles  bibliography  blog  blogging  book  books  bot  brainteaser  bug  business  c  calculus  clarification  clojure  code  comics  comparison  compilers  concurrent  coq  course  cs  data  databases  datastructure  design  discussion  documentation  dsl  economics  education  explanation  finance  forums  french  frp  functional  game  gamedesign  games  ghc  ghci  github  gotcha  gotchas  graph  haskell  history  hosting  hosting.linode  howto  http  i18n  if  infoq  insight  interview  iteratee  java  javascript  jobs  json  language  languages  lazy  learning  lectures  libraries  linux  lisp  list  lists  logic  mail  management  manual  math  mathematics  mathematics.groupth  mathoverflow  monads  music  mysql  networking  news  nlp  nosql  notation  notes  numeric  odd  opengl  optimization  papers  parser  parsing  patterns  pdf  pearls  people  productivity  programming  project  python  quotes  reference  resource  resources  roguelike  rpc  ruby  scraping  search  slides  snap  social  software  sql  stackoverflow  statistics  style  survey  swing  syntax  testing  text  theory  tips  tools  tricky  tutorial  types  typing  ui  unicode  uniplate  video  vim  web  webapps  weird  windows  yesod 

Copy this bookmark:



description:


tags: