Deep Work Tips and Tricks? Pomodoro is also great, I struggle to stick with it for an entire day, but I use it from time to time, especially when I'm feeling super impulsive/distracted.It uses the Pomodoro Method of timers but is also adjustable, and was one of the only things that got me through my class work last semester! Great for overcoming that “freeze state” that I experience often with my ADHD, and for not losing track of time on my breaks. What resources do you wish your psychiatrist knew about? One online tool I’ve found helpful is the website.
Similar to time boxing, using the Pomodoro approach lets you get as much done as you can in the 25-minutes at full focus, with a 5-minute break before you move on to the next item.
If that's an issue, you'll need to handle that by adding more equations.Īlternatively, one can shorten the code using an as-pattern: leftMost :: FocusList a -> FocusList a Note that the code above will crash if the backward part is empty. The pattern only matches lists with a single item. if there's only one backward item, leave the list as it is If you instead use pattern matching, in this case you only pay a O(1) cost.Ī simple approach is to use two equations, which are tried one after the other one.
How do I make it logically recursive?ĭon't use length, it costs O(N) since it has to scan the whole list. It uses leftMost :: FocusList a -> FocusList a leftMost (FocusList fw (f:bw)) = if (length (FocusList fw) = 1) I was thinking of using a recursive if statement until the length of the first list equals to one. I want to use goLeft until the length of the list is 1. If I were to shift it all the way to the left. GoLeft (FocusList fw (f:bw)) = FocusList (f:fw) bw ToList (FocusList fw bw) = reverse bw ++ fwĪnd one that shifts it to left once, changes to which now looks like as focuslist: goLeft :: FocusList a -> FocusList a One that changes it back to a list from a focuslist: toList :: FocusList a -> With which you can call it by using fromList :: -> FocusList a I've already made three specific functions.ĭata FocusList a = FocusList If you want to make a focuslist of, and want a focus on 3, The focuslist will be. What I want to do is make a Focuslist that shifts the focus to the most left item.įocuslists are already quite tricky, essentially being two independent lists.Īnd it also splits the whole list in half, and reverses the back list.įor instance. Now I'm (think) having problems with understanding if statements. Using lists to create a ton of fun things. I'm currently practicing Haskell in a number of ways.