flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
<ollehar> asd
frogfoodeater has joined #ocaml
tattedsxy33 has quit [Ping timeout: 264 seconds]
pkrnj has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
walter|r has quit [Quit: This computer has gone to sleep]
walter|r has joined #ocaml
madroach has quit [Ping timeout: 248 seconds]
walter|rtn has joined #ocaml
walter|r has quit [Ping timeout: 240 seconds]
paddymahoney has joined #ocaml
smerz_ has quit [Ping timeout: 272 seconds]
eikke has quit [Remote host closed the connection]
emmanuelux has quit [Quit: emmanuelux]
pkrnj has quit [Quit: Computer has gone to sleep.]
alxbl has quit [Remote host closed the connection]
alxbl has joined #ocaml
yacks has quit [Quit: Leaving]
Zerker has joined #ocaml
alxbl has quit [Client Quit]
yacks has joined #ocaml
alxbl has joined #ocaml
madroach has joined #ocaml
pkrnj has joined #ocaml
talzeus_ has quit [Quit: where is the love...]
talzeus has joined #ocaml
talzeus has quit [Client Quit]
talzeus has joined #ocaml
Neros_ has quit [Ping timeout: 245 seconds]
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
Zerker has joined #ocaml
contempt has quit [Ping timeout: 246 seconds]
contempt has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
contempt has joined #ocaml
hto has quit [Quit: Lost terminal]
UncleVasya has joined #ocaml
<adrien> morning
ggole has joined #ocaml
pkrnj has quit [Quit: Textual IRC Client: www.textualapp.com]
contempt has quit [Disconnected by services]
contempt has joined #ocaml
ttamttam has joined #ocaml
tianon has quit [Ping timeout: 264 seconds]
tianon has joined #ocaml
yacks has quit [Ping timeout: 258 seconds]
yacks has joined #ocaml
yacks has quit [Max SendQ exceeded]
yacks has joined #ocaml
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
Arsenik has joined #ocaml
sgnb has quit [Read error: Connection reset by peer]
sgnb has joined #ocaml
sysop_fb has joined #ocaml
sysopfb has quit [Ping timeout: 245 seconds]
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
sysopfb has joined #ocaml
Zerker has joined #ocaml
sysop_fb has quit [Ping timeout: 245 seconds]
contempt has quit [Disconnected by services]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
contempt has joined #ocaml
Yoric has joined #ocaml
hkBst has quit [Ping timeout: 272 seconds]
thomasga has joined #ocaml
mika1 has joined #ocaml
cago has joined #ocaml
Snark has joined #ocaml
pango has quit [Ping timeout: 252 seconds]
ocp has joined #ocaml
fraggle_ has quit [Ping timeout: 252 seconds]
djcoin has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
fraggle_ has joined #ocaml
chambart has joined #ocaml
frogfoodeater has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
jbrown has joined #ocaml
frogfoodeater has joined #ocaml
tane has joined #ocaml
eikke has quit [Ping timeout: 264 seconds]
eikke has joined #ocaml
contempt has quit [Disconnected by services]
contempt has joined #ocaml
eikke has quit [Ping timeout: 245 seconds]
Arsenik has quit [Ping timeout: 246 seconds]
wwilly has joined #ocaml
<wwilly> bonjour
eikke has joined #ocaml
<pippijn> morning
eikke has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
tianon has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Ping timeout: 256 seconds]
tchell has quit [Ping timeout: 245 seconds]
tianon has joined #ocaml
frogfoodeater has quit [Ping timeout: 240 seconds]
chambart has quit [Ping timeout: 246 seconds]
contempt has quit [Ping timeout: 246 seconds]
mort___ has joined #ocaml
contempt has joined #ocaml
hkBst has joined #ocaml
djcoin has quit [Quit: WeeChat 0.3.9.2]
hkBst has quit [Ping timeout: 260 seconds]
eikke has quit [Ping timeout: 260 seconds]
eikke has joined #ocaml
tchell has joined #ocaml
<wmeyer> morning
<adrien_oww> o/
Yoric has quit [Read error: Operation timed out]
malo has joined #ocaml
ontologiae has joined #ocaml
contempt has quit [Ping timeout: 256 seconds]
contempt has joined #ocaml
Yoric has joined #ocaml
tane has quit [Quit: Verlassend]
mcclurmc has joined #ocaml
yacks has quit [Read error: Operation timed out]
<vbmithr> Hi!
<vbmithr> Do somebody knows the difference between fields standard_library_default and standard_library of `ocamlc -config` ?
wsebastian has joined #ocaml
yacks has joined #ocaml
redfire has joined #ocaml
RagingDave has joined #ocaml
chambart has joined #ocaml
beckerb has joined #ocaml
Tobu has joined #ocaml
contempt has quit [Ping timeout: 255 seconds]
contempt has joined #ocaml
ttamttam has quit [Quit: ttamttam]
Tobu has quit [Ping timeout: 246 seconds]
wsebastian has quit [Remote host closed the connection]
ontologiae has quit [Ping timeout: 260 seconds]
ttamttam has joined #ocaml
ttamttam has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Remote host closed the connection]
_andre has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
contempt has joined #ocaml
malo has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 264 seconds]
mcclurmc has joined #ocaml
contempt has joined #ocaml
ontologiae has joined #ocaml
yacks has quit [Ping timeout: 252 seconds]
frogfoodeater has joined #ocaml
contempt has quit [Ping timeout: 256 seconds]
contempt has joined #ocaml
contempt has quit [Remote host closed the connection]
fasta has quit [Quit: No Ping reply in 180 seconds.]
fasta has joined #ocaml
talzeus has quit [Remote host closed the connection]
ollehar has joined #ocaml
UncleVasya has joined #ocaml
frogfoodeater has quit [Ping timeout: 264 seconds]
hkBst has joined #ocaml
<companion_cube> is there a way to tell ocamlbuild where is ocamlfind?
ewanas has quit [Changing host]
ewanas has joined #ocaml
<adrien_oww> yes
<adrien_oww> your PATH environment variable
<adrien_oww> I don't understand why there are so many ugly and complicated things out there (no matter the language) when there's a simple solution: set your PATH
Zerker has quit [Ping timeout: 258 seconds]
Zerker has joined #ocaml
<adrien_oww> alternatively, you can read up on ocamlfind.conf
<adrien_oww> I mean
<adrien_oww> *READ*
<adrien_oww> *NOW*
<companion_cube> findlib.conf, you mean?
<adrien_oww> yes :D
Neros has joined #ocaml
<ewanas> Might as well ask this: Is there any tool like pkg-config to be used in conjunction with something like opam to make writing compiling easier(easier for the person issuing the compile command :p)
<ewanas> I'm having to -I +~/.opam/system/lib/batteries/ to start adding batteries
<ewanas> but everyone seems to be in on the config file that allows ~/.opam/system/lib to be part of the search path so I can just +batteries
<ewanas> out with it. what's the config file?
<ewanas> ocamlfind query batteries gets me the same path
<adrien_oww> ocamlfind
<ewanas> but I am not quite sure what's the idiomatic way
<adrien_oww> don't ocamlfind query
ttamttam has joined #ocaml
<adrien_oww> do: ocamlfind ocamlopt -packages batteries -linkpkg foo.ml
tane has joined #ocaml
<ewanas> gotcha. Thanks a lot adrien.
<adrien_oww> and if you want details on what it does, you can add -verbose
Zerker has quit [Ping timeout: 258 seconds]
RagingDave has quit [Quit: Ex-Chat]
Zerker has joined #ocaml
q66 has joined #ocaml
Neros has quit [Read error: Connection reset by peer]
troydm has quit [Read error: Operation timed out]
Neros has joined #ocaml
troydm has joined #ocaml
tchell has quit [Ping timeout: 255 seconds]
hto has joined #ocaml
tchell has joined #ocaml
darkf has quit [Ping timeout: 256 seconds]
fraggle_ has quit [Ping timeout: 264 seconds]
fraggle_ has joined #ocaml
Zerker has quit [Ping timeout: 258 seconds]
Zerker has joined #ocaml
dsheets has joined #ocaml
hkBst has quit [Quit: Konversation terminated!]
mika1 has quit [Quit: Leaving.]
cago has left #ocaml []
sgnb has quit [Remote host closed the connection]
sgnb has joined #ocaml
Zerker has quit [Ping timeout: 258 seconds]
Zerker has joined #ocaml
sgnb has quit [Remote host closed the connection]
sgnb has joined #ocaml
sgnb` has joined #ocaml
ia0 has quit [Ping timeout: 252 seconds]
sgnb has quit [Read error: Connection reset by peer]
breakds has joined #ocaml
barbapapa has joined #ocaml
ocp has quit [Ping timeout: 256 seconds]
ia0 has joined #ocaml
Zerker has quit [Ping timeout: 248 seconds]
mort___ has quit [Quit: Leaving.]
barbapapa has quit [Remote host closed the connection]
doc_who has quit [Quit: Leaving]
Zerker has joined #ocaml
awm22 has quit [Quit: Leaving.]
ontologiae has quit [Ping timeout: 264 seconds]
emmanuelux has joined #ocaml
yacks has joined #ocaml
mcclurmc has quit [Quit: Leaving]
nongeek has joined #ocaml
<nongeek> hello all
<nongeek> Can you tell me the biggest usage of Ocaml?
<ousado> nongeek: could you be more specific?
<nongeek> I want to compare it with Lisp, Haskell or clojure
<gasche> are you looking for application areas, specific projects?
<gasche> or language design points that distinguish it from those languages you cite?
<gasche> have you read the Wikipedia page for a starter?
<nongeek> I want to learn it but I don't know what is the best features for it
<nongeek> I look at wiki
<gasche> I'd say: strongly *typed* *functional* programming, yet still relatively simple in its idiomatic usage
<nongeek> I know my questio is odd
<nongeek> question
<nongeek> Is it good for APP?
<gasche> what is APP?
<nongeek> applications like web app, embeded app...
<gasche> are you asking whether it can be used to write programs?
<nongeek> yes
<nongeek> Can you tell me why you use it?
<gasche> I like OCaml and Haskell, and prefer strict evaluation
<ggole> It's fast, makes writing typeful programs pleasant and productive, and is sane, stable and available.
<gasche> I'm very interested in language design, analysis and implementation, a field where typed functional languages of the ML descent really shine
<gasche> hm
<nongeek> gasche: Can I send Pm?
<gasche> if that's a technical question, you should probably rather use the chan
<nongeek> No, It is not
<gasche> do as you please
<nongeek> I want to know your opinion about a problem
Kakadu has joined #ocaml
chambart has quit [Ping timeout: 276 seconds]
smondet has joined #ocaml
ttamttam has quit [Quit: ttamttam]
pango has joined #ocaml
ocp has joined #ocaml
sysop_fb has joined #ocaml
Zerker_ has joined #ocaml
Zerker has quit [Ping timeout: 252 seconds]
Zerker_ is now known as Zerker
awm22 has joined #ocaml
sysopfb has quit [Ping timeout: 264 seconds]
sysopfb has joined #ocaml
nongeek has left #ocaml []
dsheets has quit [Ping timeout: 255 seconds]
sysop_fb has quit [Ping timeout: 252 seconds]
dsheets has joined #ocaml
ocp has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 256 seconds]
bsrkaditya has joined #ocaml
<bsrkaditya> Hi,
<bsrkaditya> is there an equivalent of haskell's $ in ocaml?
<bsrkaditya> also is there an equivalent of hoogle?
<companion_cube> I don't think there's an equivalent to hoogle
<gasche> try http://docs.camlcity.org/docs/index.html as a substitute
<companion_cube> about ($), it's generally called (<|), I believe
<gasche> for ($), you can define it yourself or use one of the "standard library overlay" (Batteries or JS Core)
<bsrkaditya> Thanks gasche!
<bsrkaditya> Uh, companion_cube, the function name got translated into a smiley.
<companion_cube> ( < | )
<bsrkaditya> companion_cube: thanks!
<companion_cube> it's not defined by default, though
<bsrkaditya> oh
<bsrkaditya> where is it?
ttamttam has joined #ocaml
ulfdoz has joined #ocaml
<companion_cube> as gasche pointed out, in both Core and Batteries
<companion_cube> (or you can let (<| ) f x = f x;; )
<bsrkaditya> companion_cube: thanks!
* eikke often defines ($) a b = a b, and then my colleague starts complaining about Haskell'isms
<pippijn> I like ($)
<companion_cube> eikke: does ($) have the correct precedence?
<eikke> companion_cube: might not. I only use it once in an expression mostly
<eikke> (when writing ocaml, that is ;) )
<pippijn> eikke: your work involves writing ocaml?
<eikke> yeah
<pippijn> where do you work?
<eikke> Incubaid
<thelema_> companion_cube: fwiw, <| is now % in batteries.
<thelema_> err, @@
<companion_cube> oh
<pippijn> ok
<companion_cube> @@ has a 'append' feeling to me...
<ousado> huh, doesn't that conflict with attributes?
<thelema_> it has the right associativity and precedence to work nice
<thelema_> ousado: attributes are being added with @@ prefix?
zpe has quit [Remote host closed the connection]
<ousado> .. for extension points?
<pippijn> eikke: nice
<pippijn> I tried to find ocaml jobs near karlsruhe.. no luck yet
<pippijn> or even haskell
<thelema_> ousado: hopefully some other token is used for attributes
<ousado> hmm.. I thought they're in trunk already
* thelema_ checks the lexer
<thelema_> not that I can find...
<ousado> maybe those were just proposals then
<thelema_> ousado: yes, I think it's just inproposal stage
<eikke> pippijn: check http://github.com/Incubaid for some of the things we make. If interested, send me an email, nicolas at incubaid.com
<gasche> Incubaid is belgium-located, right?
<pippijn> belgium
<gasche> oh eikke, I had a question for you
<pippijn> Lochristi
<eikke> yes, .be
<pippijn> do people speak dutch there?
<eikke> gasche: shoot
<gasche> I saw that you were looking at SIMD for the GHC LLVM backend
<pippijn> Antwerpse Steenweg 19
<pippijn> seems like yes
<pippijn> good for me :)
<eikke> dutch indeed, but we do quite a lot in english since we got people in other non-.be locations as well
<pippijn> also good for me
<eikke> gasche: yup
<gasche> are you considering using Haskell more for your products, is that just a personal experiment of yours, and have you investigated similar low-level stuff for OCaml?
<gasche> it piqued my sense of competition
<gasche> (to the point that I spent a whole afternoon looking at the state of the OCaml+LLVM business)
<eikke> gasche: honestly I personally tend to like Haskell more than OCaml, so in my spare time I mostly do Haskell stuff
<gasche> hm, afk
<eikke> gasche: we don't have a real use case for SIMD at the company right now
<eikke> (ocaml nor haskell)
<adrien> he didn't like your answer :D
<eikke> lol
<eikke> so when I was looking into those things, it was just out of personal interest
<pippijn> arakoon
<eikke> pippijn: hmm?
<pippijn> just looking at it :)
<eikke> oh, right. don't look at the website too much, it needs work.
<pippijn> the website is in java
<gasche> back
<gasche> as I said, I've been looking at the state of OCaml+LLVM
<eikke> pippijn: uh? no, its static github pages, some of it generated through Sphinx
<eikke> gasche: that's interesting (not only from a SIMD point of view)!
<gasche> but in the end I could not motivate myself to consider investing more work/time on it, because it is very unclear that this might be worth the investment
<gasche> I'm under the impression that it would be useful for some numeric computing tasks
<eikke> taking my experience with ghc/llvm into account, it can certainly be worth some experimenting in computationally-intensive code
<gasche> but also probably hurtful or borderline-equivalent for symbolic manipulation code
<eikke> but obviously the existing code generator quality has some influence on the possible speedups
<gasche> my understanding is that OCaml's is pretty good already
<gasche> (it's not as good as LLVM to use exotic instruction sets, certainly)
<adrien> didn't something like HLVM support only part of the language, with little interest to support the other features but with some kind of simple bridge between hlvm-compiled code and regular-compiled code?
<gasche> regarding SIMD support, I would be rather curious to see how superoptimization ( http://blog.regehr.org/archives/923 ) would fare
<gasche> unfortunately, the software for the last superoptimization work is not available
<gasche> so I haven't been able to test
<gasche> adrien: that was the plan, and it is a sound plan, I believe
<eikke> gasche: did you read the papers on the simd vector work?
<gasche> in practice I haven't seen HLVM go anywhere
<gasche> (lots of hype from jdh, sure, but the details were meh)
<gasche> eikke: no
<gasche> you mean the recent Fusion work, or some Accelerate/Repa stuff I don't know about?
<adrien> well, the code is available and there was also Alp Mestan on it
<eikke> gasche: fusion with multi's
<gasche> so I've had a look at it, yes
<adrien> afaiu, it was getting to a very usable point with nice performance but around the same time, both jdh and Alp Mestan basically disappeared
<eikke> basically, for ocaml, I think having some support for stream fusion might be more interesting
<gasche> adrien: did Alp really work on HLVM? I was not aware of that
<gasche> agreed, but it's unclear of stream fusion would work without strong purity assumptions
<companion_cube> +1
<companion_cube> </constructiveness>
<gasche> I regret Alp entirely moved to Haskell, but it's nice to know people there as well :)
<eikke> hmh, right, the purity thing
<eikke> didn't consider that
<gasche> I've been thinking about having a purity qualifier (as a very primitive effect system) in OCaml, but it's difficult to do something that is neither too naive nor too complex
<ggole> Is Ocaml's codegen really that good? The little assembly output I've looked at hasn't really impressed.
<gasche> npouillard had a prototype where he just stripped all the effectful stuff away, and I must say it was rather interesting
<gasche> ggole: it is surprisingly good
<adrien> gasche: I know Alp looked fairly closely at HLVM; I don't know how much he worked on it
<gasche> the code is not beautiful and looks fairly naive in some places
<ggole> Maybe I have an old compiler, but it doesn't seem to know the usual branch tricks with cmov, sbb, etc
<adrien> it's been some time so don't take what I say for granted but I think he did some commits
<gasche> but you'll find that all the obvious changes you would like to make won't actually improve speed much
<eikke> gasche: in my experience the ocaml codegen is similar to the native ghc codegen (in 7.x at least). for some tight loops llvm does provide quite some improvements though
<gasche> besides, the integration with the runtime is very good
<gasche> eikke: indeed
<gasche> the problem is that we have very few tight loops in OCaml strong application domains
<eikke> true
<gasche> I mean, you won't really speed up linked list traversal
<adrien> gasche: btw, I've grown very frustrated with the inability of ocaml to tell me that some function is unused
bsrkaditya has left #ocaml []
<ggole> I noted how it moves the slow path for allocation out of a function
<gasche> adrien: unused?
<adrien> it makes a lot of sense considering the compilation model
<ggole> Things like that probably matter more than low level detail
<companion_cube> if it's public, no warning
<adrien> but it's awful for organic growth of software and dead code
<gasche> ah
<adrien> companion_cube: and how do you make private?
<adrien> make it*
<companion_cube> adrien: by not declaring it in the .mli
<gasche> I believe it would not be too difficult to implement a dead code analysis detection on top of cmt+cmti output for your code
<gasche> Alain Frisch has been thinking about that
<adrien> companion_cube: but you don't get a warning for unused functions in your .ml that aren't exported either
<gasche> maybe have a look at what pff, the Facebook project, does
<adrien> gasche: I don't mind at all if it's a separate step btw
<companion_cube> adrien: I think I have
<companion_cube> it's like for unused variables
<smondet> this poped-out recently: https://github.com/Michaaell/dead-code-detection
<adrien> I don't care at all that ocamlopt doesn't tell me that when building; what I want is that every N weeks, when I feel like doing some cleanup, I get help
<adrien> smondet: that's very interesting, thanks; I'm not really able to look at it right now but I'll do as soon as I have some time
<eikke> I've been thinking about starting a project to write a production-quality ML-like compiler using 'modern' research or industry stuff
<eikke> like type-preserving code transformation passes, llvm in the backend, things like kure and hoopl in optimization stages,...
<companion_cube> please consider writing a compiler for ocaml ;)
<eikke> but as usual, after reading papers for 2 weeks I started looking into other things and went on :P
<adrien> ^ ^
<eikke> companion_cube: the goal was to have soemthing starting from a SystemF-like lambda calculus up to LLVM emission, so frontend could be anything
zpe has joined #ocaml
ggole has quit []
zpe has quit [Ping timeout: 258 seconds]
mort___ has joined #ocaml
pkrnj has joined #ocaml
mort___ has quit [Remote host closed the connection]
mort___ has joined #ocaml
mort___ has quit [Client Quit]
ocp has joined #ocaml
RagingDave has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
<gasche> eikke: type-preserving compilation can hardly be called "modern", it's been all over the FLINT project in the nineties, gave disappointing results
<orbitz> how come?
ulfdoz has quit [Ping timeout: 276 seconds]
<eikke> gasche: hmh, I read some relatively new (as in, max 5 years) papers on it as well
<eikke> gasche: 'modern' features like gadts and type families might have changed the situation compared to 20 years ago ;)
<gasche> it's a subject I'm personally interested in
<gasche> but still, I believe expecting too much effectiveness with it is setting up for big disappointments
<gasche> -s
_andre has quit [Quit: (^)]
ulfdoz has joined #ocaml
chambart has joined #ocaml
ttamttam has left #ocaml []
zpe has joined #ocaml
eni has joined #ocaml
malo has joined #ocaml
RagingDave has quit [Read error: Connection reset by peer]
RagingDave has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
Zerker has quit [Ping timeout: 252 seconds]
<eikke> gasche: I can imagine.
<eikke> was referring to https://papyrus.bib.umontreal.ca/jspui/handle/1866/3454 among other things
UncleVasya has quit [Quit: UncleVasya]
Kakadu has quit []
Zerker has joined #ocaml
ocp has quit [Quit: Leaving.]
IbnFirnas has joined #ocaml
ewanas has quit [Remote host closed the connection]
Zerker has quit [Ping timeout: 258 seconds]
Zerker has joined #ocaml
beckerb has quit [Quit: Konversation terminated!]
beckerb has joined #ocaml
RagingDave_ has joined #ocaml
RagingDave has quit [Ping timeout: 252 seconds]
beckerb has quit [Quit: Konversation terminated!]
beckerb has joined #ocaml
beckerb has quit [Ping timeout: 245 seconds]
LeNsTR is now known as lenstr
<ousado> eikke: wow, that's a nicely written paper
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
<eikke> ousado: I enjoyed reading it. The author wrote some interesting papers during the work on his thesis as well, some highlighting a part of it, some related but not contained into the final text
<eikke> gasche: thanks for the link, will look into it
<gasche> there is also interesting work to be done on certified compilation of functional languages (eg. in the Compcert project, as a continuation of Zaynah Dargaye's PhD work)
<gasche> hm
<eikke> gasche: that stuff is a bit above my level :) read some work on it, but I'm more of an engineer than a researcher
<gasche> then I'm not sure compilation is what you should invest in
<gasche> how do you get a ballpark estimate of the gains you expect?
chambart has quit [Ping timeout: 246 seconds]
<eikke> not :D (this would be a non-work project, obviously)
<gasche> we like compilation because it's *beautiful*, but the harsh truth is that what you'll gain with it being done better than it already is are quite thin
<gasche> I think
<gasche> right now there are better gains to be had working on static analysis tools
<gasche> model-checking, abstract interpretation, whatever
<gasche> the stuff our own community developped for C and Java, because there was demand
<gasche> but we haven't considered adding to the functional languages that are supposed to have a nicer semantics
<gasche> stuff like SMT-solving refinement types is much uglier than typed intermediate languages, but it could also be damn useful
<eikke> that might even be pretty far already
<ousado> .. and the nice truth is that everybody learns valuable things by doing stuff regardless whether it has been done or done better before
<eikke> for several FP languages to be acceptable in industry, there's lots of plain engineering to be done
<eikke> (like it or not, the scala people seem to handle this really well)
<gasche> right
RagingDave_ has quit [Ping timeout: 256 seconds]
<gasche> but I'm sometimes wondering whether some of those problems are not research problems in hiding
<eikke> some of them are
<gasche> it's strange that it's still so hard to build IDEs
<eikke> but basic things like "insight in running processes" most likely isn't
<gasche> like we haven't figured out what the right abstraction layer is to write graphic interfaces for programming languages
<eikke> that's vim, obviously
<eikke> :P
contempt has joined #ocaml
<adrien> FRP is nice to make GUIs and it should make it easy (if not trivial) to have well-working transitions in GUIs
<adrien> but the FRP people seem to be going too far and to forget that research is better if it can actually be used by people
<bernardofpc> j'irais suggérer le EWD249, mais c'est un peu vieux
<bernardofpc> (et pas très graphique)
smondet has quit [Ping timeout: 252 seconds]
<adrien> you probably don't want to go very far with FRP stuff because otherwise you'll spend an awful lot of time just thinking about FRP itself instead of thinking about your program
<adrien> I went fairly far and complicated with FRP; in the end, my use for FRP boiled down to what I think is a very simple monad
<adrien> and/or maybe a reactor (I need to check the definition of that, and I need to look at my code again too actually)
<eikke> mmmm, monads.... *drool*
<adrien> and which does one additional thing: logging
<adrien> i.e. there's an event, my application state which was foo becomes bar
<adrien> and I need to log that
<adrien> without RTTI it's actually painful to do
<ousado> the clean people claim to basically have solved the GUI issue
<adrien> completely falling asleep; good night
cdidd has quit [Remote host closed the connection]
Trollkastel has quit [Ping timeout: 245 seconds]
Yoric has quit [Ping timeout: 246 seconds]
Snark has quit [Ping timeout: 256 seconds]
eni has quit [Quit: Leaving]
malo has quit [Quit: Leaving]
redfire has quit [Quit: WeeChat 0.3.8]
tianon has quit [Quit: "I'm a very important man. I've got a tower!"]
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
tianon has joined #ocaml
<ollehar> incidentally, there's a famous swedish song about a hen called AGDA who got no action when the new COQ arrived...
<ousado> ollehar: you mean it ?
<ousado> :D
<ollehar> sure
<ollehar> hönan agda
<ollehar> the coq wouldn't have her unless she was naked (no feathers), so he picked one feather from her each day.
thomasga1 has quit [Quit: Leaving.]
pkrnj has quit [Quit: Computer has gone to sleep.]
j0sh has joined #ocaml
<j0sh> is there a string-to-bytes unpacking function? eg, something that will take "123abc" and convert to a byte array?
<thelema_> j0sh: let string_to_bytes s = Array.init (String.length s) (fun i -> s.[i])
<j0sh> the array is still in ascii, is there something like 48 ('0') -> 0 ?
<thelema_> j0sh: let string_to_bytes s = Array.init (String.length s) (fun i -> Char.code s.[i])
<bernardofpc> wouldnt it be the other way around ?
<j0sh> thelema_: the values are still ascii
<bernardofpc> althouth I don't see how you type that ...
<thelema_> oh, sorry, I misread what you wanted.
<bernardofpc> you want "123" -> [1 , 2, 3] ?
<j0sh> although i guess i could just check for the range and subtract to get the right value myself
<thelema_> what do you want to do with abc?
<j0sh> bernardofpc: yes
<bernardofpc> then answer thelema_ 's question :D
<j0sh> i was just wondering if there was a built-in way to do that
<j0sh> thelema_: base64 some strings
<bernardofpc> if 'A' -> 65, but '0' -> 0, you have to do more things...
<bernardofpc> oh
<thelema_> j0sh: use a lookup table that gives you the base64 result for each ascii char
<bernardofpc> you want fold_left (fun c => base64decode c) [] s
<thelema_> (fun i -> table.(Char.code s.[i]))
<thelema_> (fun c acc -> decode c :: acc)
<bernardofpc> (not 100% sure about the ofld_left argument order, thoug)
<thelema_> bernardofpc: fold left = accumulator on left
<thelema_> oops, I just gave other order
<bernardofpc> never mind :D
<bernardofpc> I completely forgot the acc !
<bernardofpc> by the way, that's just a map, isn't it ?
Trollkastel has joined #ocaml
<j0sh> thelema_: any tips on how to construct the table?
<j0sh> the character range i'm getting is going to be limited to hex, so only 16 possible char values to look up
<ollehar> OT: someone should make this for ocaml: http://uncyclopedia.wikia.com/wiki/Haskell
<j0sh> i need to base64 a byte array but i'm getting that array as a string initially
<j0sh> hence the ascii conversion
<j0sh> hm i think i just answered my own question
emmanuel__ has joined #ocaml
emmanuelux has quit [Ping timeout: 252 seconds]
cterefinko has joined #ocaml
Nahra has quit [Ping timeout: 260 seconds]
jbrown has quit [Ping timeout: 245 seconds]
cterefinko has quit [Quit: Leaving.]
Nahra has joined #ocaml
smerz_ has joined #ocaml
<wmeyer> hi
<rks_> hi :)
<wmeyer> rks_: hello :)
<wmeyer> not sleeping?
<rks_> as you can see :p
<wmeyer> damn it, these ocamlers
<wmeyer> as you see, me either
<rks_> indeed
<def-lkb> hi
<wmeyer> I was reading interesting posts here, gasche become more active
<wmeyer> hi def-lkb
ulfdoz has quit [Ping timeout: 257 seconds]
<wmeyer> irc always saves my life I noticed at certain times during the night :-)
<wmeyer> (and music too)
darkf has joined #ocaml
Neros has quit [Ping timeout: 245 seconds]