Hacker Newsnew | past | comments | ask | show | jobs | submit | kenshi's commentslogin

I wrote an explainer for monads because I think they are typically explained in a terrible way for the working programmer.

Would love any feedback on this.


Thanks for posting this!

I've started looking into the history of Postscript because I was looking into the idea of "sending a program not a data structure".

Some thoughts so far: https://krishna.github.io/posts/send-a-program-not-a-datastr...


Check out Don Lancaster’s tinaja archive, if it’s still around. He was quite enamored with NeXT style universal postscript and wrote at length about it.


Don Lancaster passed away in 2023 at 83.

https://en.wikipedia.org/wiki/Don_Lancaster

Don Lancaster has died (gilaherald.com)

https://gilaherald.com/obituary-for-don-lancaster/

HN discussion:

https://news.ycombinator.com/item?id=36545595

Woody Baker was one of his biggest fans on comp.lang.postscript!

https://news.ycombinator.com/item?id=36546584

DonHopkins on July 1, 2023 | parent | context | favorite | on: Don Lancaster has died

I have always been a huge fan of Don Lancaster's wizardly writing about PostScript, who not only regularly published in Computer Shopper, but also generously ran a free PostScript help line at his own personal phone number. But Woody Baker was by far his biggest most enthusiastic fan of all (and highly eccentric in personality and coding style), and he would regularly extol and evangelize Don Lancaster's virtues and ideas on comp.lang.postscript. Once around March 4 1990, I gave Woody Baker some feedback on his comp.lang.postscript faq, including the suggesting that he might consider leaving Don Lancaster's personal phone number out of it, but he replied:

>Again, I want to thank you for your contributions. You and D. Cortesi have been most helpful. The two of you gave me very in depth feedback. I have moved almost all the editorializing to the end. I have moved the style stuff to the end. As for DON LANCASTER, I left his phone number in. Don publishes it regularly in the computer shopper, as a free PostScript help line. He is self-employed, and a widely published Author, for TAB books among other things. He says he averages 80 helpline calls a day. He also sells programs and books that he is self publishing. I can assure you, he won't mind at all.

Woody loved to talk in depth about how amazing and inspirational Don Lancaster was, and defend his well deserved honor and reputation whenever anybody criticized his work.

http://computer-programming-forum.com/36-postscript/ff79f7dd... [broken link, not on archive org]

>True. Don lives in an APPLE II world. You are wrong, however in certain statements. He has (unfortunatly) mentioned what FLXPROC does. It happens to be critical to certain things, that several consultants are working on here and there. He knows enough not to blab some things, and jerk work out from under individuals (at least some of the time). Don has dug pretty deeply into certain areas of PS, and I have dug deeply into other areas of PS. Don is first and formost a writer. He's self employed, and extremely intellegent. I am first and formost a software engineer, and secondly a writer. I tend to write, however for clients. I'm confident that I know what FLXPROC does, and what it is good for. And I'm sure Don does also. I more or less told him about FLXPROC and he more or less told me what it does. After first quarter 1990, some things will be essentially worthless as consulting info, and will rapidly become public knowlege. I don't applogize for keeping the lid on some things. I'm a bit of a mercenary in a way. I like consulting.

>Cheers

>Woody

Their great respect was mutual:

https://archive.org/stream/Ask_the_Guru_v1

https://archive.org/stream/Ask_the_Guru_v1/Ask_the_Guru_v1_d...

>Don Lancaster's ASK THE GURU Selected reprints

>Copyright c. 1987 by Don Lancaster and Synergetics, Box 809, Thatcher, AZ 85552. (520) 428-4073

>Electronically self-published using the Apple //e computer and the LaserWriter Plus. All graphics were done in their entirety by ProDOS Applewriter 2.1.

[...]

>I don't think I was ever more amazed when Woody Baker of The Copier Store mailed me back one of my very own laser printed business cards — redone in real ink in an almost "embossed" gold! Turns out Woody had found an older Omnicrom machine scunging around unsold in the back of his warehouse and fired it up. Lo and behold, the instant conversion of any toner image to real ink in stunning colors!

Example 10 of Don Lancaster's Postscript Show & Tell beautifully illustrates how an Omnicrom printer works:

https://www.tinaja.com/glib/psnt.pdf

>Example ten -- What appears hear as a mild-mannered Postscript technical illustration is really the secret of full color laser printing.

>Omnicrom sheets are real ink applied to a carrier. You place the sheet in contact with your toner image and then run it back through the fusion rollers a second time. The ink gets fused over the toner.


This sounds cool. You mentioned Swift's macros - would you mind talking a bit how you are using them?


a lot of cool-looking stuff in my ECS is supported by Swift parameter packs; however, once you start using them a lot you find limits pretty soon.

One example: the following wouldn't compile in swift:

  func query<each T, each K>(
    _ body: ((repeat each T), (repeat each K)) -> Void
  ) { ... }
so you kinda work around it with extra type wrappers but this looks ugly - I've been using macros to hide some of the ugliness away xD

edit: the example is oversimplified just to show the point - in this example compiler can't really tell where T ends and K starts, so its logical; but I had more complex cases where a human would've been able to infer types correctly


Yes, you can use SPM to package up Objective-C code.


Right, but you can’t have a single package containing both ObjC and Swift. It’s a limitation of SwiftPM that has prevented me from using it for a few projects (I am using it in several others, though).


You can mix them, it just has to be released as a binary framework which is a bit annoying as I would prefer a pure source release but it does work.


Since it clearly wasn’t obvious, I was asking in the context of a package consumer, not publisher.

My involvement with MacOS development is somewhat limited and I have no plans publishing any packages yet ;)


Oh gotcha, yeah they’re absolutely usable as any maintainer mixing the languages and providing SPM support will handle the binary release part. If anything it’s nicer for the consumer (binary releases in general) as it cuts down on full app rebuild times.


I kept hitting my head against the wall, and getting a million stupid errors trying to resolve header files. But in the end I got it working, and I will no longer be one of the guys pestering the old Cocoapods servers :)

For whoever comes after me... When ChatGPT suggests changing your Objective-C from this:

   #import package.h
To this:

   #import <package/package.h>
Just skip that rabbithole of inifiny-nested failure, and just do this instead:

   @import package;
And you're done. You can thank me later :)


I should have included the following information in the blog post (will update it later!):

I usually have:

- 45g of air popped popcorn (64 calories).

- 5 to 10g of butter (37 - 74 calories).

- couple of garlic cloves (10 cals).


Most people are consumers, not creators.


Probably my favourite book on programming. Thanks for posting it here - I'll have to make time for a re-read of it.


Information arbitrage is one helluva social media drug.


The thing that's "holding back" the iPad isn't hardware. It's the economics of the App store.

I'm sure Apple are very happy with the niche the iPad dominates in - it leaves plenty of room for Mac laptop sales.


Maybe you just aren't going to be able to afford everything and will just have to make a choice about what you consume.


It's not really a question of what you can afford; it's a question of who deserves your business.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: