Saturday, July 12, 2014

1HaskellADay: Up, up, and away!

I've taken it upon myself to submit problems, then show the solutions, for @1HaskellADay. I started this work on July 1st, 2014. So the next set of entries serve to collect what I've done, both problems and solutions, and, if a particular day posed a particularly interesting problem, that I solved, or, that I didn't solve, I'll capture that here, too.

**Problems:**

###
**September 2016**

- September 28th, 2016: TOO MANY SINGLE-LEAF NODES! Today's #haskell problem improves the insert algorithm to minimize single-leaf nodes.

- September 27th, 2016: Today's #haskell exercise we discover a path through a Merkle tree to a hashed leaf node (a #blockchain transaction)
- September 26th, 2016: For today's #haskell problem we compare two Merkle Trees, one set the same, another set slightly different. And I hope this #haskell solution doesn't get carried away into Ackermann-territory! Merkle Tree node-difference.

- September 23rd, 2016: Today's #haskell exercise distills #bitcoin transactions, then represents them as relations. Today's #haskell solution views #bitcoin trades as graphs

- September 22nd, 2016: WHOA! WHOA! WHOA! Let's scale back the problem statement a bit, shall we? for today's #haskell exercise. Got the transactions and the addresses from the latestBlock on the #blockchain in #haskell
- September 19th, 2016: Today's #haskell problem we create our own Merkle tree from (faux) #bitcoin transactions and then visualize it!
- September 16th, 2016: Today's #haskell problem is sort of Sudoku with a BINOCULAR-twist! and what other unique 9-letter words do you know? This solution used generate-then-inline, totally avoiding testing with guards. Much faster AND correct!
- September 15th, 2016: Today's #haskell problem is neither soduko nor magic squares. And our solution was a generate-then-test with guards, can you do better?
- September 14th, 2016: For today's #haskell problem we study 'domino theory' ... eheh.
We took the brute-force approach to solve today's #haskell problem. Do you have a better approach?
- September 12th, 2016: Today's #haskell problem is a logic puzzle of infinities and infinitesimals … Not really, but it has a ring to it!
- September 9th, 2016: For today's #haskell problem with go on a little cryptoarithmetic-romp. And I got to use the word 'romp' in a tweet. A little bit of monadic combine; a little bit of
`sortBy (compare `on` snd)`

and we have our AFTER(SHOCK)ING #haskell solution - September 8th, 2016: Today's #haskell exercise asks you to create a (balanced) Merkle tree from block summaries from the #blockchain. We insert some blocks from the #blockchain to create a (balanced) Merkle tree for today's #haskell solution
- September 6th, 2016: For today's #haskell exercise we read in an entire block (with its transactions) of the #blockchain. You want all the transactions of a block of the #blockchain? Today's #haskell solution gives them to you
- September 5th, 2016: For today's #haskell problem we begin to deconstruct blocks of the #blockchain by parsing block transactions. FromJSON instance definitions in #haskell allow us to parse transactions of blocks in the #blockchain
- September 2nd, 2016: Today's #haskell problem we look at reading in just one block of the #blockchain. Today's #haskell solution fetches the latest block from the #blockchain thanks to https://blockchain.info
- September 1st, 2016: Today's #haskell exercise gives us a rudimentarily-constructed Merkle Tree. Today's #haskell solution we create leaves and branches of Merkle trees (and a very simple tree sample) #bitcoin

**Archive**

- 2016: Aug Jul Jun May Apr Mar Feb Jan
- 2015: Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan
- 2014: Dec Nov Oct Sep Aug Jul

Problems and solutions prior to July, 2014 posted on github at https://github.com/1HaskellADay/1HAD/

Problems starting from June 2016, along with new supporting Control and Data modules, are on new github repo at https://github.com/geophf/1HaskellADay/tree/master/exercises/HAD

Problems starting from June 2016, along with new supporting Control and Data modules, are on new github repo at https://github.com/geophf/1HaskellADay/tree/master/exercises/HAD

## 2 comments:

"Clone in IDE" just takes me to FP Complete's 404 page. Is there still a free IDE for working Haskell A Day problems? What? Where?

Thanks.

@RickFleischer Reposted to @1HaskellADay.

My answer: I use vi, simply inserting the copied text into the editor and working on the code off-line.

Post a Comment