<ousado>
pippijn: how was your talk/test/whatever the other day
<pippijn>
first, it was ok, then it was bad, then it was ok, then it was ok, and the very last minute was awesome
<ousado>
great :)
<pippijn>
now basically it's "see you next time, I hope we can have a good cooperation"
<pippijn>
that's roughly what they said
<pippijn>
sounds good to me
<pippijn>
I don't know their actual thoughts
<ousado>
must be some really interesting job.. too bad you can't talk about it
tane has joined #ocaml
<pippijn>
you know, sometimes I think I am fighting too hard for it
<pippijn>
it is worth fighting for, but sometimes I get close to a mental limit where I think it may not be worth it anymore
<pippijn>
but I haven't crossed that limit, yet
<ousado>
they're certainly very clever recruiters
<ousado>
if they can give you that feeling but prevent you from crossing it
<pippijn>
if they do that consciously, they are extremely clever
<pippijn>
but I don't think they do
<ousado>
well, there's 7 billion people on earth, if you weren't up to the job in their opinion they wouldn't have wasted their time playing this game, unless they're stupid
<pippijn>
that is true, that's what I always tell myself
<pippijn>
if they really didn't think I was fit for the job, they wouldn't waste their time
<pippijn>
I tell myself this whenever I feel insecure
<ousado>
IOW they're clever recruiters
<ousado>
from what you've said last time I got the feeling they've taken it too far, though
<pippijn>
you know the main problem I see at the moment is:
<pippijn>
I've placed myself in a weak position by wanting that job so much
<pippijn>
rather than playing "I'm the best and basically the only one you'll ever need"
<pippijn>
and it's very difficult to get out of this position of inferiority
<ousado>
hm.. I personally wouldn't hire someone who's actually convinced to be the best
<pippijn>
no, but right now I'm too weak
<ousado>
there's probably a stance closer to "I'm the best" but still within reasonable margins
<pippijn>
I'm actually quite confident, not overly confident, but maybe more confident than others
<pippijn>
but in their eyes, I'm not confident at all
<ousado>
hmm.. are you sure?
<pippijn>
yes
<pippijn>
on the last day, I decided to play more open cards
q66 has joined #ocaml
<pippijn>
and tell them what I think they think of me, and what I think of myself
<ousado>
ok, but that's about perception, and self-perception
<pippijn>
they confirmed almost everything I said about their thoughts
<ousado>
there are also hard facts
<ousado>
like what kind of problems you were confident enough to tackle in the past
<pippijn>
they don't know much about that
<pippijn>
they didn't really ask, and I didn't tell them that much about my past
<pippijn>
I feel it's more important for me to show what I can do right now
ollehar has joined #ocaml
<ousado>
mm k
<pippijn>
because my past is just words
<pippijn>
I can show some things and said "I made this", but that's all in the past
<pippijn>
I can say "I worked on this and that open source project and committed patches to this and that", but they won't actually confirm this and so it's just words
<ousado>
well, yes. I remember the day when you stepped into this channel and said "here, that's my first attempt at writing ocaml"
<pippijn>
hehe
<pippijn>
my first attempt at writing ocaml was a C parser
<ousado>
from that minute on I'd have hired you as a coder, most probably
<ousado>
yes
<pippijn>
it wasn't even that bad..
<ousado>
no it was very good
<pippijn>
I was actually quite happy with that
<pippijn>
it was infinitely faster than.. what's it called?
<pippijn>
the one everybody uses
<pippijn>
CIL
UncleVasya has joined #ocaml
<pippijn>
I think I could optimise CIL, though, and then it would be about the same
Snark has joined #ocaml
<ousado>
ah that CIL, yes
<pippijn>
CIL has some unfortunate choices in the parser that make it use exponential time and space in some places that don't matter in well-written programs
<ousado>
did you read the code or did you read about it to find that out?
<pippijn>
you can tell from empirical testing
<pippijn>
I didn't have to read the code to know what they did wrong
<ousado>
ah alright
<ousado>
hehe, my dog is harassing me, I gotta take a walk now :)
<pippijn>
enjoy
groovy2shoes has joined #ocaml
cdidd has quit [Remote host closed the connection]
gnuvince has joined #ocaml
groovy2shoes has quit [Quit: Computer has gone to sleep]
walter|r has quit [Ping timeout: 240 seconds]
mort___ has joined #ocaml
hkBst has quit [Ping timeout: 245 seconds]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
awm22 has quit [Ping timeout: 264 seconds]
rks_ has quit [Ping timeout: 264 seconds]
rks_ has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
Neros has quit [Ping timeout: 245 seconds]
smondet has joined #ocaml
tobiasBora has joined #ocaml
<tobiasBora>
Hello,
<tobiasBora>
Does anyone knows if it's possible for the moment to run parallele threads (in several cores) to compute faster ?
<companion_cube>
it's not, but you can use processes
ollehar has quit [Ping timeout: 264 seconds]
<rixed>
tobiasBora: it's only posible if all your threads but one does not use the OCaml runtime (ie you can spawn new threads for pure C functions)
<tobiasBora>
companion_cube: Thanks. And processes are run on differents cores ? What's is here the main difference between threads and processes ?
ttamttam has quit [Quit: ttamttam]
mfp has quit [Ping timeout: 245 seconds]
<tobiasBora>
rixed: I don't really understand... You mean if I've compiled the program ?
<companion_cube>
tobiasBora: processes are scheduled by the OS
<companion_cube>
they can run in parallel
<ggole>
The essential difference is that threads share an address space.
<companion_cube>
threads are within one single process, and in OCaml they cannot run in parallel because there is a big lock
<ggole>
So a write to a memory location in one thread is seen by another without any communication machinery. This is both convenient and an amazingly rich source of errors.
<tobiasBora>
So the only way to connect two processes is with pipe
<ousado>
there's many ways
<ggole>
Or other IPC mechanisms.
<ggole>
Unix sockets, shared mmap, etc
<tobiasBora>
But if threads aren't possible, what does the "Thread" module do ?
<ben_zen>
tobiasBora: threads are possible, just not multiple operating in parallel.
<ggole>
Threads are possible, but they don't execute in parallel
ttamttam has joined #ocaml
<tobiasBora>
by parallel you mean in two differents cores ?
<ousado>
simultaneously
<ben_zen>
yes.
<ggole>
Yes. So the Thread module is not useful for performance reasons.
<companion_cube>
no
<ben_zen>
goddamnit ggole
<ggole>
:/
<ben_zen>
we keep saying the same thing at the same time.
<companion_cube>
it's not useful fr performance, but can be useful for other things
<ben_zen>
also I've found the thread module useful for managing multiple separate tasks "at the sme time"
<tobiasBora>
ggole: mmap ? I didn't know this think, it seems to be nice ^^
<ben_zen>
for instance, I've got a download manager that is able to divide its time between downloading files and accepting new jobs that uses the Thread module.
<tobiasBora>
Ok I understand. So if I've well understood, it's really possible to use Ocaml to compute big calculs, by using processes.
awm22 has joined #ocaml
<tobiasBora>
jbrown: what are the advantages of this library in comparaison with processes ?
<ben_zen>
tobiasBora: if you're just trying to manage multiple tasks within one program, it allows you to not need to open sockets between processes constantly and is faster (and less memory-intensive) than starting separate processes.
<jbrown>
tobiasBora: that library does use processes (I presume, hence fork) -- just provides some kind of high-level-ish interface to them.
<ben_zen>
(I was talking about threads, sorry.)
<jbrown>
forking ought to be quite efficient on Linux -- threads & processes being much the same thing anyway, IIUC.
mfp has joined #ocaml
<tobiasBora>
jbrown: oh nice ! It seems to be quite easy to connect several functions with this way !
<tobiasBora>
ben_zen: ok I see
<tobiasBora>
So I think I've no more questions for the moment, thanks to every body for his help !
ulfdoz has quit [Ping timeout: 245 seconds]
<tobiasBora>
Oh a last question : what do you mean jbrown by high-level-**ISH** ?
<jbrown>
heh, well, don't take anything I say too seriously -- it just looks like you have to care about some low-level details, if you look at the documentation. But maybe not too much.
<tobiasBora>
oh, I thought ish was a protocole or somethink like that, that's why I didn't undersand ^^ Tanks !
tootooroo has joined #ocaml
hkBst has quit [Ping timeout: 245 seconds]
<darkf>
i love tanks
hkBst has joined #ocaml
<vbmithr>
Hello
<vbmithr>
Do someone knows if there is a way to have in OCaml the equivalent of """ """ in python ?
<vbmithr>
raw strings
<vbmithr>
I mean, without having to escape anything
<companion_cube>
I don't think so
ulfdoz has joined #ocaml
hkBst has quit [Read error: Connection reset by peer]
hkBst has joined #ocaml
tootooroo has quit [Ping timeout: 276 seconds]
RagingDave has joined #ocaml
hkBst has quit [Read error: Connection reset by peer]
ernmj has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
hkBst has joined #ocaml
hkBst has quit [Ping timeout: 258 seconds]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
ollehar has joined #ocaml
awm22 has quit [Quit: Leaving.]
hkBst has quit [Ping timeout: 256 seconds]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
awm22 has joined #ocaml
Neros has joined #ocaml
hkBst has quit [Quit: Konversation terminated!]
eikke has quit [Ping timeout: 240 seconds]
Kakadu has quit []
tobiasBora has quit [Ping timeout: 246 seconds]
eikke has joined #ocaml
cago has quit [Quit: Leaving.]
mika1 has quit [Quit: Leaving.]
ttamttam has quit [Quit: ttamttam]
tootooroo has joined #ocaml
tootooroo has quit [Client Quit]
tootooroo has joined #ocaml
tootooroo has quit [Client Quit]
ocp has quit [Ping timeout: 248 seconds]
lusory has quit [Quit: leaving]
olasd has quit [Quit: leaving]
olasd has joined #ocaml
gnuvince has quit [Ping timeout: 252 seconds]
Yoric has quit [Ping timeout: 264 seconds]
<wmeyer>
pippijn: don't sleep it's good~
<wmeyer>
pippijn: neh, just joking, it's bad.
<wmeyer>
I found myself very productive in aeorplanes
<wmeyer>
pippijn: and the pub beer is waiting for you in CB :-)
<wmeyer>
hi
<wmeyer>
pippijn: your frontend was great
<wmeyer>
it's a pitty we didn't finish treematch in pair
mfp has quit [Quit: Leaving]
ontologiae has quit [Ping timeout: 245 seconds]
dsheets has joined #ocaml
dsheets has quit [Client Quit]
ohama has quit [Ping timeout: 240 seconds]
ulfdoz has quit [Ping timeout: 240 seconds]
ulfdoz has joined #ocaml
mort___ has quit [Quit: Leaving.]
eikke has quit [Ping timeout: 260 seconds]
gnuvince has joined #ocaml
tobiasBora has joined #ocaml
awm22 has quit [Quit: Leaving.]
beckerb has quit [Ping timeout: 245 seconds]
tootooroo has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Client Quit]
lopexx has joined #ocaml
tootooroo has quit [Ping timeout: 260 seconds]
tootooroo has joined #ocaml
sepp2k has quit [Remote host closed the connection]
<adrien>
but because windows 8 looks like gtk with no theme /o\
tobiasBora has quit [Ping timeout: 256 seconds]
<adrien>
that makes GTK+ actually looks native on Windows 8; it's pretty impressive
ttamttam has joined #ocaml
<wmeyer>
adrien: hahaha
<wmeyer>
yes, it might be bullshit:P Microsoft people want to build their development around the .NET at the moment.
<wmeyer>
I like GTK+
<wmeyer>
however lablgtk might be a bit hard for people starting Caml. So wxocaml might fill the niche before these people will get their hands on lablgl. It's not a bad thing, just lablgtk developers and the ecosystem around have to work hard to provide something really simple. (btw: it should not be hard to implement simple-lablgtk on top of it, with a subset functionality and simplier interface)
Yoric has joined #ocaml
<adrien>
I firmly believe that lablgtk isn't difficult; what's missing is a short intro to lablgtk
<adrien>
not to gtk
<thelema_>
adrien: or lots of example code for just about anything someone is going to try
<thelema_>
in an easy to find structure
tootooroo has quit [Ping timeout: 245 seconds]
<adrien>
agreed
<wmeyer>
adrien: I love lablgtk
<wmeyer>
adrien: but I wish it had pervasive bindings for reactive programmming, or event driven Lwt
<wmeyer>
what I like in GTK+ is because it's so difficult to write Object interfaces in C, it has clear model
<wmeyer>
where QT seems to be a bloat of functions accumulated over time (Including things like Qstring)
ollehar has quit [Ping timeout: 260 seconds]
<wmeyer>
but QT is also a good choice, but it needs certain amounts of bindings.
<wmeyer>
(and actually even C++ haters like Linus Thorvalds prefer QT over gtk+; it's just QT had a not so nice as LGPL licens)
<adrien>
many people prefer the _looks_ of Qt over GTK+
<wmeyer>
well not me
<adrien>
must people saying that know shit about programming
<adrien>
s/must/most/
<wmeyer>
I like GTK+ look, it's simple and nice
<adrien>
hold on, I need to conduct a survey on other channels ;-)
tootooroo has joined #ocaml
<wmeyer>
I will not hold on ;)
* adrien
ties wmeyer to his chair
<adrien>
one thing I like with GTK+ is that it's fairly simpl
<adrien>
e
* wmeyer
still writing his OCaml even tied
<adrien>
I find Qt way too complicated
<wmeyer>
simple things should be simple, Qt is just crazy with it's C++
<wmeyer>
sorry
<wmeyer>
that's my opinion
<adrien>
and, ok, I won't say most people prefer Qt over GTK+ and know shit about programming
<adrien>
instead
<wmeyer>
it's not for everybody, and this information should not be circulated to certain groups of people
<wmeyer>
;)
<adrien>
most people have a preference towards some UI toolkit without knowing anything about programming
<adrien>
they actually prefer themes quite often
<wmeyer>
GTK+ has a nice clean interface, and nice clean user interface based on this
<wmeyer>
where Qt seems to a stack of features with a zooming button on top
<wmeyer>
my experience with Qt was not better than with GTK+ in C!
<wmeyer>
and I can call GTK+ from C and from OCaml without any hitch.
<wmeyer>
I can't do anything with Qt at the moment
tobiasBora has joined #ocaml
<adrien>
yeah
<adrien>
I'll try to write that lablgtk tutorial soon
<wmeyer>
adrien: remain blessed. Thank you.
<adrien>
heh, it should be fairly simple and short
<wmeyer>
longer would be better; put into github, i might try to join
<adrien>
that's about an intro, so short
<adrien>
that doesn't prevent another document from being written too however
<wmeyer>
yes, make sure to hyper link to ocaml.org
<wmeyer>
I wonder how many people browse theirselves ocaml.org
<adrien>
dunno; the admins could put some stats up
<wmeyer>
they did; and it was a thread on the platform;
<adrien>
half the stuff on platform@ seems to be offtopic
<adrien>
that doesn't sound like a topic for that list
<adrien>
I'd expect that on the caml mailing-list
<wmeyer>
anyway, I am happy to see this short introduction. There was translation by somebody from GTK -> lalblgtk
<adrien>
I really don't care about "platform", but I care about several things discussed there
<adrien>
I find it a real shame it happens on that list
<adrien>
wmeyer: yup, and its issue is that it doesn't show lablgtk itself that much
<wmeyer>
I often like to read platform discussions in the spirit of dicussions that are absent on camllist. I prefer discussint things on the way, rather than implementing them and the announcing stuff.
<wmeyer>
I like that we can have some common platform
<wmeyer>
and some people working together on this
<wmeyer>
and designated resouces actually
<wmeyer>
there are some niches
<wmeyer>
obvious ones
<wmeyer>
Windows is the most hot topic for me
<wmeyer>
adrien: yes, but it was a good resource for me
<wmeyer>
how about having, a table
<wmeyer>
on the left side C code on the right side Caml code
<wmeyer>
with some samples
<wmeyer>
samples of implementation of user interface features
ulfdoz has quit [Ping timeout: 260 seconds]
<wmeyer>
dedicated for people understand the differences in ready to go and implement way
<thelema_>
wmeyer: that would be good for people who already know GTK in C, but I would spend the time teaching from scratch for an OCaml tutorial
<adrien>
I don't feel concerned by platform even though I do stuff for windows and it's clearly of interest to that list
<wmeyer>
thelema_: so, I'd suggest having layers of tutorials
<adrien>
I see platform@ as a discussion leading to something like the haskell platform
<adrien>
and I do *NOT* want that
<adrien>
timely releases of sets of libraries as one big blob? without me
<wmeyer>
thelema_: for instance, a single tutorial-book of getting the prolog interpreter in the labgtk window with usage of OPAM, and ocamlbuild, and ocamlgraph?
<companion_cube>
adrien: how would you like the ocaml plateform?
<adrien>
wmeyer: comparing the code in OCaml and in C is good but I'd use it to teach how to read C code and adapt it to OCaml code with lablgtk
<wmeyer>
and then another tutorial, like the one transcribed from GTK+
<wmeyer>
and another one with a table with C and lablgtk
<adrien>
companion_cube: distribution packages; tests for sets of versions; whatever you want but not 200MB (compressed) of binaries
<wmeyer>
we need to think about the goal.
<adrien>
really whatever you want but that
gnuvince has quit [Ping timeout: 256 seconds]
<wmeyer>
adrien: I'm glad you like, but the form matters here. In principle even me wanted to see this.
<adrien>
especially something that gets blessed by god knows who and which will actually be restricting new ways to do things
<adrien>
I see the platform today
<adrien>
I see what I've done with yypkg
<wmeyer>
Maybe automatic translator from C in js_of_ocaml would do.
<adrien>
and I see the platform as not paying attention to all that work
<adrien>
and going instead the brute-force way
<wmeyer>
adrien: I do my best always to promote binary packaging in a spirit of Yypkg, it's the only way for Windows I believe.
gnuvince has joined #ocaml
<wmeyer>
adrien: I see importance of that, I used to sit on windows. And I did some nice OpenGL applications for somebody to see on Windows. Writing applcation - one evening, compiling on windows - pain, sweat and swearings.
<adrien>
I haven't really felt like taking part in the platform@ discussions; it sounds like trying to find the one true way, I dislike that a lot and it seems like it's going to try to do like what exists for other language ecosystems instead of trying to be better
Icarot has joined #ocaml
<adrien>
as far as I'm concerned, I really don't care what happens; yypkg is set to become the default way to get mingw-w64 and packages
<adrien>
mingw-w64 is set to become the default GCC on windows
<companion_cube>
I thought plateform would ship ocamlc+opam
<wmeyer>
adrien: Please participate, from what I can tell Yypkg will not be neglected if you take care of getting them to know it
<companion_cube>
plus maybe a standard lib and a few utils
<wmeyer>
companion_cube: windows is an open question for the platform though, from what I know.
<adrien>
forget about source packages!
<adrien>
have binary packages
<adrien>
ever built anything on windows?
<adrien>
you know how painful it is?
Icarot has quit [Remote host closed the connection]
<companion_cube>
no :)
<wmeyer>
companion_cube: I agree with Adrien. Binary packages are the only way for windows.
<adrien>
it's *FUCKING* slow
<wmeyer>
companion_cube: It's difficult to adapt OPAM to windows too, not that it's not possible.
<companion_cube>
so, what's the good way? distributing individual binary packages?
<wmeyer>
companion_cube: slow; painful; painful; slow; barely possible; and in the end you go to bed with a single binary you are proud of.
<adrien>
companion_cube: binary distribution like what you get with debian, RH, ubuntu, you name it
<adrien>
and even gentoo
<wmeyer>
companion_cube: please try, OK :-)
<companion_cube>
I don't have windows :D
<wmeyer>
companion_cube: and good luck :-)
<orbitz>
ohh ocamlclean for native libs, how I want thee
<adrien>
companion_cube: spawning a process on windows with msys or cygwin is slow
<wmeyer>
companion_cube: yes, that's a good solution. But most people have
<adrien>
for ocaml, the time to spawn ocamlopt(.opt) clearly dominates the time needed to compile most modulesq
<adrien>
modules*
<wmeyer>
so utlimately I'd use Yypkg.
<adrien>
companion_cube: you're lucky, there are evaluation versions ;-)
<wmeyer>
but currently no special need :-)
<companion_cube>
adrien: :DDD
<adrien>
orbitz: yes! :P
<companion_cube>
I say "no" to free trial of drugs
ollehar has joined #ocaml
<adrien>
it's not a drug, it's ipekac
<wmeyer>
companion_cube: Yypkg is cure for my pain actually. So please help Adrian by installing Windows and trying it and telling me, if you really like Cygiwn and it's speed.
<adrien>
it's a very good read; you don't have to understand and remember everything
<adrien>
but take a look at it
<wmeyer>
orbitz: ocaml on windows is nice, but only when you are ready to rewrite your app in Visual Studio C++.
<adrien>
you'll know most about cygwin that 99.9% of the people using it
<adrien>
and remember msys is a fork of cygwin by fucktards^Wmingw.org people
<wmeyer>
companion_cube: i agree that windows users are not ubiquious at the moment. At least I almost can't see any of them.
<adrien>
(built with a fork of GCC 2.9x that has never been upstreamed)
<adrien>
companion_cube: I've asked someone who's timed builds on windows and linux
<adrien>
I'll provide you with numbers fairly soon
<wmeyer>
companion_cube: there are majority of them at my work. What would I tell them if they were convinced to use OCaml. Just FO and switch to linux guys!
<wmeyer>
so for me it has increasing importance to support also exotic systems like Windows.
<companion_cube>
hey, I never protested against yypkg
<wmeyer>
companion_cube: I know, but feel the urge :-)
<companion_cube>
I'm just too lazy to try it :)
<wmeyer>
companion_cube: the bottom line, platform will need to do something with Windows at some point.
<adrien>
and in a windows way
<adrien>
otherwise you do things inside msys or cygwin, i.e. inside posix
<companion_cube>
ok, I see
<wmeyer>
and BTW, I agree it would be better if people used Unix, but can't make them easily. But I convinced my mom already so it's probably doable.
<wmeyer>
(but haven't got time to convert her laptop yet)
<adrien>
Alain Frisch said somet time ago that lexifi had a modification of the ocaml compiler that would create .cmxs files with no help from the C toolchain
<wmeyer>
but it's a good feeling; but i expect problems
<adrien>
i.e. they did work in order to avoir having it and in order to only need one file to create plugins
<adrien>
tells quite a lot on what you should expect when working with windows
<wmeyer>
Alai Frisch works in a company, in the commercial setting, package manager don't work. At least in my company, legal problems. Convince legal department using OPAM legally, it will take time and lot's of nerves.
<adrien>
:D
tootooroo has quit [Quit: +1 (Yes). -1 (No). i (What I have been trying to tell you all along).]
<orbitz>
why doesn't package manager work in your company?
<adrien>
btw, yypkg works without admin privileges, and you install it _anywhere_ you want(*)
<wmeyer>
because we care so much (justified) about IP
<adrien>
so in your home folder if you want; would that be fine by your company's policies?
<wmeyer>
adrien: no.
<adrien>
(*) if you chose a path with a space in it, I'll hunt you and kill you in your sleep :-)
<orbitz>
wmeyer: So you don't use anything external orwhat?
<wmeyer>
well, formally no.
<adrien>
hmm, ok
<wmeyer>
orbitz: it needs to approved
<wmeyer>
and the process is painful, or just takes significan time.
tootooroo has joined #ocaml
<orbitz>
wmeyer: At work we use package managers, but we control our own repos
<orbitz>
so if it's not inour own repo it doesn't get installed in production
<wmeyer>
orbitz: it's sensible
SuperNoeMan has joined #ocaml
<wmeyer>
orbitz: but my company makes money almost only on IP, so they have to be a bit paranoid.
<SuperNoeMan>
is any way that I can get more expressive errors?
<wmeyer>
SuperNoeMan: in your language; in ocamlc; or in toplevel like utop?
<SuperNoeMan>
in toplevel like utop
<wmeyer>
SuperNoeMan: on the trunk you get a lot of improvements.
<SuperNoeMan>
ah...
<SuperNoeMan>
so... to get the trunk of utop on mac
<SuperNoeMan>
I have to not install utop with brew right?
<wmeyer>
trunk of the compiler
<wmeyer>
ocaml
<wmeyer>
like folded names and typo resolution via Levensthein
<wmeyer>
brew + OPAM
<SuperNoeMan>
so... I need to manually install ocaml
<SuperNoeMan>
compile and...
<wmeyer>
no, just install OPAM
<wmeyer>
you have OCaml
<wmeyer>
opam switch 4.01.0dev+trunk
<SuperNoeMan>
ok, I have opam
ohama has quit [Ping timeout: 240 seconds]
<bernardofpc>
btw, why is there no dev-ocaml/opam in gentoo ?
<SuperNoeMan>
bernardofpc: Idk
<bernardofpc>
reading you it seems "the way to go" for ocaml
<bernardofpc>
oh
<wmeyer>
opam install utop
<SuperNoeMan>
how stable is the trunk?
<wmeyer>
and you should have the dev version of ocaml and utop running on top of this dev version. You have to add paths to Emacs too. (marmelade package for utop would be good, anybody?)
<wmeyer>
SuperNoeMan: rock solid.
<SuperNoeMan>
and if I get so many features, how come many of these haven't been merged into mainline?
<wmeyer>
mainline you meant released?
<SuperNoeMan>
yeah
<wmeyer>
well, you have to just wait for the release
<wmeyer>
orbitz: I agree it's nice to protect IP, but we could relax something in a form you have to be honest. (regarding the package manager comment in your company)
<SuperNoeMan>
who decides when ocaml gets released?
<thelema_>
SuperNoeMan: xavier leroy
<SuperNoeMan>
thelema_: that sounds like the professor on xmen
<thelema_>
:) not bald
<SuperNoeMan>
I'll assume he's a bad ass with mind control powers
<thelema_>
although he is a PhD
<SuperNoeMan>
and that he's bald. He's definitely bald even though I've never seen him. certainly
<SuperNoeMan>
lol
<companion_cube>
I think he doesn't even have glasses
<wmeyer>
SuperNoeMan: my omonad relies on -ppx feature of the trunk. But there is no point of back porting, because it just relies on it, nothing else. So I'd rather release it so people can try, rather than wait until I'll have the release. Apart from that this will be most likely a parch release.
<SuperNoeMan>
"parch release"?
<orbitz>
patch
<SuperNoeMan>
back porting?
<wmeyer>
patch release, yes a patch release, do you know what does "patch" means?
<SuperNoeMan>
I'm a developer, but I want explicit definitions
<SuperNoeMan>
yes
<SuperNoeMan>
parch!=patch
<orbitz>
ah
<SuperNoeMan>
also, I don't use the phrase back port much
* companion_cube
installs a levenshtein algorithm in SuperNoeMan
<SuperNoeMan>
so a definition
<wmeyer>
ok, so if you are a developer, I'd really think you can work on trunk. Otherwise I'd advise to wotk on both.
<SuperNoeMan>
ok
<SuperNoeMan>
I'll move to trunk
<wmeyer>
good
* wmeyer
likes levensthein on trunk actually a lot.
<orbitz>
my company is really open to outside repos thankfully
<orbitz>
we have to mirror it internally
<orbitz>
sadly we have to rewrite a good chunk ofrepos we get outside
<SuperNoeMan>
I just always don't by default, I kind of think of trunk errors being there
<SuperNoeMan>
because its devo/not complete
<thelema_>
orbitz: push upstream
<wmeyer>
orbitz: my is a bit strict.
<SuperNoeMan>
and I imagine having to deal with problems that I wouldn't if I stayed on release...
<SuperNoeMan>
that's why I don't
<wmeyer>
in terms what it does with package managers I don't like it, but I have to live with it. (and now i just limit myself to bare ocaml, if i want to experiemtn with ocaml)
Icarot has joined #ocaml
<wmeyer>
SuperNoeMan: not at all :-)
<SuperNoeMan>
right, I would think that most ocaml code is pretty solid just due to the typing system at work
<thelema_>
SuperNoeMan: ocaml trunk is quite stable, although there are occasional miscommits, they're quickly fixed.
<wmeyer>
orbitz: I just don't try to even install package managers; not needed; and troublesome too
ohama has joined #ocaml
<wmeyer>
SuperNoeMan: yes, you are right, after all it's a compiler, so the typos needs to be quikcly amended and fixed.
ttamttam has quit [Quit: ttamttam]
<SuperNoeMan>
wmeyer: how can package managers be troublesome?
<wmeyer>
orbitz: but at home, here, I use my package manager OPAM with a pleasure. On Windows I'd use *Yypkg* however for sure. It cares a lot about the tasks I don't want to do. And btw, I feel so good, we have solution for a good package management at the moment.
<wmeyer>
SuperNoeMan: read the few previous paragraphs again and tell me if you know what I mean ;-)
<orbitz>
thelema_: we do, but most people don't want our rewrites :)
ggole has quit []
<wmeyer>
orbitz: maybe they want ;-) but I care what I want, and maybe I'd hesistate to up-stream something that it's not generic, it's some work at all too. And legal stuff might happen to consider that for ages anyway.
<wmeyer>
so, no perfect solution. We have approval for ocaml 3.12.0 so I'd think 4.00.1 is Ok to download
* wmeyer
goes back to work, the script on #ocaml goes running :-)
Snark has quit [Quit: leaving]
gnuvince has quit [Ping timeout: 240 seconds]
tootooroo has quit [Read error: Connection reset by peer]
tootooroo has joined #ocaml
Anarchos has joined #ocaml
mcclurmc has quit [Ping timeout: 245 seconds]
<ousado>
no idea what you've been talking about, but regarding GTK3 et al, I'm very impressed by the work they did on gobject introspection for documenting theier interfaces
* ousado
is trying to figure out why wmeyer put the emphasis on *programming* only
<adrien>
:-)
* wmeyer
doesn't know either. But he likes greek word meta.
<adrien>
ousado: the interface have a nice description
<ousado>
yes
<adrien>
the implementation of gobject introspection is pure crap
<adrien>
it's laughable at best
<ousado>
hm.. well I haven't looked at it
<adrien>
and when you have to get close to it, it'll make you cry
<wmeyer>
me either! but if adrien says so I am after him
<adrien>
:D
<adrien>
my gripe number 1 is that it's thought for python
<adrien>
and js
<adrien>
so it doesn't map properly to ocaml and everything related (e.g. compiling)
<ousado>
adrien: wouldn't that be hardcoding what's done by python/gjs at runtime?
<adrien>
that way, 80% of things work
<adrien>
and that's for these 20% that you will be crying
<ousado>
hm.. maybe just js_of_ocaml then :)
<adrien>
:D
<wmeyer>
Python developers don't cry. They rewrite.
<ousado>
gjs + js_of_ocaml + some nice ocaml-runtime gjs interface
<ousado>
(the latter in case native ocaml performance is really required)
lopexx has quit []
<wmeyer>
ousado: I know what you mean. I meant to propose the same. For some reason I didn't.
<wmeyer>
ousado: we want also native support!
<wmeyer>
ousado: but no doubts it's a good idea :-)
<ousado>
yes, I think so
<ousado>
the gnome project officially declared JS as default language for applications recently
<wmeyer>
fair move
<ousado>
which is a great thing for cool languages that compile to JS
<wmeyer>
it means we can write it OCaml
<ousado>
yes
<ousado>
same as FF OS
<companion_cube>
are there plans to have js_of_ocaml compile to asm.js?
<ousado>
I'm really glad that JS made it
* wmeyer
envys Notation.
<ousado>
urgh.. back in a bit ( this is one of my fav topics currently :) )
<wmeyer>
companion_cube: the question was asked today on ocsigen list
<wmeyer>
companion_cube: the short answer was: no.
<companion_cube>
ok :D
<wmeyer>
(there is a long answer for that as well; but I think supporting it will be a bit chalenging)
<Leonidas>
adrien: but you don't have to use GI via FFI. You can use GI in a static way.
<wmeyer>
Leonidas: it's possible and it will be slower
<adrien>
Leonidas: the gobject-introspection binaries lose information
<Leonidas>
I haven't tried it and GI is anyway better then the rest which is nonexisting. It I had a dollar for every binding generator, I'd be rich
<wmeyer>
Leonidas: I'd prefer to do what other languages do
<orbitz>
wheee functors (again)
<adrien>
I've used that as a way to extract the annotations from the C code to XML
<Leonidas>
wmeyer: you mean parsing C headers and hoping for the best? :p
<adrien>
and they lose information in the process (they process the information for python)
<adrien>
Leonidas: I actually do that ; I extract such annotations when possible
<wmeyer>
Leonidas: :) no, maybe relying on good api that does not change, adrien has cowboy for task of parsing .h really
<adrien>
and it works fairly well; getting more coverage is quite a lot of work however
<wmeyer>
it's heav weight, but in principle it should work
<adrien>
wmeyer: actually it's yacfe for the parsing ;-)
<Leonidas>
adrien: yeah, there's like a million binding generators for python. boost, swig, some pyside-thing. I think it is great that there is at least ONE that is reusable.
<adrien>
Leonidas: well, their binding generator is not really reusable
<adrien>
but the annotations are and I really love them
<Leonidas>
adrien: then write your own. I found the .gi files quite decent
<wmeyer>
Leonidas: let's separate "Pythonic & Rubyst" mindset. I would put them into one bag.
<Leonidas>
although gjs is pretty awful
<adrien>
Leonidas: that's what I've done and I don't regret it
<adrien>
that took me less time than working with gir* and I got a better result
<Leonidas>
adrien: so there is also some advantage for you — a more or less stable format for declaring interfaces. I'd say this is nice too.
<Leonidas>
on the other hand, I think it is quite lame that the only common denominator we have is the C interface.
<adrien>
they change "void*" in the C code to "any" in the XML
<adrien>
they change return types of GError** to exceptions
<adrien>
it's about a few things here and there but which are enough to ruin it imho
<wmeyer>
Leonidas: while I agree that gi files might be useful, I'd prefer the GTK+ to provide some DSL for their purpose (and sorry, I don't know the GTK+ that well, so maybe it exists) to describe what is needed.
<Leonidas>
so everything has to have a C interface or it cannot really be used from other software :( I'd love to be able to call OCaml code from Go and use Lua stuff. Or something along these lines.
<adrien>
yeah, most of the time you need to go through C
<orbitz>
One Platform to rule them all
<Leonidas>
wmeyer: I'd consider the GI format to be that DSL. It is a DSL based on XML, but come to think of it, XML possibly the best format for it, because almost every language has an XML parser of some sort.
<Leonidas>
except for JS where everything sucks :>
<wmeyer>
Leonidas: so the problem is usually that they are all written in C or have runtime in C. And OS is written in C, and libraries are written in C. And C ABI is very simple (I found it the nicest feature of C). It's mostly Because of ABI I think C interfaces are used wildly.
pkrnj has joined #ocaml
<wmeyer>
Leonidas: and because C has no GC, and OS have no support for GC, every bridge between decent languages that have it, is complex
<Leonidas>
wmeyer: I understand why this is so and it makes sense. But I was hoping that we could get something like .NET or JVM, where I can call any code and don't have to care how it is implemented, because everything adheres to some calling convention.
<Leonidas>
wmeyer: tell me about it. I am currently writing a wrapper library for OCaml :D
<Leonidas>
I fear running it in valgrind
<wmeyer>
Leonidas: yes, VM's makes sense, I aggree.
<wmeyer>
(bring up new set of problems though)
<Leonidas>
I don't want to see how many megabytes leak everywhere ^^
<Leonidas>
wmeyer: yes, true.
<orbitz>
Wheee, writing ocaml programs meant to be small is fun.
<adrien>
POSIX mandates a C API iirc
<adrien>
(for OSes)
<wmeyer>
what would be good is something different than C interface that takes into account various "operating" modes of languages. A single implementation of that with proper generators. Swig suppose to do this - what it lacks is high relience on C way. COM was actually one of the things in Windows that was right.
<wmeyer>
COM is similar to GTK+ though :-)
<wmeyer>
and maybe we have to support closures, and exceptions, or maybe not?
<Leonidas>
COM was, hmm, kinda ok
<wmeyer>
IMHO this kind of interface should be low level and simple, so maybe not.
<Leonidas>
well, as long as it worked.
<Leonidas>
underneath the hood it is a mess :-/
<wmeyer>
I like COM
<Leonidas>
kinda like SOAP, but SOAP works even worse :->
<wmeyer>
How 'bout modules? Do we need them .NET does not have it, so F# struggles to have a proper module system. How about runtime aspects, Haskell can't be implemented in .NET, G-machine requires tagged unions. Apart from that .NET is object oriented. So Hakell needs monads.
<Leonidas>
"One of the things that I learned from feedback after the session is that OCaml has an undue reputation as an ugly, awkward language. "
<orbitz>
Can Haskell not be implemented in .Net?
Icarot has quit [Remote host closed the connection]
<wmeyer>
Leonidas: so maybe a bridge ABI better than C yes, but maybe VM no? I don't know.
<Leonidas>
wmeyer: I was hoping HLVM could be some sort of solution.
<wmeyer>
orbitz: it was tried, and the short answer: not efficiently as F#.
<wmeyer>
orbitz: before the F# was invented, GHC was meant to be a .NET FP language
<Leonidas>
wmeyer: I don't insist on VMs, not at all. I think VM-less systems do have their use. The .NET/JVM example was just an example of language interop that is higher level than C interfaces.
<wmeyer>
they couldn't get it to work, so F# arrived
<orbitz>
those haskell guys are so hard working
<wmeyer>
Leonidas: I agree with this, yes it brings higher level to the interop, and in principle I like it.
<Leonidas>
yeah, I like many things about haskell
Icarot has joined #ocaml
<wmeyer>
(and maybe it's the only way)
<Leonidas>
for once, GHCi blows the ocaml repl out of the water
<wmeyer>
(vm's)
mcclurmc has joined #ocaml
<wmeyer>
utop is nice :-)
<orbitz>
rlwarp ocaml :)
<orbitz>
wrap*
<Leonidas>
(I don't know, but on VMs you have it certainly easier)
<Leonidas>
orbitz: thats what I am using. Otherwise it is barely usable at all.
<Leonidas>
I don't like utop. A lot of flashyness but no substance.
<orbitz>
would you say native compiled ocaml has a VM right now or just a runtime?
<wmeyer>
Leonidas: I disagree. I found utop in Emacs great improvement
ulfdoz has joined #ocaml
<wmeyer>
Leonidas: it has some nice new # directive too
<wmeyer>
but I'd prefer some of them to be built in too.
<Leonidas>
I like how GHCi can autocomplete filenames, load files etc.
<wmeyer>
orbitz: it has. But barely compatible with others. It's very low level (but high level enough to compile to JS!)
<Leonidas>
wmeyer: utop has this huge useless bar at the bottom where it displays a whole gallery of BatModules. I feel like in Batmans lair :-D
<orbitz>
wmeyer: bytecode is compiled to JS AFAIK, not native
<wmeyer>
Leonidas: lol
<adrien>
I find utop a bot too cluttered; haven't tried configuring it though
<wmeyer>
orbitz: but you can also compile bytecode to C
<Leonidas>
adrien: I agree. I haven't looked up whether it is configurable.
<orbitz>
wmeyer: sure, but i'm asking about ocamlopt output
<wmeyer>
adrien: try, i found it so stable
<orbitz>
would yousay that's a VM or just a runtime?
<Leonidas>
One think I don't like about GHCi is when you try loading some modules and it fails, it doesn't say *anything*
<Leonidas>
orbitz: I'd say it is a runtime
<wmeyer>
orbitz: it parts apart from the bytecode interpreter are used in runtime but also in the opt compiler
<adrien>
wmeyer: lots of things on the todo list unfortunately
<Leonidas>
orbitz: because it compiles to native code.
Kakadu has joined #ocaml
<wmeyer>
orbitz: yes Leonidas is right it's more like runtime
<Leonidas>
like native ARMv6 code for the raspberry pi in 4.00.2 :-)
<orbitz>
wmeyer: hrm? I'm not sure you understand what i'm saking: when you compile an ocaml ntive programming, would would you call the container it runs in?
<orbitz>
ok
<wmeyer>
Leonidas: wait a second, previous versions of OCaml compile to v6 without problems.
<orbitz>
over the alst week or so i've appreacited just the runtime approach, i can run a bunch of stuff on my VPS without upgrading the RAM
<orbitz>
I don't think a Java or .Net app could run in my RAM requirements at all
<Leonidas>
orbitz: I'd call the container a program, because it executes itself, whereas a VM executes bytecodes.
<wmeyer>
Leonidas: 4.00.0 brings a new (better) ARM backend
<wmeyer>
orbitz: yes, it's good
<wmeyer>
but interop is harder
<wmeyer>
the runtime should be one on CPU ;)
<Leonidas>
wmeyer: I meant the armhf patch that is in 4.00.2
<Leonidas>
you are right, it is not exactly about ARMv6 but rather the FPU that is used in the Raspberry Pi.
<wmeyer>
Leonidas: thanks, i forgot about this. Yes older VFP will not work, which means that the FP code will be just slower.
<orbitz>
argh, i want to make this ocaml irc bot, but I don't feel like dealing with seccomp
<wmeyer>
orbitz: at the moment, i also have some cool projects i want to do, and haven't done :(
<wmeyer>
orbitz: time and time managment ...
<Leonidas>
wmeyer: as far as I see, it emits instructions for VFPv3 which causes the binaries to segfault. no big deal as opam ships with a recipe to build a specially patched OCaml 4.00.1 :-)
<orbitz>
I'm just killing time because I don't want to work on my other project
* adrien
spanks orbitz
<orbitz>
adrien: cup your hands!
* wmeyer
spanks adrien
<adrien>
I'm not the one procrastinating
* adrien
gets the whip for orbitz
<Leonidas>
but it's cool, someone uses OCaml on iOS
<orbitz>
My irc bot would make it really easy to let people compile and run little ocaml programs over irc, it' sjust the security part
<wmeyer>
orbitz: yes
<wmeyer>
but I'd enjoy it
<wmeyer>
it's just no time
<adrien>
orbitz: xavierbot limited the available modules and execution time
<orbitz>
adrien: I want to use seccomp on linux, which limits sys calls
Icarot has quit [Quit: quit()]
<adrien>
if you only allow a limited set of OCaml modules, you should be fairly safe
<orbitz>
I don't trust myself that much! Seccomp seems like it does everything I want, just dealing with the API is more than I want to get in to tonight, I guess
<adrien>
:-)
<orbitz>
adrien: looks like seccomp limits sys calls to read/write and exit, so you start a program with fd's you want, turn it on, and run untrusted code
<adrien>
you can't allocate memory?
<orbitz>
oh might allow brk too
<orbitz>
or maybe you allocate all the memory you think it hsould use at start
* wmeyer
asks why Emacs has erc, it's so difficult to not procratinate :(
pkrnj has quit [Ping timeout: 252 seconds]
_andre has quit [Quit: leaving]
<ousado>
well, it's not .NET and not the JVM, it's JS
<ousado>
in many ways, JS is another C now
pkrnj has joined #ocaml
<wmeyer>
ousado: good point!
cthuluh has quit [Ping timeout: 246 seconds]
<wmeyer>
ousado: however it must be just slow for the really dynamic JS code
<ousado>
actually when compiling from haxe, the V8 often beats the hxcpp target
<wmeyer>
ousado: i try to stay away from JS, but I wrote some funny application in js_of_ocaml
cthuluh has joined #ocaml
<ousado>
wmeyer: the reactive thing?
<wmeyer>
yes, jits are much better now ...
<wmeyer>
ousado: this one; and chess board
<wmeyer>
ousado: which i might publish some day on my leisure
<ousado>
wmeyer: what is it?
<ousado>
a human-player chess board?
<ousado>
or some AI stuff?
<wmeyer>
yes, just h-h board
<wmeyer>
nothing fancy
<ousado>
chess is nice
<wmeyer>
i try to hook to Ocsigen to make it multi player
<wmeyer>
but i didn't have time to finish
<wmeyer>
if you'd like to play I'm danmey on FICS
<ousado>
I'm not a good player, unfortunately
<Kakadu>
wmeyer: what ELO?
<wmeyer>
neither me, but each time I play with somebody I discover his/her character
<ousado>
sometimes, by accident, though :)
<wmeyer>
that's chess
<ousado>
I've played at a tournament against some guy, and we had a test game, and he was very sure he'd beat me
<wmeyer>
Kakadu: polish slang greeting :-)
* Kakadu
tryied to move to FICS but 1 month trial was not given and Kakadu decided to stay on chessplanet.ru
<wmeyer>
trial?
<wmeyer>
there is not trial, freechess.org gives an account to anybody!
<Kakadu>
yeah, AFAIK fics is not free
<ousado>
haha
<ousado>
:)
<wmeyer>
free internet chess server - that's fics, how it can be paid?
<Kakadu>
ahh, s/FICS/ICC/
<wmeyer>
maybe it is, on some websites
ttamttam has joined #ocaml
gnuvince has joined #ocaml
<Kakadu>
so, when chess was mentioned I want to congratulate ocamlers which are from Norway
<wmeyer>
Norwich camlers released a chess engine in OCaml?
<wmeyer>
I'd love to see it
<wmeyer>
but I think can't beat the C ones at the moment, as the high-level algorithm is dumb ;)
<Kakadu>
Norwish player is a possible next world champion
ttamttam has quit [Client Quit]
<gnuvince>
Kakadu: I'd say Carlsen is easily a 10-to-1 favorite to win against Anand
Armael has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
<ousado>
wmeyer: hm.. now I think I'd like you to discover my character and tell me about it
<Kakadu>
gnuvince: Everybody said that winner of last tournament will beat Anand
<Kakadu>
gnuvince: but I hope that Anand will play like in 2008 match vs. Kramnik
rwmjones has quit [Ping timeout: 256 seconds]
<wmeyer>
ousado: I'll try, it's easier in a pub :-)
lopexx has joined #ocaml
<wmeyer>
Kakadu: so Carlsen is still #1. Last time I read wikipedia about Chess he was also top #1. He is very young though, as far as I remember.
anderse has quit [Quit: anderse]
Armael has joined #ocaml
* Kakadu
lost two games on FICS today
* Kakadu
feels like a chicken. maybe its better to go for a sleep
<gnuvince>
wmeyer: he's gonna be hard to dislodge, I think he has about 50 points over Karmnik
<wmeyer>
Kakadu I learned one thing about chess, I do it only for pleasure.
<Kakadu>
gnuvince: don't judge using only ELO :)
<wmeyer>
if I win, and the game was good, I'm very happy, if I lose and the game was good, I'm also happy, but disapointed, if I lose because I did a stupid mistake, I can just blame myself.
<Kakadu>
wmeyer: There is a problem. Win noobs is not a pleasure, but to have in every game better situation and finally lose it --- not very good for soul
<gnuvince>
Kakadu: wmeyer was talking about the rankings.
<gnuvince>
But even without mentioning rankings, Carlsen's knack for extracting wins out of positions that should be draws is pretty amazing.
<wmeyer>
Kakadu: find your long term partner, really, it helps
LeNsTR has quit [Changing host]
LeNsTR has joined #ocaml
<wmeyer>
gnuvince: envy your knowledge :-) do you analyze chess matches or read some news, if you know some good websites to recommend I'd like to know
<wmeyer>
Kakadu: it's best when your partner is approximetly as good as you, which you can find by playing with him few games.
rwmjones has joined #ocaml
<orbitz>
hello
lopexx has quit []
rwmjones has quit [Ping timeout: 245 seconds]
ulfdoz has quit [Ping timeout: 276 seconds]
ulfdoz has joined #ocaml
thomasga has quit [Quit: Leaving.]
Kakadu has quit []
rwmjones has joined #ocaml
ulfdoz_ has joined #ocaml
<wmeyer>
orbitz: hello
ulfdoz has quit [Ping timeout: 248 seconds]
ulfdoz_ is now known as ulfdoz
Yoric has quit [Ping timeout: 264 seconds]
eikke has quit [Read error: Connection reset by peer]
RagingDave has quit [Quit: Ex-Chat]
eikke has joined #ocaml
awm22 has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]
frogfoodeater has joined #ocaml
eikke has quit [Ping timeout: 255 seconds]
smondet has quit [Ping timeout: 260 seconds]
smerz has joined #ocaml
Anarchos has quit [Quit: go to sleep]
cdidd has joined #ocaml
inquiryqueue has joined #ocaml
gnuvince has quit [Ping timeout: 260 seconds]
eikke has joined #ocaml
ocp has quit [Quit: Leaving.]
ollehar has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Ping timeout: 256 seconds]
ollehar has joined #ocaml
pkrnj has joined #ocaml
tobiasBora has quit [Quit: Konversation terminated!]
emmanuelux has joined #ocaml
frogfoodeater has quit [Ping timeout: 256 seconds]