Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: hsk/camlup

version 0.0.6 release

11 Nov 14:09
@hsk hsk

Choose a tag to compare

  • オブジェクト指向の機能追加

mutableなメンバ変数を#で、privateなメソッドを~で、publicなメソッドを+で指定出来るようになりました。また、自分自身はthisでアクセスします。:>を使ってキャストします。

enemy class (x:float y:float) {
  // mutable variable
  # x = x
  # y = y
  // private method
  ~ incx = x <- x +. 1.0
  ~ incy = y <- y +. 1.0
  // public method
  + move = {
    this->incx
    this->incy
  }
  + draw = {
    printf("enemy %f %f\n" x y)
  }
}

enemy2 class (x:float y:float) {
  # x = x
  # y = y
  + move = y <- y +. 100.0
  + draw = {
    printf("enemy %f %f\n" x y)
  }
}

_ = {
  es = [
    new enemy(10.0 20.0)
    new enemy2(10.0 20.0) :> enemy
  ]
  List.iter{|e=> e->move; e->draw }(es)
}
  • js_of_ocaml対応

js_of_ocamlを使用する事で、javascriptを生成する事が出来ます。
js_of_ocamlの演算子##が追加してあります。

  • js_of_ocaml対応に伴って、

    add(a,b) = a + b

形式の関数が動くようになりました。

Camlup 0.0.5 release

03 Nov 12:15
@hsk hsk

Choose a tag to compare

  • windows バイナリビルド漏れ対応

今後気を付けます。

  • 名前をnewcamlからcamlupに変更
  • -p オプションで構文木出力
  • x,y = 1,2の対応時のバグ解消
  • matchの複数|対応

以下の式が通るようになりました。

value match {
  | 0
  | 1
  | 2 -> 0
  | n -> n
}
  • ネストしたtupleの対応

以下の式が通るようになりました。

x,y = (1,2),(3,4)
  • examples/lablgl/points.nml のサンプルが動作するようになりました。

NewML 0.0.3 Release

02 Nov 00:22
@hsk hsk

Choose a tag to compare

NewML 0.0.3 2014.11.02

  • moduleのMapファンクタの生成に対応
    詳しくはチュートリアルを参照してください。
  • コメント後にパースエラーになってしまう不具合対策
  • モジュールドキュメントの追加
  • 文字列内のエスケープ文字対応
  • 前置 -. 演算子の追加
  • []演算子の優先順位の変更
  • レコード定義の;(改行)対応
  • 2進数、8進数、16進数のリテラル追加

match の as 対応と-vオプションの追加

31 Oct 09:13
@hsk hsk

Choose a tag to compare

match式のasに対応

以下のようにmatch式のasに対応しました。

match_as = {
  x = ("add", 1, 2) match {
    | ("add" as id, a, b) =>
      printf("%s" id)
      a + b
    | (id,a,b) => a + b
  }
  printf("add 1 + 2 = %d\n" x)
}

詳しくはチュートリアルを参照してください

nmlcコマンドに-vオプションを追加

nmlcコマンドに-vオプションを追加しました。
-vオプションを使うとバージョンを確認出来ます。

以下のように、-vを付けてnmlcを実行すると

$ nmlc -v
NewMLComiler 0.0.2

と表示されます。

first release

30 Oct 16:00
@hsk hsk

Choose a tag to compare

最初のリリース