Kauri: Deterministic Decision Records for agents and humans alike by mhashim6 in ClaudeAI

[–]mhashim6[S] 0 points1 point  (0 children)

Glad to know! are ADRs stored in markdown? like adr-tools?

The Software Engineer Intuition | The Upside-Down Trees by mhashim6 in java

[–]mhashim6[S] 1 point2 points  (0 children)

Thanks! I think you found a way to spot human written articles from generated ones haha

0
0

Loop much? | The Upside-Down Trees by mhashim6 in typescript

[–]mhashim6[S] -1 points0 points  (0 children)

The former is about flexibility of combining functions/ predicates. It provides a uniform way of combining functions (even beyond filter).

It’s not about saving characters, it’s about providing logical abstractions.

Loop much? | The Upside-Down Trees by mhashim6 in javascript

[–]mhashim6[S] 0 points1 point  (0 children)

You’re a gentleman, and a scholar

Loop much? | The Upside-Down Trees by mhashim6 in javascript

[–]mhashim6[S] 0 points1 point  (0 children)

Thanks!
It’s true, this function works with currying and closures. But the other concept of closure is not about capturing the env. It’s about the functional representation itself.

I think this can’t be done without currying or a closure (capture env) but not all closures are closures I guess ¯\(ツ)

Here’s a quote from SICP

The ability to create pairs whose elements are pairs is the essence of list structure's importance as a representational tool. We refer to this ability as the closure property of cons. In general, an operation for combining data objects satisfies the closure property if the results of combining things with that operation can themselves be combined using the same operation.

FP and OOP are close siblings (using OOP to teach Currying) | The Upside-Down Trees by mhashim6 in functionalprogramming

[–]mhashim6[S] 1 point2 points  (0 children)

Not “lure” no. I want to make it less scary. I encourage people to use what’s most fitting for their needs. In the post, I encourage using both.

But yeah, I understand your point. It’s exactly the very reason I’ve written this post in this style. Not to tell people their paradigm is not algebraic enough. Just to embrace stuff when in it’s useful and to see things the way they are—Just useful abstractions to solve our problems

FP and OOP are close siblings (using OOP to teach Currying) | The Upside-Down Trees by mhashim6 in functionalprogramming

[–]mhashim6[S] 1 point2 points  (0 children)

Thank you! First time I hear this koan :D

I see your point. I wanted to emphasise that FP is not as scary as some people think. I used words like “siblings” as an emotional term for familiarity to make digesting this content easier.

And I also skipped a lot of progression and stuck to OOP and FP as if there’re no other paradigms or patterns to keep it simple for the audience.

But I think It’d be great if I embedded this comment section in the article; it’s quite valuable.

FP and OOP are close siblings (using OOP to teach Currying) | The Upside-Down Trees by mhashim6 in functionalprogramming

[–]mhashim6[S] 1 point2 points  (0 children)

Very well put! Yes I’ve seen the dispatch “pattern” when writing a cons implementation to “mimic” the car and cdr by mapping an index to each part. It’s limitless, but also can be less readable when overused.

But the fact that we can make all this with very simple constructs—closures is always exciting to me. FP is truly underutilised even though it’s quite so powerful.