ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
<Tekk_> hmm
<Tekk_> Anyone familiar with ctypes know how to avoid field clashes aside from C-style prefacing?
<Drup> field clashes ?
<Tekk_> yeah
<Tekk_> C structure a has field foo
<Tekk_> C structure b has field foo
<Tekk_> anything that later tries to access a.foo, ocaml thinks that it wants b.foo and gets confused
demonimin has joined #ocaml
<Tekk_> and complains about the type mismatch
<Drup> so, OCaml side, nothing really related to ctypes then
<Tekk_> it's related to ctypes
<Drup> either prefixing, module or using type based disambiguation
<Tekk_> it's a problem in defining a field for a struct exposed via ctypes
<Tekk_> okay
MrScout has joined #ocaml
asakim has quit [Remote host closed the connection]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
JuggleTux has joined #ocaml
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
BitPuffin has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
RossJH has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
travisbrady has quit [Quit: travisbrady]
nojb has quit [Quit: nojb]
NoNNaN has quit [Remote host closed the connection]
nojb has joined #ocaml
Simn has quit [Quit: Leaving]
Yoric has quit [Remote host closed the connection]
enitiz has joined #ocaml
<Tekk_> hm. Are you not allowed to use a struct as a default value for an optional argument? like ?(foo={x=0;y=0})
<Tekk_> I'm getting an error with trying that atm.
<Tekk_> about unbound fields
<Drup> you should be
<Tekk_> hm, okay
<Tekk_> any interaction with modules there?
<Tekk_> the type is val copy : t -> texture -> ?src:Rect.rect -> ?dest:Rect.rect -> (unit, string) Result.t
<Tekk_> Rect.rect is type rect = {x: int; y:int; w:int; h:int}
<nojb> you have to write {Rect.x=0; y=0} if Rect is not open in your scope
<Tekk_> ah, okay
<Tekk_> thanks
rock_neurotiko has joined #ocaml
<nojb> also don’t forget about the w, h fields
<Drup> Tekk_: and you have to give all the fields, obviously ...
<Tekk_> yep, I made sure with them :)
<Tekk_> yeah, it was missing Rect.
dav has quit [Ping timeout: 244 seconds]
<Leonidas> http://lambda.jimpryor.net/translating_between_OCaml_Scheme_and_Haskell/ most of the comments on OCaml can be answered by "Yes it's true, but …"
<Leonidas> whitequark: I like how you managed to sidetrack an AI discussion into a build system discussion with 2 sentences.
govg has quit [Ping timeout: 245 seconds]
<Leonidas> If you manage to sidetrack that into an editor discussion, I'll send you all of my dogecoins ;-)
<Tekk_> Leonidas: so what editor do you use to edit your build system files? ;)
jprakash has joined #ocaml
<Leonidas> :D
Hannibal_Smith has quit [Quit: Leaving]
kdef has joined #ocaml
AltGr has joined #ocaml
asakim has joined #ocaml
AltGr has left #ocaml [#ocaml]
asakim has quit [Ping timeout: 252 seconds]
uris77 has joined #ocaml
kdef has left #ocaml [#ocaml]
jao has quit [Ping timeout: 255 seconds]
kdef has joined #ocaml
kdef has quit [Client Quit]
Muzer has quit [Quit: ZNC - http://znc.sourceforge.net]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
Muzer has joined #ocaml
WraithM has quit [Quit: leaving]
marynate has joined #ocaml
badon has quit [Quit: Leaving]
jprakash has quit [Quit: leaving]
asakim has joined #ocaml
asakim has quit [Remote host closed the connection]
uris77 has quit [Quit: leaving]
asakim has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
Pepe_ has quit [Quit: leaving]
pyon has quit [Ping timeout: 244 seconds]
darkf has joined #ocaml
MisaMisa has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
djruffkutz has joined #ocaml
rgrinberg has joined #ocaml
marynate has quit [Ping timeout: 244 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
marynate has joined #ocaml
marynate has quit [Read error: Connection reset by peer]
marynate has joined #ocaml
djruffkutz has left #ocaml [#ocaml]
nullcat has joined #ocaml
badkins has quit []
marynate has quit [Quit: Leaving]
nullcat has quit [Client Quit]
nullcat has joined #ocaml
Pepe_ has joined #ocaml
nojb has quit [Ping timeout: 245 seconds]
Pepe_ is now known as pepe_
pepe_ is now known as pep_
pyon has joined #ocaml
nullcat has quit [Ping timeout: 256 seconds]
pep_ has left #ocaml [#ocaml]
jao has joined #ocaml
asakim has quit [Remote host closed the connection]
erikwr has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
enitiz has quit [Ping timeout: 255 seconds]
enitiz has joined #ocaml
NoNNaN has joined #ocaml
badon has joined #ocaml
rock_neurotiko has quit [Quit: No Ping reply in 180 seconds.]
rock_neurotiko has joined #ocaml
marynate has joined #ocaml
psy_ has quit [Ping timeout: 252 seconds]
MrScout has quit [Remote host closed the connection]
psy_ has joined #ocaml
marynate has quit [Ping timeout: 244 seconds]
rgrinberg has quit [Quit: Leaving.]
q66 has quit [Quit: Leaving]
enitiz has quit [Ping timeout: 255 seconds]
rossberg has quit [Ping timeout: 265 seconds]
rgrinberg has joined #ocaml
jao has joined #ocaml
manizzle has joined #ocaml
jao has quit [Ping timeout: 264 seconds]
nojb has joined #ocaml
<nojb> has there been any work done on integrating units of measure to ocaml ?
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 265 seconds]
kapil__ has joined #ocaml
govg has joined #ocaml
nojb has quit [Quit: nojb]
govg has quit [Ping timeout: 264 seconds]
BitPuffin has quit [Ping timeout: 265 seconds]
rock_neurotiko has quit [Ping timeout: 252 seconds]
rock_neurotiko has joined #ocaml
alkoma has quit [Remote host closed the connection]
psy_ has quit [Ping timeout: 256 seconds]
ygrek has joined #ocaml
psy_ has joined #ocaml
marynate has joined #ocaml
zwer_z has joined #ocaml
myyst has quit [Ping timeout: 244 seconds]
myyst has joined #ocaml
zwer has quit [Ping timeout: 250 seconds]
ggole has joined #ocaml
slash^ has joined #ocaml
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
govg has joined #ocaml
f[x] has joined #ocaml
ygrek_ has quit [Ping timeout: 245 seconds]
vanila has joined #ocaml
govg has quit [Ping timeout: 264 seconds]
govg has joined #ocaml
MercurialAlchemi has joined #ocaml
f[x] has quit [Ping timeout: 264 seconds]
rock_neurotiko has quit [Ping timeout: 252 seconds]
oscar_toro has joined #ocaml
rock_neurotiko has joined #ocaml
davine has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
oscar_toro has quit [Ping timeout: 255 seconds]
leowzukw has joined #ocaml
govg has quit [Quit: leaving]
Yoric has joined #ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
govg has joined #ocaml
Yoric has quit [Remote host closed the connection]
tane has joined #ocaml
AlexRussia has joined #ocaml
Yoric has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
ollehar has joined #ocaml
samrat has joined #ocaml
RossJH has joined #ocaml
rock_neurotiko has quit [Ping timeout: 265 seconds]
jonludlam has joined #ocaml
marynate has quit [Read error: Connection reset by peer]
mort___ has joined #ocaml
marynate has joined #ocaml
kapil__ has quit [Quit: Connection closed for inactivity]
marynate has quit [Max SendQ exceeded]
marynate has joined #ocaml
Yoric has quit [Remote host closed the connection]
chinglish has joined #ocaml
marynate has quit [Ping timeout: 252 seconds]
antegallya has joined #ocaml
marynate has joined #ocaml
Yoric has joined #ocaml
Simn has joined #ocaml
_5kg has quit [Ping timeout: 240 seconds]
davine has quit [Quit: Leaving]
davine has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
nojb has joined #ocaml
kapil__ has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
keen__________30 has joined #ocaml
Haudegen has joined #ocaml
keen__________29 has quit [Ping timeout: 264 seconds]
keen__________31 has joined #ocaml
keen__________30 has quit [Ping timeout: 264 seconds]
MercurialAlchemi has quit [Ping timeout: 252 seconds]
JuggleTux has quit [Ping timeout: 265 seconds]
_5kg has joined #ocaml
govg has quit [Ping timeout: 265 seconds]
<nojb> what the the purpose of the abbrev_memo ref in the Tconstr constructor (https://github.com/ocaml/ocaml/blob/trunk/typing/types.mli#L28) ?
<def`> nojb: if I remember well, it's a cache to improve complexity of typechecking
govg has joined #ocaml
<nojb> def`: thanks! useful to know
<def`> nojb: yep, when you expand an alias
<def`> e.g you have type 'a t = 'a * 'a
<def`> it is first stored as Tconstr (['a], [t], ref Mnil)
<def`> then during typechecking you might need to unify with 'a * 'a, the Mnil will be mutated to Mcons (_, _, Ttuple(['a],['a])) once and for all
<def`> abbreviations are cleared before marshalling (in cmi or cmt)
<nojb> I see
<def`> that's all I know, can't guarantee it's 100% correct ;)
<nojb> thanks it is very useful
vanila has quit [Quit: Leaving]
<nojb> What other sources of type aliases are being considered ? I guess that type constraints of abstract types are also a source of such abbrevs ?
MercurialAlchemi has joined #ocaml
<def`> hmm, I am not sure what you mean?
<ggole> module M = F (X) with type t = ...
<ggole> Where t is the alias
<ggole> (I think.)
<def`> well in this case, it's just a type constructor that gets a manifest added
<def`> so a this level, it's just a type_decl with a manifest = Some Tconstr
<nojb> the abbrevs are a list Mcons (…, Mcons (…, …)) but I am wondering what are the possible reasons why an entry would be added to the list
<ggole> Maybe they're just a list of abbreviations.
<ggole> Eg type t = int type s = t type u = s
* ggole is guessing :(
mort___ has left #ocaml [#ocaml]
Simn has quit [Read error: Connection reset by peer]
Simn has joined #ocaml
Pepe_ has joined #ocaml
JuggleTux has joined #ocaml
Cyanure has joined #ocaml
hekmek has joined #ocaml
antegallya has quit [Ping timeout: 244 seconds]
Yoric has quit [Remote host closed the connection]
Thooms has joined #ocaml
Yoric has joined #ocaml
samrat has joined #ocaml
enitiz has joined #ocaml
antegallya has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
oscar_toro has joined #ocaml
alexi5 has joined #ocaml
Yoric has quit [Ping timeout: 265 seconds]
antegallya has quit [Ping timeout: 245 seconds]
nicoo has quit [Ping timeout: 250 seconds]
kakadu has joined #ocaml
leowzukw_ has joined #ocaml
leowzukw has quit [Ping timeout: 264 seconds]
enitiz has quit [Ping timeout: 244 seconds]
nicoo has joined #ocaml
rfv has quit [Ping timeout: 245 seconds]
cojy has quit [Read error: Connection reset by peer]
n1ftyn8 has quit [Read error: Connection reset by peer]
msch has quit [Ping timeout: 265 seconds]
cojy has joined #ocaml
n1ftyn8 has joined #ocaml
rfv has joined #ocaml
msch has joined #ocaml
govg has quit [Ping timeout: 265 seconds]
BitPuffin has joined #ocaml
pdewacht has quit [Ping timeout: 255 seconds]
samrat has quit [Ping timeout: 264 seconds]
chinglish has quit [Ping timeout: 265 seconds]
chinglish has joined #ocaml
shinnya_ has joined #ocaml
samrat has joined #ocaml
kotee has joined #ocaml
q66 has joined #ocaml
antegallya has joined #ocaml
mort___ has joined #ocaml
mort___ has quit [Quit: Leaving.]
avsm has joined #ocaml
bjorkintosh has quit [Quit: Leaving]
bjorkintosh has joined #ocaml
alexi5 has quit [Ping timeout: 245 seconds]
nojb has quit [Quit: nojb]
rock_neurotiko has joined #ocaml
govg has joined #ocaml
nojb has joined #ocaml
vanila has joined #ocaml
rand000 has joined #ocaml
psy_ has quit [Read error: Connection reset by peer]
psy_ has joined #ocaml
AlexRussia has quit [Ping timeout: 255 seconds]
chinglish has quit [Ping timeout: 244 seconds]
chinglish has joined #ocaml
BitPuffin has quit [Ping timeout: 264 seconds]
adrien has quit [Remote host closed the connection]
adrien has joined #ocaml
gustav___ has quit [Ping timeout: 245 seconds]
gustav___ has joined #ocaml
Cyanure has quit [Remote host closed the connection]
nojb has quit [Quit: nojb]
avsm has quit [Quit: Leaving.]
nojb has joined #ocaml
seggy has quit [Ping timeout: 265 seconds]
nojb has quit [Client Quit]
struktured has quit [Ping timeout: 265 seconds]
struktured has joined #ocaml
seggy has joined #ocaml
samrat has quit [Ping timeout: 244 seconds]
pyon has quit [Ping timeout: 244 seconds]
* struktured is making an ocaml forge account.
nojb has joined #ocaml
BitPuffin has joined #ocaml
leowzukw_ has quit [Quit: Lost terminal]
samrat has joined #ocaml
pdewacht has joined #ocaml
pyon has joined #ocaml
<dmbaturin> Make sure that account is not forged.
<struktured> this is state of the art techonlogy running this web site, don't you worry.
lu324 has joined #ocaml
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
AlexRussia has joined #ocaml
darkf has quit [Quit: Leaving]
AlexRussia has quit [Ping timeout: 256 seconds]
kapil__ has quit [Quit: Connection closed for inactivity]
nojb has quit [Quit: nojb]
AlexRussia has joined #ocaml
eventualbuddha has joined #ocaml
<eventualbuddha> is oasis a good starting point for a ocaml newbie wanting to write a library?
uris77 has joined #ocaml
AlexRussia has quit [Ping timeout: 264 seconds]
Cyanure has joined #ocaml
<MercurialAlchemi> eventualbuddha: as a build system?
<eventualbuddha> MercurialAlchemi: yeah
<MercurialAlchemi> or as a library to study?
AlexRussia has joined #ocaml
<MercurialAlchemi> yeah, it works
<eventualbuddha> it seems like there is an awful lot of generated code. I kind of wonder if I’d be better off just starting with ocamlbuild so I can actually understand what’s going on
marynate has quit [Quit: Leaving]
pyon has quit [Ping timeout: 240 seconds]
zwer_z is now known as zwer
struktured has quit [Ping timeout: 252 seconds]
pyon has joined #ocaml
pyon has quit [Ping timeout: 245 seconds]
enitiz has joined #ocaml
mort___ has joined #ocaml
Yoric has joined #ocaml
araujo has quit [Read error: Connection reset by peer]
araujo has joined #ocaml
Yoric has quit [Ping timeout: 265 seconds]
uris77 has quit [Quit: leaving]
<Drup> the generated code is not very important ...
Yoric has joined #ocaml
pyon has joined #ocaml
vanila has quit [Quit: Leaving]
rgrinberg has joined #ocaml
pyon has quit [Ping timeout: 240 seconds]
pyon has joined #ocaml
mcc has joined #ocaml
leowzukw has joined #ocaml
Hannibal_Smith has joined #ocaml
nojb has joined #ocaml
jgjl has joined #ocaml
ingsoc has joined #ocaml
<ingsoc> hi
<ingsoc> is jocaml still being developed ?
<Drup> the last download is 4.01
nojb has quit [Quit: nojb]
<ingsoc> Drup: is jocaml still not multicore like ocaml is ?
<Drup> no idea.
<Drup> pretty sure it doesn't change, since it's message passing stuff.
dsheets__ has quit [Ping timeout: 240 seconds]
govg has quit [Ping timeout: 245 seconds]
<MercurialAlchemi> talking about released, don't we have a released ppx-enabled merlin yet?
govg has joined #ocaml
<ingsoc> it might be an idea for the documentation to reference other languages/approaches to highlight similarities or differences to maybe aid grokking it.
govg is now known as Guest47236
<ingsoc> and what is the official(unofficial) standard lib, I notice there's "Batteries Included" and also "Core"
<ingsoc> I was reading that there were some problems with the built in ocaml libs hence why these 3rd party ones were developed
<MercurialAlchemi> there is also containers
<MercurialAlchemi> the problem with the default stdlib is that it's quite limited
<MercurialAlchemi> and awful in some places
<ingsoc> I think I read some functions had been built without using tail calls that could result in exhausting stack
Guest47236 has quit [Quit: leaving]
govg_ has joined #ocaml
<MercurialAlchemi> well, not everything can be tail rec
<MercurialAlchemi> but I wouldn't say that's the biggest issue with the default stdlib
<MercurialAlchemi> (nice username btw)
<ggole> A bunch of the list functions
<Drup> that's not really an issue anyway
<ingsoc> I was just mentioning something I had read
<ggole> They could be tail recursive if people cared enough.
<ingsoc> not saying it is the death nell for the standard lib
<Drup> ggole: for list.map, it's annoying
<ggole> (I admit it's not all that important in practice.)
<def`> MercurialAlchemi: ping rks` :D
rgrinberg has quit [Quit: Leaving.]
<rks`> def`: ?
<rks`> ah
<rks`> Yes
<rks`> right
<rks`> It'll be done
<rks`> no worries
rgrinberg has joined #ocaml
hekmek has quit [Quit: Verlassend]
baz_ has joined #ocaml
antegallya has quit [Ping timeout: 244 seconds]
Yoric has quit [Remote host closed the connection]
oscar_toro has quit [Ping timeout: 244 seconds]
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
wwilly has joined #ocaml
struktured has joined #ocaml
mcc has quit [Quit: This computer has gone to sleep]
govg_ has quit [Ping timeout: 244 seconds]
govg_ has joined #ocaml
<zozozo> hi, is there an existing module/library for persistent hash tables ?
rgrinberg has quit [Quit: Leaving.]
* MercurialAlchemi isn't worried
<ggole> zozozo: ocaml-hamt, maybe
slash^ has quit [Read error: Connection reset by peer]
mort___ has quit [Quit: Leaving.]
<zozozo> ggole: thx
Muzer has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
oscar_toro has joined #ocaml
govg_ has quit [Ping timeout: 265 seconds]
govg has joined #ocaml
Muzer has joined #ocaml
kotee has left #ocaml [#ocaml]
mort___ has joined #ocaml
kotee has joined #ocaml
willy_ has joined #ocaml
_5kg has quit [Ping timeout: 240 seconds]
wwilly has quit [Ping timeout: 264 seconds]
davine has quit [Quit: Leaving]
tani has joined #ocaml
tane has quit [Killed (kornbluth.freenode.net (Nickname regained by services))]
tani is now known as tane
Yoric has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
ebzzry has joined #ocaml
Yoric has quit [Remote host closed the connection]
vpm has quit [Quit: co'o]
nullcat has joined #ocaml
<nullcat> https://twitter.com/avsm/status/554310724806537216 apparently i can still get Mirage's main github page from Google's result
mort___ has quit [Quit: Leaving.]
_5kg has joined #ocaml
vpm has joined #ocaml
slash^ has joined #ocaml
bytbox has quit [Remote host closed the connection]
anemator has joined #ocaml
anemator has quit [Remote host closed the connection]
rock_neurotiko has quit [Ping timeout: 245 seconds]
ggole has quit []
regnat has quit [Remote host closed the connection]
slash^ has quit [Read error: Connection reset by peer]
rgrinberg has quit [Quit: Leaving.]
f[x] has joined #ocaml
rgrinberg has joined #ocaml
oriba has joined #ocaml
nullcat has quit [Remote host closed the connection]
<dmbaturin> Why 'fun x -> raise (Failure "something)"' has type 'a -> 'b? The 'a part is obvious, but 'b confuses me.
<dmbaturin> Or, raise being "exn -> 'a" confuses me.
<whitequark> type 'a means the term does not evaluate to a value
<whitequark> i.e. its evaluation never finishes. it either loops forever, raises, exits, or something
Yoric has joined #ocaml
<dmbaturin> whitequark: No function that does evaluate to something can have 'a -> 'b type?
<whitequark> dmbaturin: not unless it breaks the type system
<whitequark> (an example of the latter would be Obj.magic)
bytbox has joined #ocaml
mengu has joined #ocaml
Haudegen has quit [Ping timeout: 245 seconds]
Haudegen has joined #ocaml
baz_ has quit [Quit: baz_]
ingsoc has quit [Quit: Leaving.]
antegallya has joined #ocaml
mort___ has joined #ocaml
RossJH has quit [Quit: Textual IRC Client: www.textualapp.com]
kakadu has quit [Remote host closed the connection]
<kotee> dmbaturin: a pragmatic aspect is: fun x -> raise gets 'b to be good to be used in either (match i with | 1 -> () | _ -> this_f i) or (match s with | "foo" -> 42 | _ -> this_f s) ...
rand000 has quit [Quit: leaving]
rgrinberg has quit [Quit: Leaving.]
mcclurmc_ has joined #ocaml
nojb has joined #ocaml
rgrinberg has joined #ocaml
mcclurmc has quit [Ping timeout: 264 seconds]
Cyanure has quit [Remote host closed the connection]
oscar_toro has quit [Ping timeout: 240 seconds]
MercurialAlchemi has quit [Ping timeout: 264 seconds]
nojb has quit [Quit: nojb]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
knoedl has quit [Read error: Connection reset by peer]
rock_neurotiko has joined #ocaml
Muzer has quit [Read error: Connection reset by peer]
mort___ has quit [Quit: Leaving.]
<kotee> or is it a bad interpretation? i dunno..
Muzer has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
mengu has quit []
antegallya has quit [Ping timeout: 265 seconds]
antegallya has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
tane has quit [Quit: Verlassend]
willy_ has left #ocaml ["Leaving"]
NSA360 has joined #ocaml
Simn has quit [Quit: Leaving]
NSA360 has quit [Ping timeout: 264 seconds]
Muzer has quit [Ping timeout: 264 seconds]