ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | http://www.ocaml.org | OCaml 4.01.0 announce at http://bit.ly/1851A3R | Logs at http://irclog.whitequark.org/ocaml
tristero has quit [Read error: Connection reset by peer]
zarul has joined #ocaml
zarul has quit [Changing host]
zarul has joined #ocaml
tristero has joined #ocaml
eikke__ has quit [Ping timeout: 244 seconds]
zarul has quit [Ping timeout: 240 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
Cypi_ is now known as Cypi
alpounet has joined #ocaml
alinab has joined #ocaml
alpounet has quit [Ping timeout: 264 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
racycle has quit [Quit: ZZZzzz…]
adrien_oww has quit [Ping timeout: 264 seconds]
adrien_oww has joined #ocaml
maattdd_ has quit [Ping timeout: 255 seconds]
rand000 has quit [Quit: leaving]
martinsk has quit [Quit: This computer has gone to sleep]
hto has joined #ocaml
hto has quit [Remote host closed the connection]
hto has joined #ocaml
lordkryss has quit [Ping timeout: 240 seconds]
shinnya has quit [Ping timeout: 244 seconds]
struktured has joined #ocaml
jpdeplaix has quit [Ping timeout: 260 seconds]
tnguyen1 has quit [Quit: tnguyen1]
manizzle has quit [Ping timeout: 255 seconds]
ygrek has joined #ocaml
penglingbo has joined #ocaml
jpdeplaix has joined #ocaml
hausdorff has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest39028
<parcs_> i think GCC has a very clean codebase
manizzle has joined #ocaml
SethTisue has quit [Quit: SethTisue]
hausdorff has quit [Remote host closed the connection]
hausdorff has joined #ocaml
hausdorff has quit [Remote host closed the connection]
groovy2shoes has quit [Ping timeout: 244 seconds]
racycle has joined #ocaml
hausdorff has joined #ocaml
Eyyub has quit [Ping timeout: 264 seconds]
Guest39028 has quit [Remote host closed the connection]
fraggle_ has quit [Read error: Connection reset by peer]
alex_nx has quit [Ping timeout: 252 seconds]
fraggle_ has joined #ocaml
alex_nx has joined #ocaml
siddharthv_away is now known as siddharthv
martinsk has joined #ocaml
_tca_ is now known as _tca
_tca has quit [Changing host]
_tca has joined #ocaml
_tca has joined #ocaml
Eyyub has joined #ocaml
axiles has joined #ocaml
claudiuc has quit [Remote host closed the connection]
hausdorff has quit [Remote host closed the connection]
racycle has quit [Quit: ZZZzzz…]
yacks has quit [Ping timeout: 244 seconds]
Eyyub has quit [Ping timeout: 264 seconds]
jao has quit [Ping timeout: 252 seconds]
ygrek has quit [Ping timeout: 244 seconds]
eikke__ has joined #ocaml
martinsk has quit [Quit: This computer has gone to sleep]
avsm has joined #ocaml
PM has quit [Ping timeout: 248 seconds]
PM has joined #ocaml
yacks has joined #ocaml
Oejet has joined #ocaml
fantasticsid has joined #ocaml
ygrek has joined #ocaml
alpounet has joined #ocaml
Simn has joined #ocaml
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 272 seconds]
cago has joined #ocaml
ygrek_ has quit [Ping timeout: 240 seconds]
hto has quit [Quit: Lost terminal]
ygrek_ has joined #ocaml
Kakadu has joined #ocaml
avsm1 has joined #ocaml
avsm has quit [Read error: Connection reset by peer]
BitPuffin has quit [Ping timeout: 252 seconds]
avsm has joined #ocaml
avsm1 has quit [Read error: Connection reset by peer]
avsm has quit [Quit: Leaving.]
sagotch has joined #ocaml
fantasti` has joined #ocaml
mort___ has joined #ocaml
eikke__ has quit [Ping timeout: 255 seconds]
fantasticsid has quit [Ping timeout: 260 seconds]
hhugo has joined #ocaml
dsheets has joined #ocaml
ollehar has joined #ocaml
eikke__ has joined #ocaml
BitPuffin has joined #ocaml
avsm has joined #ocaml
libertas has joined #ocaml
alpounet has quit [Remote host closed the connection]
alpounet has joined #ocaml
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
alpounet has quit [Ping timeout: 272 seconds]
alpounet has joined #ocaml
maattdd_ has joined #ocaml
jludlam has joined #ocaml
fantasti` has quit [Remote host closed the connection]
<pippijn> opam switch --no-switch doesn't work?
<pippijn> $ opam switch show
<pippijn> system
<pippijn> $ opam switch --no-switch 4.01.0+PIC
<pippijn> $ opam switch show
<pippijn> 4.01.0+PIC
avsm has quit [Quit: Leaving.]
rand000 has joined #ocaml
lordkryss has joined #ocaml
divyanshu has joined #ocaml
sagotch has quit [Ping timeout: 255 seconds]
maattdd_ has quit [Ping timeout: 244 seconds]
tulloch has joined #ocaml
q66 has joined #ocaml
arquebus has joined #ocaml
f[x] has joined #ocaml
demonimin_ has joined #ocaml
demonimin has quit [Ping timeout: 240 seconds]
ygrek_ has quit [Ping timeout: 248 seconds]
jludlam is now known as jonludlam
ollehar has quit [Ping timeout: 260 seconds]
ollehar has joined #ocaml
_andre has joined #ocaml
Simn has quit [Quit: Leaving]
fraggle_laptop has joined #ocaml
rand000 has quit [Quit: leaving]
arquebus has quit [Quit: Konversation terminated!]
maattdd_ has joined #ocaml
avsm has joined #ocaml
f[x] has quit [Ping timeout: 240 seconds]
alpounet has quit [Remote host closed the connection]
sagotch has joined #ocaml
elfring has joined #ocaml
siddharthv is now known as siddharthv_away
ggole has joined #ocaml
ollehar has quit [Ping timeout: 260 seconds]
rwmjones has quit [Read error: Network is unreachable]
rwmjones has joined #ocaml
SethTisue has joined #ocaml
elfring has quit [Quit: Konversation terminated!]
johnelse has quit [Read error: Connection reset by peer]
SHODAN has quit [Ping timeout: 248 seconds]
jonludlam has quit [Read error: Connection reset by peer]
jonludlam has joined #ocaml
johnelse_ has joined #ocaml
fraggle_laptop has quit [Remote host closed the connection]
siddharthv_away has quit [Ping timeout: 264 seconds]
johnelse_ has quit [Client Quit]
siddharthv_away has joined #ocaml
johnelse_ has joined #ocaml
yacks has quit [Ping timeout: 252 seconds]
johnelse_ is now known as johnelse
thomasga has joined #ocaml
BitPuffin has quit [Quit: See you on the dark side of the moon!]
ollehar has joined #ocaml
jludlam has joined #ocaml
johnelse_ has joined #ocaml
siddhart1v_away has joined #ocaml
johnelse has quit [Ping timeout: 244 seconds]
jonludlam has quit [Ping timeout: 244 seconds]
siddharthv_away has quit [Ping timeout: 240 seconds]
johnelse_ is now known as johnelse
ollehar has quit [Quit: ollehar]
yacks has joined #ocaml
johnelse_ has joined #ocaml
siddharthv_away has joined #ocaml
jonludlam_ has joined #ocaml
johnelse is now known as Guest50332
johnelse_ is now known as johnelse
hellome has joined #ocaml
shinnya has joined #ocaml
siddhart1v_away has quit [Ping timeout: 260 seconds]
Hannibal_Smith has joined #ocaml
Guest50332 has quit [Ping timeout: 264 seconds]
jludlam has quit [Ping timeout: 248 seconds]
penglingbo has quit [Ping timeout: 264 seconds]
wwilly has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
jonludlam_ is now known as jonludlam
Moataz-E has joined #ocaml
racycle has joined #ocaml
f[x] has joined #ocaml
Hannibal_Smith has quit [Quit: Sto andando via]
racycle has quit [Quit: ZZZzzz…]
Moataz-E has quit [Quit: Leaving]
darkf has quit [Quit: Leaving]
avsm has quit [Quit: Leaving.]
alpounet has joined #ocaml
BitPuffin has joined #ocaml
ustunozgur has joined #ocaml
struktured has quit [Ping timeout: 240 seconds]
cago has quit [Quit: cago]
divyanshu has joined #ocaml
struktured has joined #ocaml
struktured has quit [Read error: Connection reset by peer]
struktured has joined #ocaml
penglingbo has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
slash^ has joined #ocaml
tulloch has quit [Ping timeout: 255 seconds]
struktured has quit [Ping timeout: 244 seconds]
jsvgoncalves has joined #ocaml
jsvgoncalves has quit [Remote host closed the connection]
jsvgoncalves has joined #ocaml
<seliopou> I have a question about Writer.flushed. Am I correct in concluding that there is no guarantee that it will in no way indicate when the underlying socket has experienced an error?
<seliopou> erm... get rid of one of the negatives in that question
<seliopou> The comment says that if a prior write fails, then the deferred will never become determined
<seliopou> but if all writes succeed and the socket errors while waiting for the flush, then the deferred will also never become determined.
Oejet has left #ocaml [#ocaml]
philtor_ has joined #ocaml
jsvgoncalves has quit [Ping timeout: 260 seconds]
<Drup> what is "Writer" ?
<mbac> seliopou, flushed will evaluate to determined if bytes written equals bytes asked to write, regardless of whether an error event occurred later
<seliopou> sorry, i'm taling about the Writer module in async_unix
<seliopou> Drup: ^
<seliopou> mbac: in an error case, the bytes written will not equal bytes received
sagotch has quit [Remote host closed the connection]
<seliopou> mbac: suppose you perform a write, and the library successfully copies the bytes into its buffer (no error has occurred)
<mbac> you said if it errors after all of the writes succeed, though
<seliopou> then you immediately block on lfushed
<seliopou> meaning that prior write did not result in an exception being raised to the user
<seliopou> i'm starting to conclude that in order to do proper error handling this interface requires every flushed call to be a a choice between the flushed deferred and the consumer_left deferred
<seliopou> which is odd to say the least
<mbac> flushed will only be determined when all pending write(2) calls have completed. that seems sufficient to me.
tane has joined #ocaml
<mbac> maybe you're interested in the writer's Monitor.t?
<seliopou> the real issue is that I'm using Typed_tcp from the async_extra package
<seliopou> that manages the monitor itself
<seliopou> so i'm iterating over the events it produces
philtor_ has quit [Ping timeout: 272 seconds]
<seliopou> and when a client disconnects for whatever reason, it produces a `Disconnect(Client_id.t, exn) event
<seliopou> and leaves the flushed calls blocked
<seliopou> which basically means that you can't really write Typed_tcp applications as event loops
<mbac> hmmm
<mbac> what's the type of your send function?
<mbac> (in Typed_tcp)
natrium1970 has joined #ocaml
<seliopou> You can see the Transport module above that that's an argument to the Typed_Tcp functor
<mbac> the interface certainly implies that if send is determined `Sent time, that your write was flushed
eikke__ has quit [Ping timeout: 252 seconds]
<seliopou> mbac: the issue is when the send fails
<seliopou> send writes and the flushes. the underlying implementation checks for exceptions in the write and then blocks on the flush
<seliopou> and then an error happens and the server deadlocks
<natrium1970> Has there been any success in making it possible to deploy programs written in OCaml as Android apps for “regular” users?
<Drup> there are two ways : the native way (cross compile and all that), some people have done it, it works
<natrium1970> I ask because I like OCaml for my backend, but I don’t know if it’s feasible for something I’d like to make into an app. I’ve played with Scala, but I’m it is a nightmare after learning OCaml.
<Drup> and the cheating way : html5+js_of_ocaml
tobiasBora has joined #ocaml
maattdd_ has quit [Ping timeout: 260 seconds]
<natrium1970> Do you have any links or search terms I might look for? On Google search, what I’m finding is how to install OCaml itself on Android (I think).
maattdd_ has joined #ocaml
<Drup> for the cross compilation, I don't really know, I just remember people saying it works
struktured has joined #ocaml
<smondet> Drup: html5+js_of_ocaml, that would not be cheating, it's the future™ :) => can make it work on iOS, FirefoxOS, blackberry & so on
<Drup> smondet: ahah, let's say it's avoiding the problem (by opening a completely different can of worms)
<Drup> (and good luck for making it work in various browsers withtout another layer like phonegap)
<natrium1970> I know it’s #ocaml, but are there any other viable functional languages if I can’t get OCaml and Android to play nice? (Not sure where else to ask.)
<Drup> you can get them to play nice
* natrium1970 makes note: “That friendly Drup promised it would work.”
<Drup> (and if you are horrified by scala, I'm not sure what to advice you :p)
<natrium1970> Yes, I’m horrified by Scala. I took our adv. programming languages / type theory course, and we used OCaml. Things that are easy in OCaml are difficult in Scala.
<natrium1970> I’ve been trying really, really hard to like the language. It isn’t working.
<Armael> :D
racycle has joined #ocaml
<smondet> F# is kind-of half-way between scala and ocaml, weak type system (it has `null`) but less messy than scala
<natrium1970> I was amazing in my class by OCaml because once my program got past the type checking, it just worked.
tchell has quit [Ping timeout: 245 seconds]
<def`> natrium1970: depends on what you want to do, if you need to use Java API (especially gui), you probably don't want to use ocaml
<natrium1970> F# has the lock in to .NET (or uh, Mono), although I know Xamarin has a complex mechanism to get it to work on iPhone. Is there a better channel to discuss this in general? I don’t want to bother people with my somewhat off-topic question.
<natrium1970> I want the simplicity of OCaml with the ability to write GUI apps for the computer and Android/iOS apps. This seems to be asking the impossible.
tani has joined #ocaml
struktured has quit [Ping timeout: 240 seconds]
<smondet> natrium1970: ocaml-java can be promising for android also (there is a meetup in NYC this evening by the way: http://www.meetup.com/NYC-OCaml/events/189659582/)
<Drup> smondet: according to th thread in the ML, it woudln't work
<natrium1970> What wouldn’t work?
<Drup> "In practice, the problem is that OCaml-Java emits classes for Java 1.7 while (to the best of my knowledge) Android only accepts Java 1.6 classes."
<adrien> is the second part of that sentence up-to-date?
<Drup> seems like a better bet to me
elfring has joined #ocaml
tane has quit [Ping timeout: 244 seconds]
<def`> to get decent performance with first-class functions, you probably need functional java features (methodhandle, require 1.7, or even dynamikeinvoke, require 1.8)… dalvik is stuck in the past.
<def`> an old version of ocamljava was able to generate 1.6 classes if I remember well, but I wouldn't recommend to go this way :P
<natrium1970> I worry about how functional languages in general are handled in JVMs because a lot of things that cheap or zero cost when compiling to native code seem like they would be costly on a JVM and probably .NET, too.
tchell has joined #ocaml
wwilly has quit [Quit: Leaving]
<def`> natrium1970: support from jvm has greatly improved in latest versions, but this has not made its way to android vm (… and might never do)
natrium1970 has left #ocaml [#ocaml]
natrium1970 has joined #ocaml
natrium1970 has quit [Quit: natrium1970]
natrium1970 has joined #ocaml
Puffin has joined #ocaml
<natrium1970> I was wondering how well the no-side-effects and immutable data structures are optimized in VMs. I already ready that tail calls are a problem in JVM.
BitPuffin has quit [Ping timeout: 240 seconds]
<Drup> aren't tail calls optimized before even being at the JVM point ?
eikke__ has joined #ocaml
<def`> Drup: "optimized"… it's more expensive to introduce trampoline than to rely on a proper handling by the VM
<Drup> right
<natrium1970> Some tail calls are optimized, but I don’t know if they are use zero stack space. Also, mutual recursion isn’t optimized from what I read.
<natrium1970> .NET has tailcalls. :-|
maattdd_ has quit [Ping timeout: 248 seconds]
JokerDoom has joined #ocaml
libertas has quit [Ping timeout: 272 seconds]
<ousado> isn't it possible to rewrite tail calls to loops in the general case?
jwatzman|work has joined #ocaml
_JokerDoom has quit [Ping timeout: 244 seconds]
<ousado> AFAIK that's what ATS does, at least
<mrvn> everything can be rewritten to loop
<mrvn> the natural conversion would be goto though
<natrium1970> But goto isn’t available outside of the current method on the JVM.
<def`> ousado: tail-rec yes, tail-call… not in the general case
<def`> (AFAIK, I might be wrong of course :))
<Drup> def`: oh right, I had tail-rec in mind
<ousado> yeah, I tend to be sloppy when it comes to tail recursion
<mrvn> you can have tail recursion bouncing between 2 function back and forth.
<natrium1970> That’s when the limitations of the JVM come in.
<mrvn> then you can combine the 2 fuinctions into one with gotos between them.
<natrium1970> But the JVM imposes a limit on the size of a single method. I’m not sure if that’s a problem in the usual case.
penglingbo has quit [Remote host closed the connection]
<def`> ousado: Drup: with tail-rec, it works because you can rewrite code at definition site
<def`> to provide general tail-call support, you have to handle first-class functions
<ousado> hmmm
<ousado> that's why ocaml has that calling convention, I read
<ousado> how does the interpreter handle that?
<def`> well it's natural for the interpreter to handle that
<def`> the interpreter either use a big switch jumping from instruction to instruction, or rewrite bytecode to be threaded (directly pointing to the address to jump to)
<def`> so C-stack is not involved AFAICT
<ousado> of course
jonludlam has quit [Read error: Connection reset by peer]
dsheets has quit [Excess Flood]
dsheets has joined #ocaml
<ousado> I'm thinking about how to deal with tail calls in haxe (especially the C target)
<Drup> you can look at how llvm does it
<Drup> they have something to handle tail calls
<def`> ousado: you are developing on haxe ?
<ousado> just working on the C target (for now)
<def`> ok
<ousado> so I'm not a core-compiler dev
<natrium1970> Is Haxe anything like OCaml?
<ousado> yes
<natrium1970> I hadn’t heard of it before, and I just pulled up some info about it.
<ousado> it has almost all that's required to be a real good language, but the stdlib is lacking and yeah, tail calls
<natrium1970> And it runs on Android and iOS?
<ousado> wherever any of the target languages run so totally, yes
<natrium1970> That sounds too good to be true.
<ousado> indeed
mort___ has quit [Ping timeout: 260 seconds]
<natrium1970> What’s the downside then?
<ousado> "stdlib is lacking and yeah, tail calls"
<Drup> small community I would guess, even smaller than ocaml ?
<ousado> it has the best metaprogramming infrastructure under the sun, to phrase it modestly
<ousado> ;P
<Drup> better than lisp ? :D
<ousado> sure
<natrium1970> But #ocaml is the most helpful channel I’ve been on in a while. You people are very friendly and informative.
<mrvn> That's because ocaml is/has "fun"
<ousado> Drup: because types, you know
<natrium1970> This will sound superficial, but I have problems with LISPy languages because my eyes have difficulty following the parentheses.
<Drup> natrium1970: you're not the only one.
<natrium1970> Parentheses in particuar are bad, especially in certain fonts. Braces or braces are less so.
<mrvn> {{{{{+ {* 1 2}}}}}}
<ousado> oh and re community size, it's less about the size than about what most of the community does
<ousado> which is games
<mrvn> natrium1970: doesn't realy improve things
<natrium1970> It depends somewhat on the font characteristics. I must say that your example isn’t too horrible in Monaco (monospaced) but is cryptic in the non-monospaced font on my IRC app.
<Drup> you can do worse
<Drup> <<<<<+ <* 1 2>>>>>>
<mrvn> natrium1970: the problem is counting and matching them
<Drup> (yay rust)
<natrium1970> In the Adv Prog Course, we wrote some programs in lambda calculus . They were unreadable.
<Drup> sure, lisp is lambda calculus with a standard library
jsvgoncalves has joined #ocaml
<natrium1970> I’m leaving, but I again wanted to thank everyone for helping.
natrium1970 has quit [Quit: natrium1970]
martinsk has joined #ocaml
racycle has quit [Ping timeout: 272 seconds]
Kakadu has quit [Ping timeout: 246 seconds]
racycle has joined #ocaml
martintrojer has quit [Ping timeout: 260 seconds]
divyanshu has quit [Quit: Textual IRC Client: www.textualapp.com]
maattdd_ has joined #ocaml
martintrojer has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
maattdd_ has quit [Ping timeout: 240 seconds]
demonimin_ has quit [Quit: No Ping reply in 180 seconds.]
demonimin has joined #ocaml
demonimin has quit [Changing host]
demonimin has joined #ocaml
manizzle has quit [Ping timeout: 248 seconds]
racycle has quit [Ping timeout: 244 seconds]
racycle has joined #ocaml
dsheets has quit [Ping timeout: 248 seconds]
tnguyen1 has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
seanmcl has joined #ocaml
seanmcl has quit [Max SendQ exceeded]
seanmcl has joined #ocaml
Kakadu has joined #ocaml
WraithM has joined #ocaml
Puffin has quit [Quit: See you on the dark side of the moon!]
BitPuffin has joined #ocaml
waneck has quit [Ping timeout: 272 seconds]
waneck has joined #ocaml
f[x] has quit [Ping timeout: 252 seconds]
maattdd_ has joined #ocaml
manizzle has joined #ocaml
claudiuc has joined #ocaml
f[x] has joined #ocaml
dsheets has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
ustunozg_ has joined #ocaml
siddharthv_away has quit [Ping timeout: 264 seconds]
averell has quit [Ping timeout: 245 seconds]
struktured has joined #ocaml
jwatzman|work has joined #ocaml
f[x] has quit [Ping timeout: 272 seconds]
averell has joined #ocaml
averell is now known as Averell
jsvgoncalves has quit [Ping timeout: 272 seconds]
jludlam has joined #ocaml
jsvgoncalves has joined #ocaml
fold has quit [Ping timeout: 240 seconds]
jsvgoncalves has quit [Ping timeout: 240 seconds]
_andre has quit [Quit: leaving]
martinsk has quit [Quit: This computer has gone to sleep]
struktured has quit [Ping timeout: 240 seconds]
slash^ has quit [Read error: Connection reset by peer]
elfring has quit [Quit: Konversation terminated!]
SethTisue has quit [Ping timeout: 248 seconds]
SethTisue has joined #ocaml
<tobiasBora> Bonjour,
<tobiasBora> Hello*
<tobiasBora> I would like to know if it is possible to have a simple syntax to "chain" facultative argument
<tobiasBora> and their default values
<tobiasBora> I mean
<tobiasBora> If I have this function :
<tobiasBora> let mylongname ?hello:(hello = "bonjour") () = Printf.printf "%s" hello;;
<tobiasBora> If I want to use an other function which use some common arguments with mylongname, if would looks like :
<tobiasBora> let short ?hello:(hello = "bonjour") () = mylongname ~hello;;
<flux> maybe you want
<asmanur> you can do let short ?hello () = mylongname ?hello
<flux> let short ?hello () = mylongname ?hello
<tobiasBora> However, if I want to change the default value I need to change it for two functions...
<tobiasBora> flux: asmanur: It seems to be what I want... But what is the good syntax if the parameter isn't the same ? I mean if short has in parameter "hello1" instead of "hello" ?
<flux> ?hello:hello1
<flux> it's the same as with ~
<flux> but ? passes the 'optionieness' of the value
<flux> so for example mylongname ?hello:None ()
<tobiasBora> Oh ok it works great thank you !
<tobiasBora> And is there a shorter syntax for ?hello:(hello = "bonjour") (when the variable is the same as the parameter)
<flux> yes
<flux> works with ~ as well
<flux> as you used it
<flux> oh right
<flux> you were asking different thing :)
<flux> ?(hello="bonjour")
<tobiasBora> Thank you !
thomasga has quit [Ping timeout: 252 seconds]
tnguyen1 has quit [Quit: tnguyen1]
martinsk has joined #ocaml
squiggnet has quit [Ping timeout: 244 seconds]
hhugo has quit [Quit: Leaving.]
testcocoon has quit [Quit: Coyote finally caught me]
axiles has quit [Remote host closed the connection]
<mbac> seliopou, i see.
testcocoon has joined #ocaml
shinnya has joined #ocaml
tnguyen1 has joined #ocaml
hhugo has joined #ocaml
robink has quit [Remote host closed the connection]
robink has joined #ocaml
struktured has joined #ocaml
<mbac> seliopou, what's happening to the error that's raised before the server deadlocks? i'd expect it would be raised to the toplevel and end the program
<seliopou> mbac: it turns into a disconnect event
<mbac> hmm
<seliopou> i'm starting to realize that this is not a great interface
<mbac> what about doing the write and choosing on either flushed or the monitor's exn stream?
iZsh has quit [Ping timeout: 245 seconds]
ggole has quit []
struktured has quit [Ping timeout: 240 seconds]
iZsh has joined #ocaml
divyanshu has joined #ocaml
divyanshu has quit [Client Quit]
divyanshu has joined #ocaml
passiveobserver has quit [Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)]
jao has quit [Ping timeout: 272 seconds]
struktured has joined #ocaml
tani has quit [Quit: Verlassend]
adrien_o1w has joined #ocaml
hausdorff has joined #ocaml
hausdorf_ has joined #ocaml
hausdorff has quit [Read error: Connection reset by peer]
divyanshu has quit [Quit: Computer has gone to sleep.]
adrien_oww has quit [Ping timeout: 272 seconds]
tobiasBora has quit [Quit: Konversation terminated!]
struktured has quit [Ping timeout: 244 seconds]
alpounet has quit [Remote host closed the connection]
alpounet has joined #ocaml
lordkryss has quit [Ping timeout: 244 seconds]
Alex[sp3dev] has joined #ocaml
alpounet has quit [Ping timeout: 248 seconds]
tezl has joined #ocaml
<tezl> hi, I am thinking about trying to embed ocaml inside a C program to allow users to run ocaml programs -- is this possible? I see in the guide that I can call ocaml functions from C, but these need to be compiled first
<whitequark> tezl: it is possible. you can write something that uses compiler-libs and dynlink to dynamically generate ocaml binaries and load them
<whitequark> or as a simpler but more crude solution, use Toploop
<tezl> whitequark: ok, thank you -- I'm looking at embedding a functional language in general -- it doesn't have to be ocaml -- can you think of a better option?
squiggnet has joined #ocaml
<whitequark> Scheme?
<Drup> what is it for ?
<whitequark> there are plenty of very nicely embeddable Scheme implementations.
<whitequark> I can't quite think of something typechecked that would play nicely with C and dynamic code loading.
<whitequark> maybe you could manage to embed Typed Racket, then you'd get kinda best of both worlds
<tezl> Drup: I am making a (toy) distributed processing system and I feel more comfortable doing network code in C and then I will have each node executing a higher-level script
divyanshu has joined #ocaml
<whitequark> tezl: do you really need interactive loading?
<whitequark> on an unrelated note, I heavily encourage you to write the networking code in OCaml. it would be immensely cleaner
<whitequark> I recently implemented a somewhat complex networked app in OCaml and never looked back. it's not even comparable.
<Drup> funny, people usually try to build solid fundations before putting the weird on top of it, not the other way around :D
squiggnet has quit [Ping timeout: 240 seconds]
<Drup> but, as whitequark says, I don't think interactive loading is really a super good solution.
<whitequark> I understand that interactive development can be a right solution for some use cases
<whitequark> but you really need to evaluate whether yours is one of them, because I'm not aware of a cheap way to do it
<whitequark> unfortunately.
thomasga has joined #ocaml
<tezl> ok, well, I am open to better ideas -- I am only in the planning phase -- I was initially thinking of embedding Python, but then thought a functional language would be nicer
<whitequark> I personally would write the networking code in OCaml, then link the foundation together with OCaml toplevel to play with it
<whitequark> then write the final version and ship it without any REPL
<whitequark> I would definitely not touch C at any stage of development, it is annoying and completely pointless
hausdorf_ has quit [Remote host closed the connection]
divyanshu has quit [Quit: Computer has gone to sleep.]
dant3 has quit [Ping timeout: 252 seconds]
lordkryss has joined #ocaml
dant3 has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ustunozg_ has quit [Remote host closed the connection]
rand000 has joined #ocaml
rand000 has quit [Read error: Connection reset by peer]
rand000 has joined #ocaml
philtor has joined #ocaml
ustunozgur has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
hhugo has quit [Quit: Leaving.]
ustunozgur has joined #ocaml
hhugo has joined #ocaml
WraithM has quit [Quit: Lost terminal]
WraithM has joined #ocaml
malo has quit [Remote host closed the connection]
maattdd_ has quit [Quit: WeeChat 0.4.3]
tezl has quit [Ping timeout: 248 seconds]
martinsk has quit [Quit: This computer has gone to sleep]
tezl has joined #ocaml
madroach has quit [Ping timeout: 252 seconds]
madroach has joined #ocaml
darkf has joined #ocaml
jludlam has quit [Remote host closed the connection]
jwatzman|work has quit [Quit: jwatzman|work]
tautologico has joined #ocaml
hausdorff has joined #ocaml
martinsk has joined #ocaml
hausdorff has quit [Remote host closed the connection]