Flow Flashcards

1
Q

Hello everybody

A

not haskell,

side projects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

whole application

A

lots of functions, types, and code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

main goals

A

why bother
explicit
6 months
-> solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Gitlab

A

repo and code reviews

github alternative

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Merge requests

A

corelation
how long vs size
adventurous

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

architecture

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Haskell & Elm

A

prerequisite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

sum3ints

A

-> factorial

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

HTTP Client

A

understand some Haskell

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Haskell Servant

A

takes over HTTP
focus on APIs
exclusively in types

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Merge Request Fetcher

A

detailed architecture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Gitlab API

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

JSON type

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

data type

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

evil smiley face emoticon

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

API type

A

one type

any change makes it a diff type

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

apiQuery

A
  • > first parameter
  • > second parameter
  • > third parameter
  • > last input
  • > return type
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

return type

A

most comlicated type
Merge Requests List
Paged == HTTP Response header with URL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

IO

A

behind the curtains
IO guy grabs our leg
calculated value stays in IO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

IO Side Note

A

-> examples

your code?

21
Q

EitherT

22
Q

client

A

just type so far

23
Q

nicer signature

A

4 params

  • > pagedMergeRequests
  • > AppConfig
24
Q

pagedMergeRequests implementation

A

another small function

25
allMergeRequests
remember EitherT return type
26
allMergeRequests implementation
``` more complicated fetchPage -> the whole do left arrow unpacks nextPage ```
27
the only side effect
get bored
28
Merge Request Fetcher module summary
-
29
allComments
merge request id
30
MergeRequestStats
essential | only two values
31
calculateStats
Maybe context -> doesn’t have any IOs inside -> nice thing pure
32
fetchMRsAndSaveStats
``` connecting the dots do notation -> appConfig env variables -> errorToString any fail stops computation ```
33
serve the stats
surprised that almost the same
34
main
-
35
we did it!
-
36
automatically generate
one type to rule them all
37
frontend
statically typed compiled to JS documentation, compiler errors, fast, streams, types and vdom table with stats refreshed each 5 seconds
38
Elm architecture
-> update given the same model and action returns the same tuple Action is defined by us -> Elm Runtime Actions can be spawned based on Effects like HTTP tasks -> view
39
Elm architecture types
3 puzzles
40
model
lastRefreshTime surprise you | can’t get time
41
Actions
-
42
update
-
43
mergeRequestsFetchEffect
-
44
view
-
45
effects are data
side effects and impurity happen outside
46
our application
-
47
time travel debugger
-
48
Links
-
49
Thank you
hope I got you a little bit excited