HNHacker News
TopNewBestAskShowJobs

juol

4 karma · joined July 27, 2014

submissionscomments
juol··on TypeScript 2.9 is now available
Yeah I'm in the same boat. I've been spending a bit of time looking into some of the big and popular Typescript projects. But something's not sinking in and I could use a intermediate/advanced guide.
juol··on Can staying awake beat depression?
Yeah the prescription is PRN which means as needed i think. As well as helping me sleep it helps a bit taking the edge off some other issues. I've got a good relationship with my doc and he trusts my input. I've got good drug 'insight' apparently.
juol··on Can staying awake beat depression?
Yep. After being on various prescribed drugs over the years i've settled on one. 25mg of Quetiapine at night when needed to knock myself out. Not being able to get to sleep - when i'm actually tired - and my brain spinning and running loops is not good for me.
juol··on Show HN: Noms – A new decentralized database based on ideas from Git
Your mascot looks like it giving an 'air' blowjob.

Otherwise looks like a cool project, keep up the good work!

juol··on Amazon is hiring Clojure devs
Sigh.

Implemented a scheme in my undergraduate days (in C), had a small love affair with LISP in general (but none with girls ... probably related).

I'll be opinionated here:

It's not readable. It really isn't. You have to be in the thick of it to see the trees. Idiomatic doesn't cut it.

Operator heavy Haskell is more readable. Most of the modern functional languages read closer to the spoken word.

I'd rather be presented with a legacy OO code base, than an LISP one if the LOC was anything significant.

I hope I don't come across as disgruntled, I am but a mere man, and I know my limits.

And still have fond memories of bedding LISP.

juol··on G()('al')
C#

    using System;
    using System.Text;

    namespace Goal
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine(G("al"));
                Console.WriteLine(G()("al"));
                Console.WriteLine(G()()()()()("al"));
            }

            static StringBuilder accumulator = new StringBuilder();
            delegate dynamic GoalDelegate(string s = "o");

            static dynamic G(string s = "o")
            {
                switch (s)
                {
                    case "o":
                        accumulator.Append("o");
                        return (GoalDelegate)G;
                    case "al":
                        string result = "G" + accumulator.ToString() + "al";
                        accumulator.Clear();
                        return result;
                    default:
                        return null;
                }
            }
        }

    }