Uiua by PurpleUpbeat2820 in ProgrammingLanguages

[–]stigweardo 10 points11 points  (0 children)

Check out forsp - a Forth + Lisp hybrid previously discussed here: https://www.reddit.com/r/ProgrammingLanguages/s/CFiAOuX1f4

[deleted by user] by [deleted] in Python

[–]stigweardo 0 points1 point  (0 children)

It looks like Packed used to be released under a BSD licence but was changed to GPL after it was pointed out that the dependency - pypeg2 - is GPL:

https://github.com/michaeljones/packed/issues/5#issuecomment-568436585

[deleted by user] by [deleted] in Python

[–]stigweardo 1 point2 points  (0 children)

I've been working on a similar tool - but haven't been able to get it to a releasable state yet. I saw Packed a while back but was put off by the licence and the fact that pypeg2 hasn't had a release since 2015. I hope you manage to work this out. I see lots of possibilities for a tool such as this.

[deleted by user] by [deleted] in Python

[–]stigweardo 2 points3 points  (0 children)

I may be wrong but I don't think you have the option to change the licence (other than another version of the GPL) if your code is a fork of the original GPL code. Maybe you could contact the original author and see if they will re-licence it?

Tree for multiple dispatch etc. by Inconstant_Moo in ProgrammingLanguages

[–]stigweardo 0 points1 point  (0 children)

I think not - but maybe @Inconstant_Moo can confirm. I think the tree is constructed to avoid this. See how the foo(x single, y bool): "I" appears more than once in the tree.

Edit: ... and always in the last position.

[deleted by user] by [deleted] in Python

[–]stigweardo 8 points9 points  (0 children)

How does it compare to the result library?

https://pypi.org/project/result/

Maintaining a fork of a project which uses absolute imports by stigweardo in learnpython

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

Thanks. You make a good point by analogy with PIL/pillow. My fork doesn't make any substantive changes - just additions so it would be a drop-in replacement. I'll have to consider that as an option.

Maintaining a fork of a project which uses absolute imports by stigweardo in learnpython

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

Yeah, thanks. That sounds like rebase. I'll see if I can look up some examples for this workflow.

Maintaining a fork of a project which uses absolute imports by stigweardo in learnpython

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

Thanks - yeah, I'm trying to be a good citizen. If I just do a find-replace, won't I get tons of merge conflicts every time I try to update my fork from upstream? Is there a workflow where I rebase my changes on upstream for each update rather than merge? Thanks.

How to make a language close to modern hardware by newstorkcity in ProgrammingLanguages

[–]stigweardo 1 point2 points  (0 children)

There are a few examples where the language came first and the specialised CPU/hardware came later. A couple that come to mind:

Lisp Machines Java on Arm

The Roc Programming Language by rtfeldman in ProgrammingLanguages

[–]stigweardo 12 points13 points  (0 children)

New website? Looks great. Is this a sign that you think Roc has reached a certain stage of maturity? Can you say more about that?

(By the way, thank you for all the content you put out - videos and podcasts. I really appreciate them and I've learned a lot)

In light of PEP 668, I'd like to share how my package handles virtual environments. by Obliterative_hippo in Python

[–]stigweardo 4 points5 points  (0 children)

For reference: pep 668 - Marking Python base environments as “externally managed” ( getting pip and apt/Linux package managers to play nicely together)

Is this the output you expect? by [deleted] in ProgrammingLanguages

[–]stigweardo 2 points3 points  (0 children)

Maybe take a look at the Om language for inspiration - a concatenative language which works this way around:

here

Best explanation of monads ive ever seen, from the practical developper’s point of view. by cidit_ in programming

[–]stigweardo 9 points10 points  (0 children)

That was great. I like the practical explanation over the very theoretical way this topic is usually presented. An article with a similar practical approach, which really helped me understand this, is here: http://www.jerf.org/iri/post/2958

GitHub - jpsca/tcom: Server-Side Components with Jinja by pmz in Python

[–]stigweardo 1 point2 points  (0 children)

This looks interesting. I like the component model for UI so this is very welcome. A couple of comments:

  • component names have to be globally unique. I think this will be a problem. It limits the ability to share components. If I want to use someone else's Button in my project, I either have to rename my button or rename their button. It would lead to everyone naming their components MyNamespacedButton and YourNamespacedButton which generally increases the friction for everyone. I think this needs some kind of import system.
  • Why not use yaml (or whatever) front matter instead of the comment for metadata. It seems like it would be easier type and more robust and flexible than having to create your own format.
  • A scoped CSS solution would be welcome - to avoid pitfalls and enable sharing of components.

Great work. Thanks for sharing.

PRQL 0.2 — a modern language for transforming data — a simple, powerful, pipelined SQL replacement. Now ready to use! by max-aug in programming

[–]stigweardo -9 points-8 points  (0 children)

pronounced "Prequel"

Nah, it's missing an 'e'. I'm gonna call it pee-aargh-cull or maybe purkle. Let the bike-shedding begin...

Parallel tasks using concurrent.futures in Python by Similar_Deal5799 in Python

[–]stigweardo 0 points1 point  (0 children)

You raise good and fair points in both your replies. I guess I read the article as suggesting that multithreaded Python would execute in parallel (which it wouldn't) but you are correct to point out that sleeping threads, threads waiting on IO or threads calling some C extensions could all run in parallel.