this post was submitted on 19 Apr 2024
513 points (98.1% liked)
Programmer Humor
19551 readers
1012 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Uh, let's look at my GHCi history...
It looks like I was last searching for 12-member sets of permutations of 7 which come close to generating every possible permutation of seven elements, as well as meeting a few other criteria, for an electronics project. It ended up being more like 10 lines plus comments, though, ~~plus a big table generated by GAP, which I formatted into a Haskell list using probably a line of Haskell plus file loading.~~
Unfortunately for providing code, me playing with the finished algorithm has eaten up my whole 100 lines of history. So, here's a two-liner I posted on Lemmy before, that implements a feed-forward neural net. It's not exactly what you asked for, but it gives you an idea.
In practice, you might also need to define relu in another line:
relu x = if x > 0 then x else 0
Edit: No wait, I think that was a different problem related to the same project. There's another module attached that generates all permutations of n items. After breaking it up so it's a bit less write-only:
BTW: I think you need to put the "```" on separate lines.
test
Edit: huh, nope, that had no difference in effect for me. Wonder why your code doesn't render for me...
Which frontend are you on? I'm using lemmy-ui (the default webapp) and it renders fine, not sure how to find which version.
I was using Sync for Lemmy when your comment didn't render properly. No idea why. Especially since my own comments were rendering fine. 🤷♂️
I'd guess it has to do with the specific symbols I was using, and there's a bug in rendering of markdown in Sync.
Maybe so!
Cool! Thank you for sharing!
I just recently read the man page for GNU Parallel, and that seems like a pretty nifty tool to generate permutations of data as well. It's command-line so great for scripts, utilizes many cores, quick to do without mind-bending Haskell project setup, etc..., for anyone interested. 🙂👍
I'll look into it, although this probably wasn't directed at me. GHC can compile multi-threaded, and "setup" here was just opening GHCi and starting, and then moving it into files once it got large enough I didn't want to repeat the work, so I'm happy.
I still haven't been able to learn project setup with Haskell and know exactly what I'm doing lol. But I'm glad you have a working setup! But yeah, do look into parallel if you want, maybe it can prove useful, or not. It was directed at you, considering your use case of generating permutations. :-)
Take care!