Keigo Imai

Results 14 comments of Keigo Imai

Thank you for your effort and immediate replies. Now I (partially) understood the problem. I thought that overapplication to a setter should be treated as a type error. But it...

Oh, I didn't know that JavaScript bit operations work in that way! Yes I think that is right. And sorry, for min_float I was wrong, it have the correct value!...

It is also nice to allow as-pattern for non-linear subpattern ```ocaml match%lin exp with | C(V(x,y) as z, #s) -> ... ```

it is much better to first gather the linear variable names in subexpr then generate the context automatically?

```ocaml val map: ('a data lin, 'b data lin, 'pre, 'post) slot -> ('a -> 'b * c) -> ('pre, 'post, 'c) monad ``` would work?

This suffices for multiparty.ml but doesn't work for linlist.ml case (slot content has both Data and Lin). match%lin doesn't work neither since: ```ocaml match%lin (expr1: (?,?,'a linlist_ lin) lin_match) with...

Assume %linget and %linmap: ```ocaml let rec map f s = match%linget s with | x::#s -> map f s >> [%linmap f x:: !!s] | [] -> return ()...

Also, we must check for linear occurrences of lens for %linget and %linmap. Names are also confusing. There already is %lin and %linval (and functions lin and lin_). ```ocaml let%linget...

Writers of rev_map would suffer from obfuscation at [] case: ```ocaml let rev_map f s = let rec loop () = match%linget s with | Cons(x,#s) -> [%linmap Cons(f x,#t)]...

Thank you so much for information. I'll take a look.