<ns12>
However, I find it difficult to write a strongly-typed genetic programming (SGTP) framework in OCaml.
<d_bot>
<orbitz> Do you have any specific questions? I don't know enough about the domain space but perhaps there are specific ocaml issues people here can help you with
<ns12>
Not much at the moment. I am still experimenting to find ways to express SGTP in OCaml. Just wondering if anyone has done this kind of thing before.
Everything has joined #ocaml
Everything has left #ocaml [#ocaml]
bartholin has joined #ocaml
<d_bot>
<Et7f3> Can you show in lisp
<d_bot>
<Butanium (@me on answer)> You just want a module that use a custom reproduction and fitness function right ?
<d_bot>
<Et7f3> If you show us a specific code we can help you translate to idiomatic OCaml
<ns12>
I mean, in OCaml, types are not first class. For example, we can't do "let my_type = int"
<d_bot>
<darrenldl> is the use of the defined operators statically checked? or checked during lisp run time by the relevant operator constructor?
<d_bot>
<darrenldl> if it's latter, then you can just define a custom type for the relevant types, similar to ctypes(?)
<d_bot>
<darrenldl> custom values of some type*
<ns12>
I am thinking of leveraging OCaml's first-class modules. Each type will be its own module.
<octachron>
First-class modules seem to be overkill for a simple DSL? You can define a variant type for binary operators, unary operators and literals.
<octachron>
or use a GADT if you want to have one type for the whole DSL. (or alternatively a tagless-final encoding)
bobo_ has joined #ocaml
spip has quit [Ping timeout: 256 seconds]
<ns12>
octachron: "First-class modules seem to be overkill for a simple DSL" - Yes, you are right. I found out the hard way. :-)
bartholin has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
gravicappa has joined #ocaml
szkl has joined #ocaml
jlrnick has joined #ocaml
Anarchos has joined #ocaml
wyrd_ has quit [Ping timeout: 276 seconds]
bartholin has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
olle has quit [Ping timeout: 250 seconds]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
olle has joined #ocaml
zebrag has joined #ocaml
Anarchos has joined #ocaml
jlrnick has quit [Ping timeout: 252 seconds]
bartholin has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
waleee has joined #ocaml
olle has quit [Ping timeout: 256 seconds]
rgrinberg has joined #ocaml
lyxia has joined #ocaml
<lyxia>
On Windows (cygwin if that matters) how do I launch a process from an executable file, while getting a handle on stdout/stderr? For example I tried Unix.open_process_full "a.native" which fails with "The system cannot execute the specified program."
<lyxia>
the problem seems to be that a.native is a symbolic link...
Anarchos has quit [Quit: Vision[]: i've been blurred!]
bartholin has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
olle has joined #ocaml
gravicappa has quit [Ping timeout: 240 seconds]
<lyxia>
Now i'm looking for a way of following symlinks
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
olle has quit [Ping timeout: 250 seconds]
jlrnick has joined #ocaml
<d_bot>
<Et7f3> which kind of symlink ? a real one or a shortcut
rgrinberg has joined #ocaml
wyrd has joined #ocaml
jlrnick has quit [Ping timeout: 260 seconds]
sheb has joined #ocaml
bartholin has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
pgeorgi has joined #ocaml
wyrd has quit [Remote host closed the connection]
wyrd has joined #ocaml
oriba has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<lyxia>
A real symlink
<d_bot>
<Et7f3> What is full error ? Try the open_process_full_args also
bartholin has quit [Quit: Leaving]
Tuplanolla has quit [Ping timeout: 240 seconds]
<lyxia>
"The system cannot execute the specified program." on stderr of the process
<lyxia>
open_process_full_args gives me an exception Unix_error(_, "create_process", "path/to/a.native")