silver has quit [Read error: Connection reset by peer]
jbrown has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
noddy has quit [Ping timeout: 248 seconds]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
unbalanced has quit [Quit: WeeChat 1.6]
wu_ng has joined #ocaml
snhmib has quit [Ping timeout: 264 seconds]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
mfp has quit [Ping timeout: 265 seconds]
noddy has joined #ocaml
jbrown has quit [Ping timeout: 246 seconds]
johnf__ has joined #ocaml
johnf__ has quit [Read error: Connection reset by peer]
johnf_ has quit [Read error: Connection reset by peer]
johnf_ has joined #ocaml
LACampbell has quit [Ping timeout: 252 seconds]
jbrown has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
wtetzner has quit [Remote host closed the connection]
luzie has quit [Remote host closed the connection]
luzie has joined #ocaml
ziyourenxiang has quit [*.net *.split]
infinity0 has quit [*.net *.split]
ziyourenxiang has joined #ocaml
infinity0 has joined #ocaml
teknozulu has joined #ocaml
vramana has joined #ocaml
<teknozulu>
What's a good way to leverage the type system to make sure that func2 can only accept outputs of func1, and func1 can not accept the output of func1?
groovy2shoes has quit [Quit: Leaving]
<shon>
teknozulu: If you define a datatype that is only ever used as an output of func2, and which is the input type of func1, that takes care of the first point.
<shon>
Then make sure that the output of func1 is not that datatype, and you'll have covered the second :)
<shon>
If you seal these in a module, then you can guarantee that no other function outside of that module will be able to produce output of that type.
LACampbell has joined #ocaml
isd1 has joined #ocaml
isd has quit [Disconnected by services]
isd1 is now known as isd
nomicflux has quit [Quit: nomicflux]
johnf_ has quit [Read error: Connection reset by peer]
govg has joined #ocaml
vramana1 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
vramana has quit [Ping timeout: 256 seconds]
vramana1 is now known as vramana
johnf_ has joined #ocaml
infinity0 has quit [Remote host closed the connection]
jbrown has quit [Ping timeout: 246 seconds]
infinity0 has joined #ocaml
jao has quit [Ping timeout: 256 seconds]
jbrown has joined #ocaml
AlexDenisov has joined #ocaml
vramana1 has joined #ocaml
vramana has quit [Ping timeout: 260 seconds]
vramana1 is now known as vramana
Algebr has joined #ocaml
pierpa has quit [Ping timeout: 260 seconds]
johnf_ has quit [Remote host closed the connection]
noddy has quit [Ping timeout: 258 seconds]
govg has quit [Ping timeout: 260 seconds]
govg has joined #ocaml
wtetzner has joined #ocaml
_berke_ has quit [Remote host closed the connection]
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Algebr>
anyone have commentary on C++ templates as a pattern matching engine? I've seen some neat examples with factorial and compile time magic with constexpr
teknozulu has quit [Ping timeout: 256 seconds]
MercurialAlchemi has quit [Ping timeout: 268 seconds]
wtetzner has quit [Remote host closed the connection]
freusque has joined #ocaml
<averagecake>
Algebr: it's used all throughout boost
<averagecake>
Algebr: and a small number of other libraries
<averagecake>
Algebr: nothing new under the sun
<Algebr>
I saw it was used for boost iterators
jbrown has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
fre has joined #ocaml
jbrown has joined #ocaml
<flux>
I've used C++ for pattern matching stuff out of s-expressions
<flux>
it was nice
<flux>
for c++ ;)
larhat has joined #ocaml
pyx has joined #ocaml
pyx has quit [Client Quit]
Simn has joined #ocaml
larhat has quit [Quit: Leaving.]
larhat has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
larhat has quit [Client Quit]
larhat has joined #ocaml
larhat has quit [Client Quit]
larhat has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
larhat has quit [Quit: Leaving.]
jbrown has quit [Ping timeout: 260 seconds]
larhat has joined #ocaml
AlexDenisov has joined #ocaml
jbrown has joined #ocaml
alfredo has joined #ocaml
snhmib has joined #ocaml
johnelse has joined #ocaml
jnavila has joined #ocaml
LACampbell has quit [Ping timeout: 246 seconds]
johnelse is now known as johnel_away
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sh0t has quit [Remote host closed the connection]
johnel_away is now known as johnelse
sh0t has joined #ocaml
AlexDenisov has joined #ocaml
jnavila has quit [Ping timeout: 256 seconds]
jbrown has quit [Ping timeout: 246 seconds]
rand__ has joined #ocaml
jbrown has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
AlexDenisov has joined #ocaml
_2can has quit [Ping timeout: 265 seconds]
_2can has joined #ocaml
wu_ng has quit [Ping timeout: 260 seconds]
silver has joined #ocaml
groovy2shoes has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mfp has joined #ocaml
<jerith>
Yay! There's a fixed conduit release. :-)
jnavila has joined #ocaml
jao has joined #ocaml
<orbitz>
companion_cube: I'm quite excited for 1.0!
<companion_cube>
oh!
<companion_cube>
well it's not there yet ^^
<companion_cube>
especially since some people want to make packaging a bit more complicated :-)
<orbitz>
companion_cube: Just Say No!
<orbitz>
companion_cube: There is a branch I can poke around in to see waht 1.0 will look like, right?
<orbitz>
I noticed a few functions missign from CCResult in 0.22.1 I' dlike in 1.0 if they aren't here yet.
<reynir>
there's a package in opam called ppx_driver FWIW
<pippijn>
yeah, I'm trying that one now
vicfred has quit [Quit: Leaving]
<reynir>
not sure why it expects ppx_driver...
<reynir>
Ah, in _oasis: XOCamlbuildPluginTags: package(ppx_driver.ocamlbuild)
<reynir>
what does this provide? AlphaFeatures: ocamlbuild_more_args
<pippijn>
hmm
alfredo is now known as alfredo[away]
alfredo[away] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<pippijn>
reynir: installing ppx_driver worked
<pippijn>
yeah, I needed that driver thing for some reason
<pippijn>
a while ago.. I forgot why
<reynir>
I'm guessing it's for ocamlbuild_more_args, but I don't know what that does
<pippijn>
I did stuff to make stuff work :)
<pippijn>
I don't want to deal with build systems, so I'm happy now
AlexDenisov has joined #ocaml
<reynir>
heh
jbrown has quit [Ping timeout: 260 seconds]
srax has quit [Ping timeout: 245 seconds]
jbrown has joined #ocaml
jeroud has quit [Ping timeout: 260 seconds]
jnavila has quit [Remote host closed the connection]
jnavila has joined #ocaml
infinity0 has joined #ocaml
ltadeu has joined #ocaml
ltadeu is now known as snowcrshd
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
<snowcrshd>
hey guys, newbie question: I'm going through RWO and I'm stuck trying to use Fieldslib. I tried #require "fieldslib" (I'm also running utop -ppx 'ppx-jane -as-ppx') and just get a parse error when I add 'with fields' to my module. Is there anything I am missing that should be done in order for this to work properly?
silver_ has joined #ocaml
<flux>
snowcrshd, I'm not completely sure but might it be that the syntax is different from "with fields"? using ppx would suggest that there would be some other syntax, introduced with ppx and incompatible with the camlp4 syntax
silver has quit [Ping timeout: 248 seconds]
bigs_ has quit [Ping timeout: 260 seconds]
bigs_ has joined #ocaml
d0nn1e has quit [Ping timeout: 246 seconds]
agarwal1975 has quit [Quit: agarwal1975]
isiah has joined #ocaml
<isiah>
Where could I find some sort of documentation/specification about the OCaml bytecode format?
<companion_cube>
I think there are some papers about it
<companion_cube>
prorbably listed on the website
<orbitz>
snowcrshd: RWO is unfrotunately already out of date for many things :(
<Drup>
as for the rest, look at the code of ocamlcclean, js_of_ocaml and the ocaml bytecode compiler
averagecake has quit [*.net *.split]
pitastrudl has quit [*.net *.split]
_zim_ has quit [*.net *.split]
sheijk has quit [*.net *.split]
fredcy has quit [*.net *.split]
iyy has quit [*.net *.split]
sheijk_ has joined #ocaml
_zim_ has joined #ocaml
fredcy has joined #ocaml
pitastrudl has joined #ocaml
iyy has joined #ocaml
mbrock has quit [Ping timeout: 265 seconds]
<isiah>
Well...that's helpful...
<snowcrshd>
flux: hmm, that makes sense. I saw a post on stackoverflow using [@@deriving fields] instead of 'with fields', but got the same error. Tried looking at fieldslib repo but there's no code there ):
<isiah>
Drup: that's what I'm doing now.
<Drup>
isiah: well, the pdf contains quite a bit of information ;)
smondet`` has joined #ocaml
<isiah>
I know (I've got that open now).
<isiah>
It gives a lot of nice information about the instructions and important registers, but I was looking for the rest.
<Drup>
what it doesn't contain is the actual data layout in the bytecode file, but the various code example should help with that
<isiah>
For reference, I'm thinking about implementing a pure-JS OCaml interpreter.
<companion_cube>
:s
<isiah>
OCaml bytecode, I mean
<Drup>
I would just compile ocamlrun with emscripten :D
<isiah>
I'm curious about the binary layout of bytecode files.
<flux>
drup, yeah "just"
<isiah>
It's more an academic exercise than anything.
<flux>
I seriously doubt it would be that easy ;)
smondet` has quit [Ping timeout: 258 seconds]
<flux>
well, I suppose it could be :-o depending on the desired integration level.
<Drup>
(it's highly deprecated, but heh, it exists)
mbrock has joined #ocaml
<isiah>
I'm not saying such a project doesn't already exist. FWIW, there's already several ways to target the browser.
<Drup>
sure :)
<isiah>
I was just thinking of writing *yet another solution*, just to scratch an itch. I've been considering other languages/platforms, too.
isiah has left #ocaml [#ocaml]
beginner has joined #ocaml
<beginner>
in which module from the compiler is the check where the stdlib modules are on the host system?
<Drup>
iirc, it's decided at configure-time of the compiler
<beginner>
Drup: correct me if i am wrong, but the path to stdlib is as a string stored in the compiler binary?
<Drup>
yes, in utils/config.ml
<Drup>
oh, there is an env variable too, didn't knew that one
<beginner>
Drup: You mean the OCAMLLIB and CAMLLIB variables?
<Drup>
yeah
MercurialAlchemi has quit [Ping timeout: 246 seconds]
<beginner>
Drup: thats actually the reason why i am asking. I have a setup where i build the compiler on one machine zip all of it and put on the working machines. To make it work i need to set the OCAMLLIB so it finds the stdlib and not uses the path inside the binary
<Drup>
why not change the configuration setup instead ?
<beginner>
you cant use relative paths in the configuration step
agarwal1975 has joined #ocaml
<beginner>
the problem is if i build the compiler and then try to compile code as a different user, who has no read rights to the lib folder
<beginner>
it shouldn't read at all that path if i set OCAMLLIB. or am i mistaken?
jbrown has quit [Ping timeout: 246 seconds]
<adrien>
you should:
<adrien>
1- not do that
<adrien>
if you make something that is meant to be shared, then make it shareaable
<adrien>
2- use ocamlfind
<beginner>
can i write OCAMLLIB and OCAML_LIB as well?
jnavila has quit [Ping timeout: 256 seconds]
jbrown has joined #ocaml
arc- has quit [Ping timeout: 258 seconds]
arc_ has joined #ocaml
jlongster has joined #ocaml
wtetzner has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
johnelse has quit [Quit: leaving]
MercurialAlchemi has joined #ocaml
larhat has joined #ocaml
jeroud has joined #ocaml
johnelse has joined #ocaml
rgrinberg has joined #ocaml
nomicflux has joined #ocaml
groovy2shoes has quit [Ping timeout: 248 seconds]
averagecake has joined #ocaml
bctnry has joined #ocaml
silver_ is now known as silver
sh0t has quit [Ping timeout: 272 seconds]
sh0t has joined #ocaml
esad has joined #ocaml
al-damiri has joined #ocaml
jnavila has joined #ocaml
bctnry has quit [Read error: Connection reset by peer]
bctnry has joined #ocaml
xorpse has joined #ocaml
john_g_ has left #ocaml ["Leaving"]
madroach has joined #ocaml
Mercuria1Alchemi has joined #ocaml
ryanartecona has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 256 seconds]
esad has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bctnry has quit [Read error: Connection reset by peer]
rgrinberg has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
rgrinberg has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
<jerith>
yminsky: Any plans for a new edition of RWO?
<jerith>
(With reference to the above conversation about various things in it being out of date.)
<yminsky>
Plans, yes! We're actively working on it.
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jerith>
Excellent! :-)
<jerith>
It's one of my favourite software-related books.
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 245 seconds]
rgrinberg has joined #ocaml
<snowcrshd>
yminsky: that's awesome! I was just reading RWO and thinking if there would ever be a new edition.
larhat has quit [Quit: Leaving.]
<companion_cube>
replacing Core with Base?
<yminsky>
It really needs one. The main issue is getting the tooling up to date. Anil is cranking on that.
<companion_cube>
(and async with lwt? :p)
<companion_cube>
(just kidding)
<jerith>
I'm not a huge fan of Core, and I don't really know why.
<jerith>
I can't think of anything specific to not like about it.
<jerith>
Maybe it's just that I prefer smaller standalone libraries.
clog has quit [Ping timeout: 258 seconds]
AJZone has joined #ocaml
AJZone has left #ocaml [#ocaml]
clog has joined #ocaml
<yminsky>
Well, maybe Base will be more to your liking
<yminsky>
It's smaller, builds faster, but provides the necessary basics
<yminsky>
We're not quite ready to advocate its use more broadly, but in the next month or so we should be there.
smondet`` has quit [Ping timeout: 272 seconds]
Algebr has quit [Ping timeout: 258 seconds]
<jerith>
yminsky: Cool. :-)
<jerith>
I generally just write my own little utilities for various things and then use libraries like yojson and lwt and cohttp and such for the heavy lifting.
Sorella has joined #ocaml
infinity0 has quit [Remote host closed the connection]
pierpa has joined #ocaml
infinity0 has joined #ocaml
larhat has joined #ocaml
jnavila has quit [Ping timeout: 240 seconds]
smondet has joined #ocaml
jnavila has joined #ocaml
kamog has quit [Remote host closed the connection]
jlongster has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
moei has quit [Quit: Leaving...]
moei has joined #ocaml
xorpse has quit [Ping timeout: 248 seconds]
jlongster has joined #ocaml
pierpa has quit [Ping timeout: 248 seconds]
pierpa has joined #ocaml
jnavila has quit [Ping timeout: 256 seconds]
esad has joined #ocaml
yomimono has joined #ocaml
esad has quit [Client Quit]
esad has joined #ocaml
larhat has quit [Quit: Leaving.]
<aantron>
today i learned that lwt stands for last will and testament :D
larhat has joined #ocaml
infinity0 has quit [Remote host closed the connection]
larhat has quit [Quit: Leaving.]
AlexDenisov has joined #ocaml
_andre has quit [Quit: leaving]
jao has quit [Remote host closed the connection]
larhat has joined #ocaml
larhat has quit [Client Quit]
RonnieHolm has joined #ocaml
jao has joined #ocaml
nahra has quit [Changing host]
_whitelogger has joined #ocaml
mehdib has joined #ocaml
Guest77045 has joined #ocaml
larhat has joined #ocaml
barkmadley[m] has joined #ocaml
matth[m] has joined #ocaml
mcspud has joined #ocaml
M-martinklepsch has joined #ocaml
timclassic has joined #ocaml
jcloud has joined #ocaml
infinity0 has joined #ocaml
adi_____ has joined #ocaml
MorTal1ty has joined #ocaml
l1x has joined #ocaml
lopex has joined #ocaml
S11001001 has joined #ocaml
parataxis has joined #ocaml
larhat has quit [Quit: Leaving.]
bookbook has joined #ocaml
<bookbook>
hey... getting started with ocaml, keep getting this error "Error: Reference to undefined global `Core_kernel'" when using emacs to evaluate some code
<bookbook>
`utop` running the same code works fine... google doesn't give any results for that exact error
jnavila has joined #ocaml
<theblatte>
bookbook: are you using merlin? you need to add the packages you need to your .merlin
<theblatte>
eg "PKG core"
larhat has joined #ocaml
<bookbook>
I believe I did, i have "PKG core lwt" 1 line in my .merlin
<theblatte>
I have one line for each but I don't know if they syntax mandates it
snowcrshd has quit [Remote host closed the connection]
<bookbook>
i don't think it matters, i think it has something to do with how i'm opening the shell in emacs, with tuareg i do C-c C-e and it will prompt me for what ocaml toplevel it wants to run defaults to "ocaml"
jnavila has quit [Ping timeout: 245 seconds]
<bookbook>
i'm taking a guess that if i choose "ocaml" it won't load the Core_kernel properly
<bookbook>
but i don't know what other options i have
MercurialAlchemi has quit [Ping timeout: 248 seconds]
kakadu has joined #ocaml
<bookbook>
here is a dump of what happens when the toplevel is loaded... https://dpaste.de/zBTb#L48,57,58 highlighted the lines that i think are useful
<theblatte>
ah, you're evaluating from emacs, I missed that...
<bookbook>
the first bit is what opam added, the following lines are from realworldocaml guide
<bookbook>
i mean everything seems to run fine if i start utop and paste my code in there, or use corebuild on the file
<theblatte>
weird
infinity0 has quit [Remote host closed the connection]
<bookbook>
@theblatte, i think i "figured" it out :D well... i just figured out how to get emacs to load utop to eval my code instead of the regular toplevel "ocaml" default option.... still new, not sure how to make the normal toplevel to load core
<bookbook>
thanks for your time
infinity0 has joined #ocaml
<theblatte>
heh, utop is better anyway ;)
Algebr has joined #ocaml
larhat has quit [Quit: Leaving.]
larhat has joined #ocaml
jnavila has joined #ocaml
bookbook has quit [Quit: Page closed]
larhat has quit [Quit: Leaving.]
larhat has joined #ocaml
slash^ has joined #ocaml
arc_ has quit [Disconnected by services]
arc- has joined #ocaml
teknozulu has joined #ocaml
rand__ has quit [Quit: leaving]
infinity0 has quit [Remote host closed the connection]
Algebr has quit [Ping timeout: 245 seconds]
jnavila has quit [Ping timeout: 256 seconds]
wtetzner has quit [Remote host closed the connection]
luzie has joined #ocaml
esad has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
teknozulu has quit [Ping timeout: 256 seconds]
Xadnem has joined #ocaml
FreeBirdLjj has joined #ocaml
<Xadnem>
Hello FreeBirdLjj
<Xadnem>
Hello friends. I'm want to make an ocaml program which will have a GUI. Could you give me any advice about wich Graphical library to use ?
agarwal1975_ has joined #ocaml
<kakadu>
Oh, man. You really will choose from a number of options the one you dislike less
agarwal1975 has quit [Ping timeout: 256 seconds]
agarwal1975_ is now known as agarwal1975
ryanartecona has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
<Xadnem>
I readed in the ora-book that there's a lot of librarys that is possible to use. I'm familiar with Gtk, but I haven't used it in any ocaml program yet.
<Xadnem>
What is your experience?
govg has quit [Ping timeout: 260 seconds]
govg has joined #ocaml
RonnieHolm has quit [Remote host closed the connection]
_habnabit is now known as habnabit
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
<kakadu>
Xadnem: Well, people say that Tcl/Tk is fine with a decent theme but in my exp-erience all programs are ugly and too oldschool
<kakadu>
I personally don't like GTK. It looks too weird. IMHO. Folks say that there are some issues with good looking GTK themes on Mac and Windows
<kakadu>
There some libraries to compiler OCaml to Javascript and create PopcornTime-like applications. A decent approach but a little bit weird for desktop apps. But If you like HTML5 and stuff it is a decent approach
<kakadu>
There is a library for Qt/QML GUI but it will be more like writing all GUI in QML and only business logic in OCaml. QML is Declarative enough and seems to suit welll for prototyping GUI but folks don't like pieces of Javascript in it. Also it is really more like an other language, comparately to previous alternatives
<kakadu>
OCaml+WxWidgets seems to be dead
<Xadnem>
kakadu: many thanks, I didn't know Tcl/Tk library. I will take a look to it.
<kakadu>
I can recommend 3rd and 4th option
wtetzner has joined #ocaml
<Xadnem>
kakadu, thanks again. I also didn't know the Qt/QML library.
<Xadnem>
Is it Freeshotfware?
nomicflux has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
esad has joined #ocaml
AlexDenisov has quit [Client Quit]
averagecake has quit [Ping timeout: 245 seconds]
govg has quit [Quit: leaving]
agarwal1975 has quit [Quit: agarwal1975]
esad has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
larhat has quit [Quit: Leaving.]
esad has joined #ocaml
larhat has joined #ocaml
larhat has quit [Client Quit]
rgrinberg has quit [Ping timeout: 246 seconds]
<Xadnem>
See you later friends.
Xadnem has quit [Quit: leaving]
jmiven has quit [Quit: co'o]
johnelse_ has joined #ocaml
johnelse_ has quit [Client Quit]
johnelse_ has joined #ocaml
luzie is now known as lucybun
jmiven has joined #ocaml
johnelse_ has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
teknozulu has joined #ocaml
kakadu has quit [Remote host closed the connection]