gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
<dsheets> Int32 is signed, yes? and the comparison ops respect that. Is there a way to access unsigned Int32s?
cthuluh has quit [Remote host closed the connection]
cthuluh has joined #ocaml
lopex has quit []
dnolen_ has joined #ocaml
<thelema> sorry, no unsigned int32 or int64 builtin to ocaml.
<thelema> dsheets: IIRC, there's a library that does its best for this, you'll have to do some searching, I can't recall the name
alexyk has quit [Quit: alexyk]
<dsheets> sok, just wondering
groovy2shoes has quit [Quit: It is now safe to turn off your groovebot.]
joewilliams is now known as joewilliams_away
othiym23 has quit [Quit: Leaving...]
sebz has quit [Quit: Computer has gone to sleep.]
schmrkc has quit [Ping timeout: 276 seconds]
sebz has joined #ocaml
schmrkc has joined #ocaml
sepp2k has joined #ocaml
todun has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
othiym23 has joined #ocaml
joewilliams_away is now known as joewilliams
Transformer has joined #ocaml
Transformer has quit [Excess Flood]
Julien_T has quit [Ping timeout: 258 seconds]
othiym23 has quit [Ping timeout: 264 seconds]
StepanKuzmin has joined #ocaml
StepanKuzmin has quit [Remote host closed the connection]
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
khia0 has joined #ocaml
khia0 has left #ocaml []
ankit9 has joined #ocaml
jmcarthur has quit [Ping timeout: 250 seconds]
jmcarthur has joined #ocaml
mgodshall has joined #ocaml
ulfdoz has joined #ocaml
joewilliams is now known as joewilliams_away
ankit9 has quit [Quit: Leaving]
dnolen_ has quit [Quit: dnolen_]
ftrvxmtrx has quit [Quit: This computer has gone to sleep]
sepp2k has quit [Quit: Leaving.]
Julien_Tz has joined #ocaml
Julien_Tz is now known as Julien_T
ulfdoz has quit [Ping timeout: 264 seconds]
othiym23 has joined #ocaml
othiym23 has quit [Ping timeout: 252 seconds]
edwin has joined #ocaml
todun has quit [Quit: :q]
Ambriely has joined #ocaml
larhat has joined #ocaml
ikaros has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
Ambriely has quit [Remote host closed the connection]
bobry1 has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
rby has quit [Quit: Lost terminal]
avsm has joined #ocaml
Cyanure has joined #ocaml
munga has joined #ocaml
rgee has quit [Ping timeout: 255 seconds]
avsm has quit [Quit: Leaving.]
eikke has joined #ocaml
ftrvxmtrx has joined #ocaml
StepanKuzmin has joined #ocaml
avsm has joined #ocaml
thelema has quit [Read error: Operation timed out]
thelema has joined #ocaml
avsm has quit [Quit: Leaving.]
Amorphous has quit [Ping timeout: 260 seconds]
ikaros has joined #ocaml
Amorphous has joined #ocaml
avsm has joined #ocaml
lopex has joined #ocaml
bobry has quit [Ping timeout: 260 seconds]
jonafan has quit [Ping timeout: 276 seconds]
jonafan has joined #ocaml
bobry has joined #ocaml
avsm1 has joined #ocaml
avsm has quit [Ping timeout: 276 seconds]
iratsu has quit [Ping timeout: 255 seconds]
_andre has joined #ocaml
iratsu has joined #ocaml
jonafan has quit [Ping timeout: 260 seconds]
StepanKuzmin has quit [Remote host closed the connection]
StepanKuzmin has joined #ocaml
StepanKuzmin has quit [Remote host closed the connection]
StepanKuzmin has joined #ocaml
bobry1 has quit [Read error: Connection reset by peer]
bobry1 has joined #ocaml
lamawithonel__ has quit [Read error: Connection reset by peer]
<hcarty> bobry: Somewhere around 3.10.0 or 3.11.0 the revised syntax was changed somewhat. The infix operator syntax was one thing to change to match the original syntax.
<eikke> is there a reason List.map is not tail-recursive?
<hcarty> eikke: There was some discussion about this on the mailing list at some point.
<hcarty> eikke: I think it came down to faster for short lists vs tail-recursive for long lists
sebz has quit [Quit: Computer has gone to sleep.]
<hcarty> Batteries and Core have tail-rec List.map functions. Jane St. has posted a number of quick, tail-rec List.map implementations on their OCaml blog.
<eikke> reading one of them :)
eb4890 has joined #ocaml
dnolen_ has joined #ocaml
jonafan has joined #ocaml
ankit9 has joined #ocaml
waern_ has joined #ocaml
waern has quit [Ping timeout: 258 seconds]
StepanKuzmin has quit [Remote host closed the connection]
ftrvxmtrx has quit [Ping timeout: 258 seconds]
ftrvxmtrx has joined #ocaml
eb4890 has quit [Ping timeout: 255 seconds]
eikke has quit [Quit: Lost terminal]
eb4890 has joined #ocaml
edwin has quit [Remote host closed the connection]
Cyanure has quit [Remote host closed the connection]
Cyanure has joined #ocaml
lamawithonel has joined #ocaml
rby has joined #ocaml
dnolen_ has quit [Quit: dnolen_]
lamawithonel_ has joined #ocaml
lamawithonel has quit [Ping timeout: 255 seconds]
lamawithonel__ has joined #ocaml
lamawithonel_ has quit [Ping timeout: 276 seconds]
rgee has joined #ocaml
StepanKuzmin has joined #ocaml
ankit9 has quit [Ping timeout: 255 seconds]
mart has quit [Remote host closed the connection]
ztfw has joined #ocaml
eb4890 has quit [Ping timeout: 250 seconds]
eb4890 has joined #ocaml
lopex has quit []
Julien_T has quit [Ping timeout: 250 seconds]
lamawithonel__ has quit [Remote host closed the connection]
edwin has joined #ocaml
lamawithonel has joined #ocaml
lopex has joined #ocaml
<NaCl> hmmm...
<NaCl> so Jane Street's "core" library is just an alternate standard library?
<NaCl> like batteries?
<hcarty> NaCl: Yes, but internally developed rather than community developed
<NaCl> hm
<NaCl> advantages of one over another?
<hcarty> NaCl: Core is probably more consistent in its design than Batteries (although that is improving in Batteries)
<hcarty> NaCl: The IO system in Batteries is quite nice
<hcarty> As is the *.print structure
* NaCl has never used either
<hcarty> They are both worth trying
<hcarty> Batteries has the benefit of being openly developed, so you can track the progress of bug fixes and new feature development
<hcarty> Core has probably received more thorough testing since (as I understand it) Core is used pervasively at Jane St.
<NaCl> yeah
<NaCl> uh
* NaCl doesn't really have anything to make that could use either library at this time
<thelema> batteries keeps much more compatibility with stdlib than core
lamawithonel_ has joined #ocaml
lamawithonel has quit [Ping timeout: 255 seconds]
<NaCl> what to do, what to do...
<adrien> I might have to use NM tonight, it'd be great to have a better frontend
<adrien> hint, hint :P
<NaCl> mmm
<adrien> you have 2 hours left to do it
<adrien> oh, btw, lablgtk3 is starting to be worked on
<NaCl> neither batteries or Core is in Fedora
<thelema> huh, I thought batteries was. The easiest way to install batteries is via odb: curl -O https://github.com/thelema/odb/raw/master/odb.ml
<thelema> and then ocaml odb.ml batteries
<NaCl> hm
<NaCl> woo system package managers
rgee has quit [Ping timeout: 255 seconds]
<thelema> https://bugzilla.redhat.com/show_bug.cgi?id=528454 <- stuck in todo queue since 2009
bobry1 has quit [Ping timeout: 255 seconds]
joewilliams_away is now known as joewilliams
lamawithonel_ has quit [Ping timeout: 258 seconds]
eb4890 has quit [Ping timeout: 255 seconds]
avsm1 has quit [Quit: Leaving.]
iratsu has quit [Ping timeout: 250 seconds]
larhat has quit [Quit: Leaving.]
ftrvxmtrx has quit [Quit: This computer has gone to sleep]
avsm has joined #ocaml
smaj100 has joined #ocaml
<smaj100> hello everyone. Anyone able to help me with some issues. Im a newbie
<thelema> yes, ask away
iratsu has joined #ocaml
<smaj100> I am so new its not funny. I understand basic principles for cad, and I have a file the is 3d mesh for a ar15 lower receiver. I am trying to get it into any cam software to generate the toolpath and gcode.
Cyanure has quit [Read error: Connection reset by peer]
<thelema> umm, this channel is for the ocaml programming language, not the cad drawing programs
<smaj100> sorry i misread the channel title.
<thelema> n/p, good luck
<smaj100> ty
smaj100 has left #ocaml []
<NaCl> wha?
<thelema> NaCl: CAD/CAM
<thelema> as in architectural/engineering drawings
<NaCl> I know
<NaCl> but where did that come from?
<thelema> o"cam"l?
<NaCl> oh
bobry has quit [Quit: Leaving.]
bobry has joined #ocaml
zorun has joined #ocaml
sepp2k has joined #ocaml
mgodshall has quit [Quit: leaving]
othiym23 has joined #ocaml
avsm has quit [Quit: Leaving.]
munga has quit [Read error: Operation timed out]
yezariaely has joined #ocaml
Julien_Tz has joined #ocaml
Julien_Tz is now known as Julien_T
<thelema> Option.apply : ('a -> 'b) option -> 'a -> 'b
<thelema> is there a better name than apply?
<thelema> err, ('a -> 'a) option -> 'a -> 'a
ulfdoz has joined #ocaml
<hcarty> thelema: Why ('a -> 'a)?
<hcarty> Oh.
<hcarty> Nevermind
iratsu has quit [Ping timeout: 240 seconds]
<thelema> hmm, I seem to use it as: let do ?x = Option.map (fun x y -> ...) x |> Option.apply
yezariaely has left #ocaml []
* NaCl wonders what the differences between bin-prot 1.3.0 and 1.3.1 are
<adrien> incompatibility with 3.12.1 I think
<NaCl> with the latter or with the former?
<adrien> it was trying to compare bigarrays with a C layout and a fortran layout
<adrien> former I believe
<NaCl> former is newer
<adrien> (I don't know the version numbers)
<adrien> it was an old bug triggered by a fix in 3.12.1
<thelema> ocaml used to allow comparison between bigarrays with different layouts, this was fixed. bin-prot used it (accidentally), thus bin-prot had to be fixed
<thelema> NaCl: you're right, the dates are incorrect.
* NaCl is reminded that he may have to poke Markus about something else too
<NaCl> thelema: so, uh, should I use 1.3.0, then?
* NaCl is trying to compile Core
<thelema> I don't know.
<adrien> no, 1.3.1, the msot recent
<adrien> well, I assert that
<NaCl> 1.3.0 *is* the most recent
<thelema> 1.3.0 is the newest in bin-prot's mercurial repo
<thelema> I dunno what 1.3.1 is, maybe a typo from 1.2.1?
<NaCl> It's not a typo
<NaCl> inconsistent versioning ftl
<thelema> well, there's seemingly two repos with two versioning systems going on
<thelema> yup
<NaCl> yeah. No idea who to go with here
<adrien> according to http://hg.ocaml.info/release/bin-prot , 1.3.0 has the fix
<NaCl> although Core wants 1.3.1
<thelema> NaCl: then you have to go with 1.3.1. if that's incompatible with 3.12.1, you're hosed.
<NaCl> the interfaces look identical
<thelema> sadly, batteries isn't compatible with 3.12.1, as the hashing infrastructure changed under us.
<edwin> hi
<edwin> is there a way to scanf a Lwt stream/input_channel
<edwin> I see printfs in Lwt_io, but no scanf
<NaCl> wat
<NaCl> ocaml has man pages?
<NaCl> poorly formatted man pages
<adrien> yes it does :P
<adrien> dunno, myabe I got used to that
<adrien> NaCl: it's ocamldoc, it has a number of outputs
<NaCl> edwin: I would just read the stream and Scanf.scanf it
* NaCl has to go
<NaCl> bbiab
<edwin> yeah I guess I could use read_char until I encounter my separator
* NaCl has to figure out what opensuse package contains the libc man pages when he returns
Cyanure has joined #ocaml
sepp2k has quit [Ping timeout: 255 seconds]
Cyanure has quit [Remote host closed the connection]
ftrvxmtrx has joined #ocaml
sepp2k has joined #ocaml
iratsu has joined #ocaml
jamii has joined #ocaml
<hcarty> thelema: Option.apply seems like a reasonable name. I've had a use for something like that in the past.
<thelema> hcarty: did you follow my usage pattern - converting an optional value into an optional function to apply?
<hcarty> thelema: Yes
<thelema> does it make sense to bundle that into a single larger function : 'a option -> ('a -> 'b -> 'b) -> 'b -> 'b
<thelema> i.e. would that fit your usage?
<thelema> your usage of apply?
alexyk has joined #ocaml
impy has quit [Remote host closed the connection]
<hcarty> thelema: I'm not sure - it's been a while so I'd have to think on it
<thelema> fair enough
munga has joined #ocaml
elehack has joined #ocaml
_andre has quit [Quit: leaving]
Anarchos has joined #ocaml
ulfdoz has quit [Ping timeout: 260 seconds]
jamii has quit [Ping timeout: 258 seconds]
sebz has joined #ocaml
<dsheets> Anyone split parser grammars over multiple files with menhir and built a multi-module executable with ocamlbuild? Normal dependency analysis fails and the multiple grammar modules must fed to menhir at once.
<thelema> dsheets: are your grammars mutually recursive?
jamii has joined #ocaml
<dsheets> no, i have simply factored the common token types out. I hope to reuse the token type in multiple sequential parsers
<dsheets> I hope menhir is smart enough to use the same type instead of producing two identical but incompatible types
<dsheets> Perhaps that's wrong
<thelema> I dunno enough about menhir to tell it that a particular token comes from another grammar
<dsheets> well, if I simply open the common grammar module then I need to fully qualify every token reference in that module
<dsheets> if I pass both modules to menhir at the same time, it does not matter but I believe it constructs a single monolithic parser from the result
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
munga has quit [Ping timeout: 276 seconds]
<thelema> ok, and you need to make ocamlbuild run menhir like this, because the normal dependency analysis doesn't do this automatically?
<dsheets> I am currently looking for a way to simply phase parsing as I'm done with the analysis and lexical stupidity of the preprocessor phase
<dsheets> and now have to parse the resulting stream with a different (glsl essl) grammar
<thelema> the result of parsing can be a token stream/list
<thelema> just as the result of lexing is a token stream/list
<dsheets> Yep. I have a type that represents these tokens albeit without the fine-grained constructors of a lexical analyzer
<dsheets> so I need a way to widen and emit this type to be consumed by another menhir parser
<dsheets> and it sure would be nice to use the same token type that the first parser used in the second parser. or is this thinking wrong? should I duplicate the type and not care?
edwin has quit [Remote host closed the connection]
<thelema> It sounds like you're making the parsing unnecessarily complex. What are you trying to parse?
<dsheets> essl shaders for webgl
<dsheets> which includes a bastardized c preprocessor
<dsheets> which works lexically
<thelema> really? ewww.
<dsheets> yes
<dsheets> i am the chosen pain-sink for this new abomination
<thelema> in that case, just make it work, and screw the duplication.
<dsheets> i am doing partial evaluation of preprocessor directives to resolve symbols so shader authors have anything resembling modularity
<dsheets> yuck, ok, sounds reasonable
<thelema> The best time to refactor is *after* you have a working version.
<thelema> then you'll understand both the problem and the tools better
<dsheets> wise. i am just now embarking on the second-phase parsing so i'm doing a little look-around to figure out the least-painful way to do it
<dsheets> i guess duplication is a small price to pay
<dsheets> thanks for the advice
<thelema> n/p
<dsheets> hmm i guess i never mix phases so it isn't that bad
StepanKuzmin has quit [Ping timeout: 260 seconds]
<thelema> huh, I thought I had built ocaml under cygwin/msvc32 properly, but I'm getting the error "Fatal error: cannot load shared library dllcamlstr..." as part of configuring findlib
<thelema> the (probably important) second part of that error is "Reason: the specified module could not be found" - this is when running a program (bytecode) compiled against str.cma
<thelema> the same program seems to run fine when compiled to native code
othiym23 has quit [Read error: Connection reset by peer]
sebz has quit []
sebz has joined #ocaml
othiym23 has joined #ocaml
Transformer has joined #ocaml
Transformer has quit [Excess Flood]
jamii has quit [Ping timeout: 260 seconds]
sepp2k has quit [Quit: Leaving.]
elehack has quit [Quit: Headed out, possibly to home]
iratsu has quit [Read error: Connection reset by peer]
Julien__T has joined #ocaml
alp_ has joined #ocaml
alpounet has quit [Ping timeout: 255 seconds]
Julien_T has quit [Ping timeout: 255 seconds]
jmcarthur has quit [Ping timeout: 255 seconds]
alp_ is now known as alpounet
Julien__T is now known as Julien_T
ztfw has quit [Remote host closed the connection]
rgee has joined #ocaml
mattam has quit [Ping timeout: 252 seconds]
lamawithonel has joined #ocaml
rgrinberg_ has joined #ocaml
sebz has quit []
rgee has quit [*.net *.split]
Tianon has quit [*.net *.split]
Tianon has joined #ocaml
alexyk has quit [Quit: alexyk]
joewilliams is now known as joewilliams_away
lamawithonel has quit [Ping timeout: 260 seconds]
lamawithonel has joined #ocaml
zorun has quit [Quit: leaving]
cthuluh has left #ocaml []
ftrvxmtrx has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
lamawithonel has quit [Ping timeout: 255 seconds]
lamawithonel has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
tnguyen has joined #ocaml
lamawithonel has quit [Ping timeout: 255 seconds]
tnguyen has quit [Remote host closed the connection]
jamii has joined #ocaml
joewilliams_away is now known as joewilliams
joewilliams is now known as joewilliams_away