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

A

-

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
Q

allMergeRequests

A

remember EitherT return type

26
Q

allMergeRequests implementation

A
more complicated
fetchPage
-> the whole do
left arrow unpacks
nextPage
27
Q

the only side effect

A

get bored

28
Q

Merge Request Fetcher module summary

A

-

29
Q

allComments

A

merge request id

30
Q

MergeRequestStats

A

essential

only two values

31
Q

calculateStats

A

Maybe context
-> doesn’t have any IOs inside
-> nice thing
pure

32
Q

fetchMRsAndSaveStats

A
connecting the dots
do notation
-> appConfig
env variables
-> errorToString
any fail stops computation
33
Q

serve the stats

A

surprised that almost the same

34
Q

main

A

-

35
Q

we did it!

A

-

36
Q

automatically generate

A

one type to rule them all

37
Q

frontend

A

statically typed
compiled to JS
documentation, compiler errors, fast, streams, types and vdom
table with stats refreshed each 5 seconds

38
Q

Elm architecture

A

-> 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
Q

Elm architecture types

A

3 puzzles

40
Q

model

A

lastRefreshTime surprise you

can’t get time

41
Q

Actions

A

-

42
Q

update

A

-

43
Q

mergeRequestsFetchEffect

A

-

44
Q

view

A

-

45
Q

effects are data

A

side effects and impurity happen outside

46
Q

our application

A

-

47
Q

time travel debugger

A

-

48
Q

Links

A

-

49
Q

Thank you

A

hope I got you a little bit excited