[HN Gopher] On hoot, on boot
___________________________________________________________________
On hoot, on boot
Author : davexunit
Score : 78 points
Date : 2024-05-16 21:18 UTC (3 days ago)
(HTM) web link (wingolog.org)
(TXT) w3m dump (wingolog.org)
| nanomonkey wrote:
| Is 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 wrote:
| An astute observation that would be hard to dispute.
| Filligree wrote:
| Reading this was definitely a hoot.
| morkalork wrote:
| Well ain't that just cute.
| seanhunter wrote:
| like you have a horn to toot, Or perhaps a flute?
| euroderf wrote:
| Second paragraph, the only candidate is "about", so I guess the
| writer is Canadian.
| jauntywundrkind wrote:
| Side 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 wrote:
| You 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 wrote:
| COMEFROM considered harmful?
| Turing_Machine wrote:
| Hoot 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 wrote:
| Not actually true, those pm's need to be reimplemented in
| nix/scheme.
|
| But I get your point.
| candeira wrote:
| Cute!
| riffraff wrote:
| could 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 wrote:
| Woot. JavaScript will be moot.
___________________________________________________________________
(page generated 2024-05-19 23:02 UTC)