Yoric[DT] has quit [Read error: 110 (Connection timed out)]
<jeff_s_>
"[..] Character set. Ranges are denoted with -, as in [a-z]. An initial ^, as in [^0-9], complements the set. To include a ] character in a set, make it the first character of the set."
<jeff_s_>
What if I want "[^]]" ?
_JFT_ has joined #ocaml
alexyk has quit []
<jeff_s_>
if I never use the words "Some", "None", and "option", how is the type checker inferring char option ><
<jeff_s_>
figured it out
_JFT_ has quit []
eevar has quit [Read error: 104 (Connection reset by peer)]
alexyk has joined #ocaml
Ched has quit [Read error: 60 (Operation timed out)]
travisbrady has quit []
<break_>
what does the +> operator do?
sbok has joined #ocaml
Lomono_ has joined #ocaml
Lomono_ has quit [Client Quit]
Lomono_ has joined #ocaml
Ched has joined #ocaml
Lomono has quit [Read error: 113 (No route to host)]
Associat0r has joined #ocaml
frew|work has joined #ocaml
frew|work is now known as frew
travisbrady has joined #ocaml
<jeff_s_>
+> operator?
<break_>
hmm yeah guess it doesn't exist
<break_>
i see it used here: Common.cat tmpfile +> List.iter pr2;
<break_>
where it seems to be taking the place of a shell redirect
_JFT_ has joined #ocaml
<julm>
break_: try to grep for its definition with something like [grep "let (+>)" *.ml]
<break_>
aha let (+>) o f = f o
<break_>
i thought it might've been a standard one, i'll know better next time
_JFT_ has quit []
jeddhaberstro has quit []
<thelema>
break: most people use |> for that
seafood_ has joined #ocaml
Nynix has joined #ocaml
seafood_ has quit [Read error: 104 (Connection reset by peer)]
seafood has joined #ocaml
Camarade_Tux has joined #ocaml
<travisbrady>
what's the standard way to return an error? Option? is there an Either ala Haskell?
<tsuyoshi>
either option or raising an exception
<palomer>
does ocaml have operator constructors?
<flux>
no.
Associat0r has quit []
Snark has joined #ocaml
<mrvn>
let (++) x y = `Plus(x,y)
<mrvn>
palomer: that?
alexyk has quit []
<palomer>
that's not a constructor!
<kaustuv>
There is one infix constructor (::), but it is treated specially in the grammar. There is no way to define new infix constructors.
<kaustuv>
(Note: You can redefine (::), but it must take two arguments.)
<Camarade_Tux>
redefining :: would be evil ;)
<mrvn>
# let (::) a b = a::b;;
<mrvn>
Error: Syntax error
<mrvn>
kaustuv: you can?
alexyk has joined #ocaml
frew has quit [Read error: 113 (No route to host)]
julm has quit [Read error: 60 (Operation timed out)]
<palomer>
do you guys call # pound or hash?
<Camarade_Tux>
'sharp'
Camarade_Tux has quit ["Leaving"]
julm has joined #ocaml
<palomer>
oh boy
* palomer
is off to bed
jm has joined #ocaml
<tsuyoshi>
I call it pound
julm has quit [Read error: 60 (Operation timed out)]
<mrvn>
pound is the english pound sign. So hash for #
ikaros has joined #ocaml
alexyk has quit []
<kaustuv>
mrvn: type 'a t = (::) of 'a t * 'a | Nil ;;
<flux>
kaustuv, syntax error?
<kaustuv>
Hmm, one sec. I need to dig up the corner case again.
<mrvn>
# type 'a t = :: of 'a t * 'a | Nil ;;
<kaustuv>
ah, right
<mrvn>
and type 'a t = :: of 'a * 'a t | Nil ;;
<mrvn>
or do you want Nil::1::2::3?
<kaustuv>
well, you asked how to redefine ::
<mrvn>
just saying
Mr_Awesome has joined #ocaml
<kaustuv>
the fun happens if you do: type t = :: of int
<kaustuv>
then try to write the function of type t -> int equivalent to %field0 by pattern matching
<mrvn>
match a with 1:: -> () ?
<mrvn>
# let (+) x = x;;
<mrvn>
val ( + ) : 'a -> 'a = <fun>
<mrvn>
# 1 +;;
<mrvn>
Error: Syntax error
<mrvn>
Same problem as with operators.
<kaustuv>
Operators don't allow pattern matching. The point here is that the only pattern for :: is the exact sequence ( :: ) ( <exp> , <exp> )
<kaustuv>
err, <pat> instead of <exp> there
<mrvn>
My point was that the number of arguments is hardcoded in the grammar.
<kaustuv>
And mine is that you can write algebraic datatypes in OCaml that cannot be destructured.
seafood has quit []
eevar2 has joined #ocaml
ikaros has quit [Read error: 54 (Connection reset by peer)]
ikaros has joined #ocaml
eevar2__ has joined #ocaml
petchema has quit [Remote closed the connection]
ikaros has quit ["Leave the magic to Houdini"]
eevar2 has quit [Read error: 110 (Connection timed out)]
barismetin has joined #ocaml
hkBst has joined #ocaml
gim has quit []
gim has joined #ocaml
gim has quit [Remote closed the connection]
gim has joined #ocaml
itewsh has joined #ocaml
youscef has joined #ocaml
itewsh has quit ["There are only 10 kinds of people: those who understand binary and those who don't"]
jm has quit [Read error: 113 (No route to host)]
Yoric[DT] has joined #ocaml
jeanbon has joined #ocaml
xevz has quit [Remote closed the connection]
xevz has joined #ocaml
sgnb has quit ["leaving"]
sgnb has joined #ocaml
Spiwack has joined #ocaml
travisbrady has quit [Read error: 104 (Connection reset by peer)]
travisbrady has joined #ocaml
rwmjones has quit [Read error: 110 (Connection timed out)]
rwmjones has joined #ocaml
itewsh has joined #ocaml
Associat0r has joined #ocaml
delroth has quit [Read error: 110 (Connection timed out)]
jeanbon has quit ["some random shit"]
Nynix has quit [Read error: 113 (No route to host)]
itewsh has quit [Read error: 60 (Operation timed out)]
itewsh has joined #ocaml
Axioplas1 has joined #ocaml
Yoric[DT] has quit ["Ex-Chat"]
_andre has joined #ocaml
eevar2__ has quit [Remote closed the connection]
eevar2 has joined #ocaml
break_ has quit [Read error: 110 (Connection timed out)]
travisbrady has quit [Read error: 104 (Connection reset by peer)]
travisbrady has joined #ocaml
<thelema>
kaustuv: what's this about no infix constructors? |> is infix
<thelema>
oh, *constructor*
<thelema>
n/m
itewsh has quit [Read error: 110 (Connection timed out)]
itewsh has joined #ocaml
<Spiwack>
There is an infix constructor
<Spiwack>
it's ::
<Spiwack>
As far as I'm aware it's the only one.
<Spiwack>
(but you can overide it :) )
<thelema>
yup. special spot in the parser for it and it alone.
<thelema>
even after parroting "infix constructor", I was still thinking the rules for associativity / infix / prefix
ikaros has joined #ocaml
itewsh has quit [Read error: 110 (Connection timed out)]
itewsh has joined #ocaml
travisbrady_ has joined #ocaml
travisbrady has quit [Read error: 104 (Connection reset by peer)]
acatout has quit [hubbard.freenode.net irc.freenode.net]
mishok13 has quit [hubbard.freenode.net irc.freenode.net]
tomaw has quit [hubbard.freenode.net irc.freenode.net]
ski__ has quit [hubbard.freenode.net irc.freenode.net]
ski__ has joined #ocaml
delroth has joined #ocaml
acatout has joined #ocaml
bombshelter13_ has joined #ocaml
Snark has quit [Read error: 113 (No route to host)]
Snark has joined #ocaml
Snark has quit [Read error: 104 (Connection reset by peer)]
<julm>
Rule 2 Local variables of type value must be declared with one of the CAMLlocal macros. Arrays of values are declared with CAMLlocalN. These macros must be used at the beginning of the function, not in a nested block.
<julm>
and I think you do not need to use CAMLlocal on [m] because it becomes a field of [img] so that [m] becomes reachable through [img] and thus won't be collected by the GC
alexyk has quit []
<itewsh>
julm: hmm ok, thanks (one more time!)
<mrvn>
But it might get moved
<mrvn>
(although not in this case)
eevar2 has quit ["This computer has gone to sleep"]
itewsh has quit [Read error: 60 (Operation timed out)]
<flux>
kaustuv, now all we need is a graphical toplevel that can embed those pretty pictures..
<chupish>
ala DrOcaml
<kaustuv>
if we wanted a pedagogical tool, we should fork the ocaml bytecode interpreter to add run time type information
<mrvn>
the toplevel pretty printer has more infos than Obj... Would be nice to interface with that.
<kaustuv>
It has the type, yes.
<chupish>
I don't think DrScheme is merely pedagogical, and I was referring to the various tools included therein
<flux>
a navigateable graph of all the heap would be interesting :)
<flux>
with type information, no less
<chupish>
very
<flux>
add some search facilities there and you've got a memory profiler tool right there
<Camarade_Tux>
I've used oshow to get some memory profiling :)
<kaustuv>
there's a jssoc project that might produce something like that
<break>
if i run: (ocaml -I foopath) and foopath/bar.cmo exists, the Bar module should be available, yes?
alexyk has joined #ocaml
<flux>
depends what you mean
<jeff_s_>
no, just the header information
<flux>
the interface is available if file bar.cmi is found from foopath
travisbrady has joined #ocaml
alexyk has quit [Client Quit]
<break>
ah, foopath/bar.cmi is there too
<flux>
the values from the module are available if you link the .cmo-file in (for instance by using #load in the toplevel)
<break>
ocaml does not automatically try and resolve modules it doesn't know about?
mishok13 has quit ["Stopping IRC chat... [OK]"]
<kaustuv>
there is very very little the ocaml toplevel does automatically. Generally you want #use "topfind" ;;
<kaustuv>
or better yet: % rlwrap ocamlfind batteries/ocaml
<jeff_s_>
one thing you can do if you find yourself using a toplevel and loading the same libraries all the time is use ocamlmktop. That or use a little shell script to link them for you
<flux>
just put the stuff in ~/.ocamlinit :)
jeanbon has quit ["EOF"]
<kaustuv>
ocamlmktop would be a hundred times better if it hardcoded the directories
<jeff_s_>
?
barismetin has quit [Remote closed the connection]
itewsh has quit [Connection timed out]
<kaustuv>
an ocamlmktop'd toplevel still needs to be told where the .cmis are
<jeff_s_>
hm, I haven't run across that
itewsh has joined #ocaml
<break>
so (ocaml -I foo bar.ml) and having "open Baz" in bar.ml will not load foo/baz.cm[io]?
<kaustuv>
break: no. Use flux's suggestion of writing a .ocamlinit. Add in it things like #directory "foo" ;; #load "baz.cmo" ;; etc.
<break>
wow, ok. writing an auto-loader sounds like a good first project :/
<break>
ocaml seems very well designed, thought out and implememented. am i missing some reason why such a feature is not available?
<flux>
break, well, if you have open Baz in a file, its scope is that file
<kaustuv>
One main reason is that there are no types in the .cmo files. Name resolution in the toplevel follows some seriously arcane rules.
<flux>
oh, right, you were talking about auto loader, I misunderstood
<flux>
I don't see why an autoloader would be impossible to implement. that is sort of what ocamlbuild already does.
<flux>
although not even ocamlbuild can automatically infer which packages I need. could be in TODO, though :)
<jeff_s_>
if you have a cmo file, how would you know what libraries it depends on?
<flux>
(it'd need some index on installed packages to make it fast, though)
<flux>
jeff_s_, find which libraries provide those modules
<flux>
(the modules it refers to)
<flux>
there might be ambiguities, though
<jeff_s_>
I guess as long as a cmo has that info in it.
<flux>
but most of the time - wouldn't it Just Work?
<flux>
for example gtk has submodules, that could be a problem
<break>
i thought you could catch an exception, and based on the name of what you were trying to access, you could search for a matching module within your path
<break>
but i don't know much about ocaml, so maybe that is impossible or stupid
<jeff_s_>
not stupid, maybe impossible
<flux>
break, it's a compile error, so there are no exceptions that that stage
<flux>
s/that/at/
psnively has joined #ocaml
<break>
do people use the toplevel a lot, or mostly just edit/compile/run?
<psnively>
I use the toploop, but via Tuareg Mode in EMACS, so it's actually a little of both.
<kaustuv>
I used to use it a lot but grew out of it. C-c C-t does everything I need.
<psnively>
In particular, I use omake -P to keep my binaries up-to-date with respect to my buffers.
<flux>
I use it for testing, often when writing small functions
<psnively>
So I can type something in, try it out in the toploop with a keystroke, save it, and boom: done.
<psnively>
omake is the only one worth using, though. ;-)
<Spiwack>
ocamlbuild is cool
<kaustuv>
but how would you build omake assuming you didn't already have it?
<psnively>
omake bootstraps itself.
<psnively>
I build each new release from source.
Camarade_Tux_ has joined #ocaml
<kaustuv>
ocamlbuild is cool in much the same way that dental surgery is cool
<psnively>
LOL
<psnively>
I just don't care for it, and had already learned omake, so.
<Spiwack>
Well, the good point about ocamlbuild is that it's configured in ocaml
<Spiwack>
The bad thing is the obvious lack of taskforce behind it.
<break>
is there any way to catch "Error: Unbound value Foo.bar"? Sys_error doesn't seem to do it
<Spiwack>
That sounds like a compiler error.
<psnively>
Spiwack: I don't see that as a positive, but I understand that other people do.
<Spiwack>
You might catch it if you patch the compiler.
<break>
hmm
<kaustuv>
Ocamlbuild is good in theory. In practice it's an undocumented minefield. And I still haven't figured out how to have my myocamlbuild.ml use str.cma
<Spiwack>
Yes, lack of taskforce...
<Spiwack>
So there is a way for that
<Spiwack>
But it's tricky
<Spiwack>
the idea is used in the ocaml source on the ocamlbuild chain
<Spiwack>
you do your stuff in two steps
<Spiwack>
Mmm...
<Spiwack>
Actually there might be issues
<Spiwack>
But here is the general scheme : build your plugin.cmo using ocamlbuild.
<psnively>
Solution: don't use ocamlbuild. ;-)
<Spiwack>
The use the option which allows you to skip plugin compilation
chupish has left #ocaml []
<flux>
ocamlbuild works great once you get the ocamlfind integration for it ;)
<Spiwack>
(in between you rename your plugin.cmo as ocamlbuild.cmo)
<kaustuv>
(Also, I find it weird that the ocamlbuild wiki doesn't allow editing. Sometimes OCaml's cathedralness seems rather self-defeating.)
<Spiwack>
I can edit ocamlbuild wiki
<flux>
break, you can differentiate compiler errors from runtime errors by compiling your source separately (ocamlc -c foo.ml)
<Spiwack>
You need to be registered, which you get by sending a mail
<Spiwack>
(yes I agree it's overkill)
<flux>
break, obviously if it outputs something during that stage, you code (catching it) will never be even executed
<travisbrady>
is there an ocaml equivalent to Haskell's cabal? I'd like to release some code but I'm not sure how these things are done in OCaml-land
<psnively>
travisbrady: GODI?
Camarade_Tux__ has joined #ocaml
<Spiwack>
GODI+ocamlforge sounds right
<flux>
travisbrady, the closest thing we have are GODI, and something you should support anyway is ocamlfind
<flux>
+is
<travisbrady>
ok, i'll check out godi. how exactly does one supper ocamlfind?
<travisbrady>
support rather
<psnively>
travisbrady: mostly, you write a META file.
<flux>
travisbrady, write a META file and have a rule that uses ocamlfind install installing it
<travisbrady>
oh my, there really are a lot of choices
alexyk has joined #ocaml
<kaustuv>
While you're making your choice, be sure to enjoy the smooth refreshing taste of batteries included
<travisbrady>
haha
<psnively>
Sorry, we're all over the map here:
Camarade_Tux has quit [Read error: 110 (Connection timed out)]
<psnively>
ocamlfind is a great "How do I make sure all of the modules I need are used in the build?" tool.
<psnively>
GODI is a great package manager that relies on ocamlfind support.
<psnively>
ocamlforge is a great site that GODI looks for packages on.
<flux>
I think the greatest downside of GODI is that it is its own ecosystem. you cannot use it with your distribution ocaml.
<flux>
well, that and that it's damn slow :P
<psnively>
omake is a great build tool, for OCaml and other languages. In particular, it can run continuously and get notifications from the filesystem as to when something changed, and (re)start the build.
<travisbrady>
what would be the simplest approach?
<Camarade_Tux__>
flux, I'm starting to get really puzzled by godi's slowness, how can it be slow with <200 packages ?
<psnively>
flux: get GODI into your distribution, then. ;-)
<psnively>
travisbrady: simplest approach to what?
<kaustuv>
flux: all language-specific packaging systems have that problem. CPAN, ruby gems, cabal, whatever
<flux>
psnively, see, that's not really the winning strategy, because that's unlikely to happen :)
alexyk has quit [Client Quit]
<flux>
kaustuv, well, I've used CPAN with great success in debian, redhat, solaris, etc systems
<flux>
with GODI that's (AFAIK) simply impossible
<flux>
without installing CPAN perl
<psnively>
flux: Another reason I'm glad I'm a Mac OS X user... we have to install it ALL from source! ;-)
<flux>
also I doubt cabal requires you to install ghc from cabal, but I could be wrong as I don't know the system
<psnively>
It doesn't.
Alpounet has joined #ocaml
<flux>
GODI actually patches the compiler, doesn't it? some linking stuff
<psnively>
Not that I'm aware of. But I could be mistaken.
<flux>
but, I'm off to bicycle my way home, keep up the discussion! ;-)
<travisbrady>
psnively: distributing a library, i'm a little confused by the talk of omake, ocamlfind, godi, etc.
<psnively>
If you have hosting and don't care how you actually compile it, then just ocamlfind is fine. Write a META file, put it in your archive, done.
Camarade_Tux_ has quit [Read error: 110 (Connection timed out)]
<travisbrady>
oh ok, that sounds easy enough. is there any planned cabal style thing for OCaml? doing "cabal install blah" is very nice
<psnively>
That's GODI.
<kaustuv>
does godi have a command line installer? I don't care for its UI
<Spiwack>
I know only of the curl thing
<Spiwack>
But there is a bootstrap cycle
<hcarty>
kaustuv: It does
<Spiwack>
in which it uses itself without curl
itewsh has quit [Read error: 110 (Connection timed out)]
<psnively>
kaustuv: yes.
<hcarty>
kaustuv: It still needs a proper GODI install, but from what I understand you can do anything from the command line that you can do from godi_console
itewsh has joined #ocaml
<psnively>
IIRC, you can use godi_console without the GUI.
<Camarade_Tux__>
kaustuv, yeah, you can automate godi (I've done it)
<kaustuv>
Interesting...
Nynix_ has joined #ocaml
<Camarade_Tux__>
I have the syntax... somewhere
<kaustuv>
It's OK, I found it.
<Camarade_Tux__>
=
<Camarade_Tux__>
=)
Nynix has quit [Read error: 110 (Connection timed out)]
Yoric[DT] has joined #ocaml
<Yoric[DT]>
hi again
<hcarty>
Hello
<hcarty>
Yoric[DT]: How is the new job?
<Yoric[DT]>
How do you do?
<Yoric[DT]>
Exhausting :)
<Yoric[DT]>
But I love it.
<hcarty>
I'm doing well, thanks. Glad to hear that you like the job.
<Yoric[DT]>
Juggling with functional programming, concurrent programming, distributed programming, library design, UI design, type systems, etc. is fun.
<Yoric[DT]>
Well, less of UI design.
<hcarty>
Is that all part of your work on OPA? Or multiple projects?
<Yoric[DT]>
All part of the work on OPA.
<Yoric[DT]>
I'm not doing everything myself, far from it, but I'm interacting with people working on all these things.
pants1 has quit [Read error: 110 (Connection timed out)]
<Spiwack>
Interaction? Nah... Sounds awful!
ReinH has left #ocaml []
<Yoric[DT]>
I didn't say intercourse :)
<Spiwack>
Intercourse is the bright side of interaction, ain't it?
<Yoric[DT]>
Possibly.
<jeff_s_>
not usually
<Yoric[DT]>
Or perhaps the dark side.
sombriks has joined #ocaml
mbishop_ has joined #ocaml
mbishop has quit [Read error: 110 (Connection timed out)]
<sombriks>
hi comeone can give me some advice about to build the oscigen webserver? i'm trying to bring ocaml and everything from source
<Spiwack>
I usually use GODI, otherwise it's really painful
<Spiwack>
(and even so, it takes some effort)
<sombriks>
Spiwack, so i get comal from inria and then use GODI for the rest? will try it, ty.
itewsh has quit [Read error: 110 (Connection timed out)]
<Spiwack>
well
<sombriks>
but in some moment i'l try to emerge it on windows, o_o
<Spiwack>
GODI does everything
<Spiwack>
including building ocaml
<Spiwack>
(it cannot be interfaced with an already installed caml for some reason)
itewsh has joined #ocaml
<Spiwack>
If you want to play with these on windows it might be much more painful
<sombriks>
ya i do know. on my slack box i got ocaml itself and some modules up and runnig
<sombriks>
at some moment some sources came to me outated
<sombriks>
i'll try godi for now
<Yoric[DT]>
GODI is usually good.
* Camarade_Tux__
started again with mingw-w64 to get a win build
Camarade_Tux__ is now known as Camarade_Tux
alexyk has joined #ocaml
<hcarty>
kaustuv: I'm chatting with some folks in #cairo now about getting everything finalized for an official git repository to continue the OCaml binding upkeep
monadic_kid has joined #ocaml
<Yoric[DT]>
Yeah
<Yoric[DT]>
That would be nice.
Camarade_Tux has quit [Read error: 110 (Connection timed out)]
<hcarty>
Does anyone know Chris King's contact information? I think the FrGui library would make a nice project for newhope.
<hcarty>
It seems unmaintained since the 2007 OSP
Spiwack has quit ["Leaving"]
<Yoric[DT]>
Also sounds like a very good idea.
<Yoric[DT]>
I believe that someone took over FrGUI, though.
<Yoric[DT]>
As a google project.
<hcarty>
Yoric[DT]: Oh, cool. Thanks, I'll take a look.
Amorphous has quit [Read error: 110 (Connection timed out)]
<hcarty>
The OSP version works without a syntax extension. I'm not sure which is more complete or the better one to pick up.
<Yoric[DT]>
ah, ok
Camarade_Tux has joined #ocaml
frew_ has joined #ocaml
monadic_kid has quit ["Leaving"]
Amorphous has joined #ocaml
<hcarty>
kaustuv: Do you mind if I Cc: you on an email to the current author of the Cairo bindings?
itewsh has quit [Connection timed out]
itewsh has joined #ocaml
Camarade_Tux has quit [Remote closed the connection]
itewsh has quit [Read error: 60 (Operation timed out)]
Camarade_Tux has joined #ocaml
itewsh has joined #ocaml
<hcarty>
Alpounet: If Chris King is not planning to continue maintenance of FrGui and is ok with someone else continuing it then I will start it up under newhope
<Alpounet>
oh, fine !
<Yoric[DT]>
great
frew_ has quit [Read error: 113 (No route to host)]
<hcarty>
I'll ask his (Chris) opinion regarding which version of the library would be better suited for future development
Cafuneba has quit []
Yoric[DT] has quit [Read error: 60 (Operation timed out)]
prime2 has joined #ocaml
itewsh has quit [Read error: 110 (Connection timed out)]
prime2 has quit ["leaving"]
<psnively>
I think there's a newer FRP library that might be worth exploring.
Camarade_Tux has quit [Remote closed the connection]
slash_ has joined #ocaml
Camarade_Tux has joined #ocaml
<hcarty>
psnively: Yes, I've seen those on the list. I just got a reply from Chris and he linked to each of those as well :-)
<psnively>
OCaml FRP shootout!
<hcarty>
:-)
<hcarty>
I'm most interested in the GUI portion - the backend doesn't matter as much to me as long as the interface is fairly clean.
<hcarty>
Alpounet: I got a go-ahead from Chris King for FrGui, so I'll hopefully get to take a look at that in more depth over the coming weeks
<hcarty>
Alpounet: And get it in to newhope
<break>
how do i access the nth member of a tuple?
<julm>
break, you must write a function, like [fst] or [snd]
<break>
ok
<Camarade_Tux>
psnively, yeah, would like to see one
<psnively>
Competition is good.
<Alpounet>
hcarty, really fine !
<Alpounet>
don't hesitate to post on the NH list (and even on the Caml list) to get some help
<hcarty>
Alpounet: I certainly will, thanks. I need to wrap up a few other things first, but this is fairly high on my not-directly-dissertation-related TODO list
Yoric[DT] has joined #ocaml
<Alpounet>
heh :)
<Alpounet>
keep us updated Hezekiah :)
itewsh has quit [Read error: 110 (Connection timed out)]
itewsh has joined #ocaml
<hcarty>
Alpounet: No doubt! I Cc'd the newhope-devel list with my reply to the FrGui email.
_andre has quit ["leaving"]
<hcarty>
Once (if?) it gets rolling I'll post to the Caml list as well
jeanbon has joined #ocaml
jeanbon has quit [Read error: 104 (Connection reset by peer)]
julm has quit [Read error: 104 (Connection reset by peer)]
jeanbon has joined #ocaml
julm has joined #ocaml
<Alpounet>
fine thanks :)
<Alpounet>
Chris answered :)
<hcarty>
It's nice to see an enthusiastic response
<Yoric[DT]>
What did he write?
<hcarty>
Yoric[DT]: He does not have time to work on FrGui, but he is happy to have someone continue its development. He offers to answer what questions he is able to.
<Yoric[DT]>
That's nice.
<hcarty>
Yes, definitely
itewsh has quit [Read error: 110 (Connection timed out)]
<jeff_s_>
what about FRP in ... C#!
itewsh has joined #ocaml
<psnively>
C# 3.0 should be good at FRP. F# even moreso.
* palomer
doesn't get FRP
<palomer>
hrmph
<palomer>
well...I've decided to attempt to write a parser generator in ... camlp4!
<palomer>
or, at least, write out the grammar for the parser generator in camlp4
<hcarty>
palomer: I'm not sure I do either. But FrGui seems to provide the start of a very simple, clean API for GUI building in OCaml.
<hcarty>
palomer: So, hopefully the "FRP" portion will just continue to work :-)
Nynix_ has quit [Read error: 110 (Connection timed out)]
<psnively>
FRP is an approach to representing time and events in a functional setting.
<psnively>
An alternative to callback hell.
<hcarty>
psnively: Am I right in my understand that you can chain together values and have them "automatically" update when appropriate?
<psnively>
hcarty: yes.
<Camarade_Tux>
I've never been able to test frp because all the frameworks I tried were broken or incomplete =/
<psnively>
Camarade_Tux: The easiest to run out of the box is DrScheme's FrTime.
<palomer>
so...where can I find some decent camlp4 documentation?