You are viewing archived messages.
Go here to search the history.

Mariano Guerra 2021-06-01 21:13:59

šŸŽ„ Nushell 0.32

William Taysom 2021-06-02 04:37:42

"The thing you would try by default, works by default."

Zach Potter 2021-06-02 17:08:54

Ahh I've been meaning to make a daily habit of using nushell

Zach Potter 2021-06-02 17:09:26

These changes make it look very mature

Kartik Agaram 2021-06-02 05:21:31
William Taysom 2021-06-02 06:52:50

Hello, what's this? A folder on my desktop labeled minikanren. I suppose some more things are about to fall into it. I read the first edition of the Reasoned Schemer a good, long while back. I wanted to love it, but the execution of the idea left something to be desired, I recall.

Jack Rusher 2021-06-02 08:01:24

Might I recommend this tiniest, most digestible distillate? Ī¼Kanren implements the core of the system in 40 lines of scheme. ā¤

http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf

Kartik Agaram 2021-06-02 14:17:25

Thank you, this is the paper I'd (tried to) read a few years ago and spent several hours yesterday trying to remember. I'd forgotten that it's 'micro', not 'mini'.

Kartik Agaram 2021-06-03 04:28:34

Jack Rusher Are Ī»_g and Ī»_$ just regular lambdas? Are the suffixes just for documentation?

Is the terminology of "serious calls" just something in this paper, or more broadly understood?

Kartik Agaram 2021-06-03 04:31:56

Getting a complete strategy from an incomplete one by swapping two tokens = šŸ¤Æ

Jack Rusher 2021-06-03 07:10:51

Kartik Agaram Yeah, the stream/goal designations are for us, not the computer. So far as I'm aware, the "serious" terminology was coined in Byrd's PhD.

Andreas S. 2021-06-03 09:23:19

Has this been discussed here before? Thoughts? https://twitter.com/jjcarett2/status/1399473063515889672

šŸ¦ Jacques Carette: I recently learned of @JAldrichPL 's essay "The Power of Interoperability: Why Objects Are Inevitable" (http://www.cs.cmu.edu/~aldrich/papers/objects-essay.pdf). Saved it for later reading [now done]. I was all revved up to hate it, and maybe even rant. My rant-readers will be disappointed: I rather liked it.

William Taysom 2021-06-03 11:57:51

I don't think so. Let me guess before looking: object capabilities. And nope. It's about "service abstractions" sounds like encapsulation. What did you find compelling?

Jack Rusher 2021-06-03 13:31:02

(I find the whole topic this way)

šŸ“· image.png

Christopher Galtenberg 2021-06-03 14:44:09

"different object-oriented implementations of a type can interoperate" as the big idea presented here ā€“ interesting

Jack Rusher 2021-06-03 18:10:59

I mean, this old essay of mine uses the same kernel VFS example to make the point. It's all well-trodden ground for old timers, which might be why I'm so bored with these arguments by this stage. šŸ˜œ

https://jackrusher.com/journal/on-object-orientation.html

Jimmy Miller 2021-06-04 01:25:14

I have so many thoughts, I should probably not take the time to write them all here. Let me just say a few things. First I love Cooks definition of object oriented programming. Making a version of OO that does not use mutable state at all is really interesting. After reading his paper I went and played with my own little Cookesque OO language written as a dsl in clojure https://github.com/jimmyhmiller/PlayGround/blob/master/oop.clj

But even though I really like what Cook has to say, I really donā€™t like this paper. First I think that these sorts of ā€œservice abstractionsā€ are bad. They in my view almost always lead to unreadable messes of programs where understanding the behavior requires following several layers of indirection just to get at something that could have been stated very directly.

But further, I donā€™t think the extensibility they want can only be achieved through these sorts of abstractions. I think react and its move away from classes is a great example of this. React is exactly the sort of framework they are talking about and yet, you can do full extensibility without needing these sorts of abstractions (functional react + hooks to be clear).

Now just to give the caveats, Iā€™m not saying there is never a use case for service abstraction. But what I am saying is if I could get rid of one technique that I see used over and over again in application code bases, that would be it. Yes, objects can do the things the author described, but should we really do those things? Most of the time no.