Skip to content

Instantly share code, notes, and snippets.

receive (f:fill) {
if (state.cabbage == Client && state.goat == Client) then
{
state.cabbage = Eaten
return
}
if (state.goat == Client && state.wolf == Client) then
{
state.goat = Eaten
return
(* Note: This data is synthetic -- it has been randomly generated for demonstration purposes. *)
let students_csv = {|
Leanne PATEL P1C
Katie GONZALES P3C,Christopher GONZALES P4B
Peter WALLACE P3C
Gordon BUTLER P4B
Craig KELLY P5B,Stuart KELLY P4B,Leanne KELLY P4B
Deborah MORGAN P7C,Martin MORGAN P7C
Gary COOPER P4A
let student_csv_data =
"Rachael GRAHAM,P6A,William GRAHAM,P6A
James BAILEY,P7A,Rachael BAILEY,P7A
Alan FLORES,P6C
Robert GRAHAM,P7A
Thomas PETERSON,P6C
Kenneth PERRY,P6C,Jade PERRY,P5C,Alan PERRY,P4B
Suzanne RAMOS,P5C
Kerry EDWARDS,P5C
Hannah MYERS,P5C,James MYERS,P5C
let class_csv_data =
"P1A,30
P1B,45
P1C,30
P2A,30
P2B,30
P2C,30
P3A,30
P3B,30
let keyworkers_csv_data =
"0,A
1,A
15,B
23,B
34,C
45,B
57,A";;
import FIX_4_4
@encoding: char
enum act {
Pick "p"
Drop "d"
SwapTransit "s"
}
@encoding: char
enum location {
Exchange
Client
Transit
Eaten
}
internal state {
assignable{
act : act
obj :? obj
action fill {
obj :?obj
act : act
validate{!state.cabbage == Eaten && !state.goat == Eaten}
validate{this.act == SwapTransit <==> !present(this.obj)}
validate{state.transit == Exchange}
}
8=FIX.4.4|9=48|35=D|34=0|49=C|56=S|52=20180412-13:44:00|2002=s|10=038|
8=FIX.4.4|9=55|35=8|34=1|49=S|56=C|52=20180412-13:44:01|2001=g|2002=p|10=127|
8=FIX.4.4|9=48|35=8|34=2|49=S|56=C|52=20180412-13:44:02|2002=s|10=030|
8=FIX.4.4|9=55|35=D|34=3|49=C|56=S|52=20180412-13:44:03|2001=g|2002=d|10=131|
8=FIX.4.4|9=48|35=D|34=4|49=C|56=S|52=20180412-13:44:04|2002=s|10=046|
8=FIX.4.4|9=55|35=8|34=5|49=S|56=C|52=20180412-13:44:05|2001=w|2002=p|10=151|
8=FIX.4.4|9=48|35=8|34=6|49=S|56=C|52=20180412-13:44:06|2002=s|10=038|
8=FIX.4.4|9=55|35=D|34=7|49=C|56=S|52=20180412-13:44:07|2001=w|2002=d|10=155|
8=FIX.4.4|9=55|35=D|34=8|49=C|56=S|52=20180412-13:44:08|2001=g|2002=p|10=153|
8=FIX.4.4|9=48|35=D|34=9|49=C|56=S|52=20180412-13:44:09|2002=s|10=056|

Keybase proof

I hereby claim:

  • I am ewenmaclean on github.
  • I am ewenmaclean (https://keybase.io/ewenmaclean) on keybase.
  • I have a public key ASAG2WOioYwzccNCa5_HaQ_We61USvANtxD1P7mH74SlSwo

To claim this, I am signing this object: