← Back to context

Comment by greener_grass

11 hours ago

This is what F# provides.

F# has a similar whitespace syntax to Python, but is statically typed and can be compiled AoT.

Bubble sort Python:

    mylist = [64, 34, 25, 12, 22, 11, 90, 5]

    n = len(mylist)
    for i in range(n-1):
      for j in range(n-i-1):
        if mylist[j] > mylist[j+1]:
          mylist[j], mylist[j+1] = mylist[j+1], mylist[j]

    print(mylist)


Bubble sort F#:

    let mylist = ResizeArray [ 64; 34; 25; 12; 22; 11; 90; 5 ]

    let n = Seq.length mylist
    for i = 0 to n - 2 do
      for j = 0 to n - i - 2 do
        if mylist[j] > mylist[j + 1] then
          let temp = mylist[j]
          mylist[j] <- mylist[j + 1]
          mylist[j + 1] <- temp

    printfn "%A" mylist

Nim:

  var mylist = [64, 34, 25, 12, 22, 11, 90, 5]

  let n = mylist.len
  for i in 0..n-2:
    for j in 0..n-i-2:
      if mylist[j] > mylist[j + 1]:
        swap(mylist[j], mylist[j + 1])

  echo mylist