5 ms·
On hoot, on boot
- nanomonkey 2y agoIs it me, or was there an attempt to inject words that rhyme with hoot in every sentence? But more to the point, I absolutely love how well Hoot works, I've been playing with it for the last month and plan on doing the next Lisp game jam with it.
- saagarjha 2y agoAn astute observation that would be hard to dispute.
- Filligree 2y agoReading this was definitely a hoot.
- morkalork 2y agoWell ain't that just cute.
- seanhunter 2y agolike you have a horn to toot, Or perhaps a flute?
- euroderf 2y agoSecond paragraph, the only candidate is "about", so I guess the writer is Canadian.
- euroderf 2y ago"substitutes" - plurals don't rhyme right.
- jauntywundrkind 2y agoSide note but it is sad as hell that arguments.callee is gone (in esm, a long with arguments in general), which was such an excellent way for functions to take whatever bindings it has & turn them into accessors. I miss like hell the JS world where functions could easily show off some internals. function add(a) { return a + arguments.callee.amount } add.amount = 2 console.log(add(2)) // => 4 (In this simple eread-only example arguments.callee could be be replaced with add, but if one is doing inline function definitions or other cases that's not possible.) And that was something devs explicitly had to do in their libraries! But in guile there's some automatic capability to expose your bindings. > Guile programs can use first-class accessors on the module systems to pull out bindings. In general, I strongly feel like the ability for the language to let developers explore the bindings is like "the" missing piece of programming language systems, is one of the primary gates to good metaprogramming ever emerging. I wish the runtime would be observable.
- LegionMammal978 2y agoYou can still emulate this to an extent with a wrapper function: function selfBind(f) { return function g(...args) { return f.call(this, g, ...args); }; } let add = selfBind(function (callee, a) { return a + callee.amount; }); add.amount = 2; /* ... */ Though obviously it isn't quite as straightforward as 'arguments.callee'.
- e12e 2y agoCOMEFROM considered harmful?
- Turing_Machine 2y agoHoot looks awesome, but I've yet to get past the initial hurdle of screwing around with guix. Frankly, I need another package manager like I need a hole in the head. It really needs someone to give other package managers some love (Homebrew, apt, rpm...)
- tripleo1 2y agoNot actually true, those pm's need to be reimplemented in nix/scheme. But I get your point.
- candeira 2y agoCute!
- riffraff 2y agocould someone explain the difference between r6rs modules and guile modules? I may have been distracted by the cute alliteration. Is the difference that you can literally fetch some name defined in a module at runtime vs it being a purely static thing a-la C includes?
- fatcow 2y agoWoot. JavaScript will be moot.