<Qrntz>
areece, you could locally open DJV if you reference that particular record a lot
<Qrntz>
AFAIK there's no other way
<Qrntz>
either opening or fully qualifying the name
<Qrntz>
gour, that didn't really work out
pango_ has joined #ocaml
pango has quit [Ping timeout: 250 seconds]
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 246 seconds]
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
<troydm>
gour: apparently there is also native optimizing ocaml compiler with llvm backend
<troydm>
however it hadn't received any significant development since last year december
m_m has joined #ocaml
<orbitz>
AFAIK the llvm one isn't faster than ocamlopt, epsecially when it comes to exceptions
Catnaroek has quit [Quit: brb]
<adrien_oww>
yup
<adrien_oww>
faster than bytecode but not ocamlopt usually
<wmeyer>
hi!
fusillia has quit [Read error: Operation timed out]
<gour>
so, that llvm-based compiler does not change things concurrency-wise
<orbitz>
correct
<orbitz>
for concurrency I use Async
ontologiae has joined #ocaml
<wmeyer>
for the concurrency you would need to change the runtime, and possibly FFI
<wmeyer>
you would need to ask yourself why you need shared memory model?
<wmeyer>
and how will you use it
<wmeyer>
shared memory concurency forces you to use locks, but if you decide for message passing then why not just use JoCaml
<wmeyer>
(or event module for inter-processing primitives)
<wmeyer>
once you start using locks you are back in the imperative world
<orbitz>
using somethign like async makes a lot of locking easier, but could obviously be better
<wmeyer>
orbitz: yes, I agree + it reduces, but synchronisation primitives will be always needed, otherwise the code is not concurrent anymore
<wmeyer>
not that i am opponent of multicore OCaml, but I also feel that it might not buy as much as people think
<wmeyer>
in Java world SMP is used for non-blocking IO, because Java lacks nice cooperative threading libraries. So you either go for polling in single place and pollute your code with event driven code (single threaded!) or spawn threads and use the synchronisation primitives (which are hard to debug)
<wmeyer>
but perhaps maybe I am wrong :-)
fusillia has joined #ocaml
<wmeyer>
what is preffered format for ocaml.org, html?
<troydm>
i'm sorry for a dumb question but
<troydm>
say i have a number that is int32
<troydm>
some big number
<troydm>
how do i seperate it into 4 chars?
<troydm>
i did >> 24 & 0xFF
<troydm>
i did >> 16 & 0xFF
<troydm>
i did >> 8 & 0xFF
<troydm>
and n & 0xFF
<troydm>
however from what i understand
<troydm>
or maybe i'm wrong
<troydm>
i could have done n & 0xFF00l instead of >> 16 & 0xFF
<wmeyer>
& operator is not bitwise the same >>, now there is an endianess issue
<troydm>
well & i mean Int32.logand
<wmeyer>
if you are read/write to memory byte by byte a dword
<troydm>
and >> i mean Int32.shift_right_logical
<wmeyer>
by issuing for sequences of bytes to be written, in little endian they have to be in reversed order
<wmeyer>
the same for reading byte by byte
<wmeyer>
in big endian the most sinificant comes first
<wmeyer>
troydm: what is not working? I think you are on the right track, the only thing is endianess, which is little endian on Intel BTW.
<troydm>
let's say i want to write a number in big endian chars
<troydm>
etc Int32.max_int
<troydm>
which is 0xFFFFFFFFl
<troydm>
so how do i chunk it into 4 chars?
<troydm>
>> 24 & 0xFF
<wmeyer>
yes
<wmeyer>
that's what you do
<troydm>
or & 0xFF000000l ?
<wmeyer>
well, it's up to you :-) it does not matter
<wmeyer>
you either first mask and then shift
<wmeyer>
or shift then mask
<wmeyer>
of course maybe peformance wise the first is better
<troydm>
no i mean mask without shifting
<wmeyer>
so then lower bits will be zeros
<troydm>
why would i want to shift if my mask already contains needed byte
<wmeyer>
yes but it contains shifted left by 24 bits
<troydm>
wmeyer: oic
<troydm>
wmeyer: ic now
<troydm>
thx
<wmeyer>
troydm: np :-)
<troydm>
also regarding the sign
<troydm>
asfar as i know
<troydm>
the very first bit is sign bit
<wmeyer>
yes
<wmeyer>
(the last one to be correct)
<troydm>
so if i do left shift of the most byte
<troydm>
e.g. >> 24
<wmeyer>
the very first reading from left to right :-)
<wmeyer>
if you do arithmetic shift it will be handled automaticaly
<troydm>
yeah i prefer to imagine in big endian
<wmeyer>
surely sign does not matter when you want to extract bytes
<wmeyer>
be/le is only a convention how is stored in memory
<wmeyer>
to be precise in be it will not be the first bit too
<wmeyer>
but the last of the first byte
<wmeyer>
you don't reverse bits, just bytes
<troydm>
so if i want to precisely store int32 in bytes
<troydm>
should i do arithmetic shift or logical shift?
<wmeyer>
logical
<wmeyer>
it does not matter actually in your case
<wmeyer>
but do logical in that case.
<wmeyer>
ok, i gtg, good luck
<troydm>
thx
suyu has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
dezzy has quit [Ping timeout: 256 seconds]
Catnaroek has joined #ocaml
cdidd has quit [Read error: Operation timed out]
BiDOrD_ has joined #ocaml
ontologiae has joined #ocaml
BiDOrD has quit [Read error: Operation timed out]
Siphonblast has quit [Quit: quit()]
Siphonblast has joined #ocaml
mye has joined #ocaml
Catnaroek has quit [Ping timeout: 246 seconds]
brendan has quit [Ping timeout: 255 seconds]
Yoric has quit [Ping timeout: 246 seconds]
m_m has quit [Remote host closed the connection]
Catnaroek has joined #ocaml
Catnaroek has quit [Ping timeout: 250 seconds]
suyu has quit [Quit: suyu]
ontologiae has quit [Ping timeout: 246 seconds]
brendan has joined #ocaml
brendan has quit [Ping timeout: 265 seconds]
weie has quit [Quit: Leaving...]
Kakadu has quit []
jewel has joined #ocaml
lusory has quit [Ping timeout: 264 seconds]
ontologiae has joined #ocaml
ulfdoz_ has joined #ocaml
ikaros has joined #ocaml
ulfdoz has quit [Ping timeout: 260 seconds]
ulfdoz_ is now known as ulfdoz
fusillia has quit [Ping timeout: 260 seconds]
brendan has joined #ocaml
f[x] has quit [Ping timeout: 260 seconds]
lusory has joined #ocaml
yezariaely has quit [Remote host closed the connection]
yezariaely has joined #ocaml
leoncamel has quit [Ping timeout: 252 seconds]
leoncamel has joined #ocaml
watermind has joined #ocaml
AltGr has quit [Quit: Konversation terminated!]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 256 seconds]
dezzy has joined #ocaml
dezzy has quit [Changing host]
dezzy has joined #ocaml
mcclurmc has joined #ocaml
jamii has joined #ocaml
mcclurmc has quit [Client Quit]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 255 seconds]
Yoric has joined #ocaml
jbrown has joined #ocaml
oriba has joined #ocaml
ontologiae has quit [Ping timeout: 255 seconds]
_andre has quit [Quit: leaving]
Catnaroek has joined #ocaml
Catnaroek is now known as lolcathost
Siphonblast has quit [Ping timeout: 245 seconds]
Siphonblast has joined #ocaml
emmanuelux has joined #ocaml
myx has quit [Quit: ушёл]
oriba has quit [Quit: oriba]
hongboz has joined #ocaml
<gour>
one of the conclusions of "effective ML video" is that the language is not really suitable for UI...what to do now?
<adrien>
pffft
<adrien>
it _is
<adrien>
_
<gour>
:-)
<adrien>
people want to believe they can throw things around and get an UI that works
<adrien>
they don't consider any design in the UI and they don't consider the fact they're using C libraries with their own API
<gour>
i bet UI should be easier with ocaml, then with haskell
<adrien>
well, something that doesn't work terribly well is imperative UI and functional logic
<gour>
right...i still plan to use fp logic + modules + UI instead of OOP
<adrien>
which kind of UI btw?
<gour>
well, gtk+ bindings for GUI app
<gour>
using different kinds of avaialble widgets
<adrien>
do you have a more precise idea of what it will look like?
<gour>
using ephemeris C library to do some number crunching, then custom ocaml libs to calculate different data which are to be displayed on the screen, modified by user, re-calculated etc.
<gour>
then calculating transits of the planets and animate their movement...looking for specific data in the sqlite3-based storage back-end...
<adrien>
ok
<adrien>
it should work out fine
<gour>
good ;)
hongboz has quit [Ping timeout: 252 seconds]
andreypopp has joined #ocaml
andreypopp has quit [Excess Flood]
<gour>
getting late...---> sleep
jewel has quit [Ping timeout: 264 seconds]
gour has quit [Quit: WeeChat 0.3.8]
milosn has quit [Read error: Operation timed out]
watermind has quit [Ping timeout: 246 seconds]
milosn has joined #ocaml
emmanuelux has quit [Quit: emmanuelux]
Yoric has quit [Ping timeout: 252 seconds]
suyu has joined #ocaml
tane has quit [Ping timeout: 246 seconds]
gnuvince has quit [Ping timeout: 245 seconds]
jamii has quit [Read error: Operation timed out]
Reventloff has joined #ocaml
Reventloff has quit [Client Quit]
jamii has joined #ocaml
tane has joined #ocaml
gnuvince has joined #ocaml
xaimus_ is now known as xaimus
tane has quit [Quit: Verlassend]
emmanuelux has joined #ocaml
emmanuelux has quit [Remote host closed the connection]