« first day (5 days earlier)      last day (1958 days later) » 

03:48
Hello again, I'm having trouble with the following code f a=[a!!i<$[1..(f a)!!i]|i<-[0..]]
Theoretically it should take a[i] from array a, such as [2, 3, 1] and append a[i] to the new list a[i] times, using n<$[1..n]. Is there a way to concatenate n<$[1..n] instead of adding as a list inside a list?
04:34
Ah nuts. I forget that a!!i in the beginning should be (cycle a)!!i
 
3 hours later…
07:58
@Sherlock9 I'm not exactly sure what you are trying to do, but you can add concat (or id=<<) in front of the list comprehension to get it to type: Try it online!
@Laikoni Thanks for the help. I'm trying to do this challenge
There was also a $ missing behind take 25.
Hm, as I expected I do need to initialize the array. That's going to eat a lot of bites
Also how would I put take in f?
Exactly, otherwise the self reference can not be resolved.
08:04
@Sherlock9 You probably can't because of the self reference, but take 25.f would work. Or is the 25 also an input?
25 is an input
08:35
Hm, maybe I can do take n in a function below the main list comprehension instead
09:00
I think (cycle a) is the problem, it producs an infinite list
(not sure yet)
@Sherlock9 <$ binds weaker than ++
You need to enclose the initialisation in parentheses.
And as long you don't have any guards [...|i<-[1..]] can usually be shortened using map or <$>
For some reason I keep thinking about an ice cream cone whenever I see <$
@flawr I'm having trouble figuring how to use map and <$> because the i variable is used in several different places
I may just need to learn more about lambda calculus reduction methods
ah right this seems to be getting longer
I also think about a double-scoop ice cream cone when I see <$
09:07
@Sherlock9 high five:)
But you could simplify the a!!0 with f a|z<-a!!0=(z<$[1..z])...
Excellent. 84 bytes now since I have to put take in the main code.
and I think you don't need the parentheses around f a and cycle a
@Laikoni Before I forget, thank you very much :D
And we're down to 80 bytes. Is a shorter way to write ++concat?
id=<< is a shorter concat
Ah, sorry you already said and I forgot to try it
Hm. An error
09:12
@Laikoni you need to add that to the tips!
@Sherlock9 Oh, ok, it does not work with the ++ in front
I think you have to put parens because of weaker binding :/ 80 bytes earlier vs 79 bytes now
a#n=take n$f a can be shortened to (.f).take if the arguments are reversed.
n#a=(.f).take is giving me another error
It's point free, you don't need n and a as arguments.
Like this: [Try it online!](https://tio.run/##y0gszk7Nyfn/P00hsabKRjdRUdHANjk/LzmxREWjykYl2lBPrypW0‌​yo6uTI5J1UBKJ0JEUwDs2NrMm10QdzYWK50Ww29NE29ksTs1P@5iZl5CrYKBUWZeSUKKgrpCkamCtFGOs‌​Y6hrH/AQ "Haskell – Try It Online")
09:17
Ah of course. Just need another single-character function name because #=... gives another error
@Sherlock9 well only as concatMap f, I the concat is probably used more often.
@Sherlock9 you'd have to write (#)=...
Which brings us to 79 bytes
@Laikoni how do you come up with solutions like that? I'm getting dizzy by just looking at it!
@Laikoni that was not what I hoped to hear :D
Anonymous
09:23
pointfree.io is how I make myself look like I know way more about Haskell than I do :P
Does anyone know, is it possible to add links in the room description?
Anonymous
Yep
@Sherlock9 Anonymous functions are allowed, so you don't need to count the (#)=.
Anonymous
See: TNB
I mean using []()?
Or can you just past URLs?
09:24
@Sherlock9 70 bytes
Anonymous
Just paste URLs
Anonymous
No Markdown in room descriptions, unfortunately
@flawr Well, at least by now I usually understand the transformations and also do them myself in simple cases.
Hm, I'll have to practice a little bit then:)
@Laikoni Do you mind if I add the tips for golfing in haskell in the room description? (perhpas also pointfree.io?)
@Laikoni Many thanks :D I'm going to write up my answer. Is it alright if in my answer I write the following: Many thanks to Laikoni and flawr for their help in debugging and golfing this answer in the PPCG Haskell chatroom, Of Monads and Men
09:27
@flawr Sure, go ahead.
Anonymous
Credit and advertisement, nice double-whammy
2
room topic changed to Of Monads and Men: For discussion about, learning of and golfing in Haskell codegolf.stackexchange.com/questions/19255/… pointfree.io [haskell]
too bad it doesn't just show the title of the question =/
Anonymous
I thought you actually did it there, and was confused why it didn't change on the side
The Guide to Golfing Rules in Haskell is also a good place to link to.
Oh yeah, is there something else to add?
One could also link these in the description
ok this is strange: I recently pinned this CMS you can still see on the starboard, without actually starring it - now that I've unpinned it it looks like I starred my own message (but cannot unstar it)
and if I try to unstar it it says "you cannot star your own message" as if I haven't starred it yet.
09:32
@Sherlock9 I like that. Also 68 bytes
Anonymous
@flawr Yep, known bug.
Anonymous
As with all chat bugs, it has existed for quite a while, and SE has made no visible effort to fix it or even acknowledge it
@Laikoni Well, I was starting to explain the 70-byte one, but that's gone and confused me
Oh wait
@Mego ok at least it was not me doing something wrong:)
a@(z:_) is just defining a and defining z as the head
09:33
Also shouldn't ROs be able to clear stars?
Anonymous
They should be able to
Anonymous
You use the cancel stars button from the starboard, not unstarring
Ah that was what I was looking for! Thanks a lot!
"Remove the stars against this post."
Anonymous
Glad to help :P
I just added some links to the haskell tag description: codegolf.stackexchange.com/tags/haskell/info
Anonymous
I got to figure all this stuff out by myself when I was added as a TNB RO :P At least you're not having to try to find the button during a star spam wave
Ah, trial by fire
Anonymous
Trial by fire with gasoline
Or since it's stars, perhaps, trial by meteor shower
Anonymous
That's pretty accurate :P
Anonymous
09:41
I can't remember the last time I had to cancel stars, though, so things have gotten better
Anonymous
Either that or I've just gotten luckier and not been around for it
flawr has made a change to the feeds posted into this room
flawr has made a change to the feeds posted into this room
@Feeds Oh, nice.
32
A: Point Free problems in Haskell

luquiConverting to pointfree style can be done entirely mechanically, though it's hard without being comfortable with the fundamentals of Haskell syntax like left-associative function application and x + y being the same as (+) x y. I will assume you are comfortable with Haskell syntax; if not, I sug...

@Laikoni @Mego ^ provides an algorithm for making thins pointless
Anonymous
09:59
@flawr Oh, I'm aware :) pointfree.io (and the pointfree package it uses) uses that algorithm, I believe
Thanks for the link. Reading it now
Did we actually get 5 Haskell questions at once, or is this Feeds trying to catch up?
Anonymous
Probably the latter
Oh no, can I delete these messages somehow?
Anonymous
You can move them to Trash
Anonymous
You might need to get access, though, since it's a gallery room
Anonymous
10:04
I think ArtOfCode is the one to ping
Anonymous
Apparently this guy is the sole RO of Trash, but I think Art used his diamond powers to give the TNB ROs write access so we could move trash there
^ this is what I feel like :D
Anonymous
Too much RO power? :P
10:28
0
A: Tips for golfing in Haskell

flawrConverting to Pointfree Als @Laikoni already mentioned there is pointfree.IO, but if you want to do this conversation manually you can check out this answer on stackoverflow by @luqui, which provides an algorithm: You need the following combinators, which are in the standard library. I hav...

@flawr May edit your post in Haskell tips for clarity?
@Sherlock9 sure!
Done!
 
1 hour later…
11:56
14 messages moved to Trashcan
@flawr I'm not reading the contents of that room this time... It's scary.
Is it possible to trash things as RO?
@flawr It's possible to move things from any room you are RO in to any room you have access to, iirc.
Try moving this message to the Sandbox.
1 message moved to Sandbox
Ah now I see, thanks a lot!
But that should never be done.
Best if we don't tell anyone :)
Thanks a lot for your help!
12:04
It's one of the less important abuses because it's obvious when it's being done.

« first day (5 days earlier)      last day (1958 days later) »