runtimeverification / k

K Framework Tools 7.0
BSD 3-Clause "New" or "Revised" License
452 stars 149 forks source link

Clarity on tutorial lessons #2033

Open ehildenb opened 3 years ago

ehildenb commented 3 years ago

Issues found by the folks going through the tutorial. I short check-list is provided here, more details for each issues are provided in comments.

@dwightguth I've gone through and put (in bold following each bullet point) the things to check for that bullet point.

geo2a commented 3 years ago

Notes

ehildenb commented 3 years ago

You need to kompile --enable-search --backend llvm to have the binary generated that will do a search on LLVM backend. This should be made clearer.

rybla commented 3 years ago

Some minor notes:

JKTKops commented 3 years ago
RaoulSchaffranek commented 3 years ago

Here are some more typos and minor issues I spotted. These are rather low-hanging fruits. I will prepare a PR.

What I really like about the tutorial is that it often introduces a topic from the bottom up and then shows how to simplify things. This is, for example, how evaluation orders are introduced. It is much more rewarding for the reader than first presenting the "simple" bits and then claiming, "but wait, there are more complicated cases, and you also need to know about these things under the hood."

SchmErik commented 3 years ago

I submitted https://github.com/kframework/k/pull/2087

I took some notes but I see that a lot of them have been mentioned previously. The only one I have is this:

spencerhaoxiao commented 3 years ago
calin1304 commented 3 years ago
mcalancea commented 3 years ago

I enjoyed working through the tutorial and look forward to keeping up with the lessons. Big thanks to everyone developing it!

anvacaru commented 3 years ago
andreiburdusa commented 3 years ago
IljaZakharov commented 2 years ago

I appreciate the developers of the tutorial and all contributors to it. It is a straightforward and perfect introduction to K. The first part is pretty simple, and the second one is a bit more difficult. I have the following notes and proposals for the tutorial:

syntax Stmt ::= "{" Stmt "}" [color(red), format(%1%i%n%2%d%n%3)] 
                | "{" "}" [color(red), format(%1%2)]
                > right:
                  Stmt Stmt [format(%1%n%2)]
                | "if" "(" Bool ")" Stmt [colors(blue,red,yellow,red), format(%1 %2%c%3%4 %5)]
                | "if" "(" Bool Bool ")" Stmt "else" Stmt [avoid, colors(blue,red,yellow,red,blue), format(%1 %2%c%3 %r%4%5 %6 %7 %8)]
endmodule
lisandrasilva commented 2 years ago

Thanks for this tutorial, it was really helpful to understand the basics of K. Following are some tips that might help on improving it.

yanliu18 commented 2 years ago

Thanks for the tutorial! It was fun going through them, playing/ experimenting K features with toy examples and incrementally building up bigger codes. Here are some issues or confusions I have run to. Hope they will be helpful for the others.

PetarMax commented 2 years ago
charala1 commented 2 years ago
ovatman commented 2 years ago
fiedlr commented 2 years ago

Thanks for the tutorial, it's a great piece of writing for the fact that K is not the easiest thing to learn. A couple of thoughts:

jinxinglim commented 2 years ago

Lesson 1:

Lesson 13:

Lesson 16:

Lesson 19:

Lesson 22:

ehildenb commented 1 year ago

From sonzu on Discord:

sonzu-prog commented 1 year ago
Robertorosmaninho commented 1 year ago
Sta1400 commented 1 year ago
radumereuta commented 1 year ago
Scott-Guest commented 1 year ago