Well FWIW CodeWars has plenty of Factor katas, and I try to gather related resources at https://programming.dev/c/concatenative
I’m trying to keep up with the Perl Weekly Challenges, but with Factor, and am posting some Factor solutions to Exercism’s 48in24 series.
I just grabbed it. The dash cam features might possibly be useful on a bike (?). But I tried and tried and couldn’t find the magic zoom level for it to show me the name of the street I’m on, got frustrated, and uninstalled.
I’m not off Google Maps either, but the closest to replacing it for me is Organic Maps, FWIW.
Thanks, I have, but it’s not a replacement for me. I’ll try it again once a year though.
Some combination of things like performance, non distracting presentation, the minimap, multi cursor that works how I like, some plugins I like, no web browser, the way every open buffer is always safe and saved in some cache without necessarily saving to the edited file, the UX for split view across tabs, minimal fuss to get UI text and colors legible for my bad eyesight, etc.
Sublime Text, Google Photos, Google Maps (partially)
Two books that may be helpful:
I’m more familiar with the former, and think it’s very good, but it may not give you the basic introduction to object oriented programming (classes and all that) you’re looking for; the latter should.
Thanks. I know that’s the case for Nim’s flexibility, but I didn’t think it applied to the pipe operator stuff like in Roc. I’ll do some reading tonight to confirm.
That’s true, but if the transformations have more than one argument, they go after the name
Yup, I understand. That’s why I’ve not put them in the concatenative section.
Also, there are more languages with this feature, for example D, VimScript or Koka.
Thanks, maybe I’ll add them to the sidebar! I hadn’t heard of Koka.
If you have a suggested heading/description to replace “partially concatenative” I’m interested. Function chaining? And I’m not sure but maybe execline is actually concatenative and needs to be moved out of that section.
Exactly. That’s the second link under “Wikipedia Topics” in the sidebar.
I may be expressing it poorly and inaccurately, but what I mean is that in Nim you can re-order arguments and functions to start with some data followed by a series of transformations. The following two lines are equivalent:
parse_int(read_line(stdin))
stdin.read_line().parse_int()
Roc offers a similar flow with their |>
operator. Here’s a snippet from one of my Advent of Code 2022 solutions:
partOne =
"input.txt"
|> getData
|> Task.await \data ->
data
|> getRangePairs
|> List.keepIf pairHasStrictSubset
|> List.len
|> Num.toStr
|> Stdout.line
Factor!
It’s incredible and elegant and defies some common categorization.
I’ve put some of my favorite resources in the sidebar of https://programming.dev/c/concatenative and I’m happy to walk through any particular challenges/examples – I’ve done about the first week of Advent of Code with it this year, and the most recent handful of Perl Weekly Challenges, and some basic Euler problems.
Any thoughts on the alternative I mentioned, DYN, described here?
Approval voting simplifies things but also has limitations because it removes any weight/preference people may have.
Yes, but nowhere near the problems of IRV. If those particular limitations bother you, as I said:
If you want to take on a little complexity for some further improvement, use delegable yes/no voting.
. . . don’t let the perfect be the enemy of the good.
I see zero “good” in IRV, for all the reasons outlined in the rant. Its failures are absurd and beyond unacceptable given that there are strictly better and simpler alternatives. Don’t let something shiny and terrible stop you from using something actually quite good.
I’m repeating myself here because a lot of commenters have a misplaced hope for IRV improving things:
Instant runoff voting is terrible and more complicated than people think, and I will never support it. It’s a false improvement whose adoption will discourage meaningful change.
If it’s a single winner election and you want a simple improvement, use approval voting. If you want to take on a little complexity for some further improvement, use delegable yes/no voting. I have one idea for further improvement, if anyone is really interested in voting methods.
Only responding to the IRV portion of your comment, and repeating myself from elsewhere in this thread:
Instant runoff voting is terrible and more complicated than people think, and I will never support it. It’s a false improvement whose adoption will discourage meaningful change.
If it’s a single winner election and you want a simple improvement, use approval voting. If you want to take on a little complexity for some further improvement, use delegable yes/no voting. I have one idea for further improvement, if anyone is really interested in voting methods.
Instant runoff voting is terrible and more complicated than people think, and I will never support it. It’s a false improvement whose adoption will discourage meaningful change.
If it’s a single winner election and you want a simple improvement, use approval voting. If you want to take on a little complexity for some further improvement, use delegable yes/no voting. I have one idea for further improvement, if anyone is really interested in voting methods.
In 2020 I paid a one time fee for a lifetime of Pro. Is that definitely not still an option?
So far, this isn’t much of anything.
Telegram already closes public channels reported for copyright violations.
Some excerpts from this post: