<vodka-goo>
what Smerdyakov is important, the type error could have been enough for you to find the proper function in the interface
<vodka-goo>
+said
<Mozillion>
well, I kinda understood that the cvar function was string -> unit, while the formatter was missing
<Mozillion>
so the formatter*
<Mozillion>
but didn't now how to get one relating to the fact that in the example it wasn't used differently either
zigong has quit [Read error: 110 (Connection timed out)]
vodka-goo has quit ["Leaving"]
gim has quit []
Bigb[a]ng is now known as Bigbang
zigong has joined #ocaml
_fab has joined #ocaml
ski__ has joined #ocaml
ski has quit [Nick collision from services.]
ski__ is now known as ski
<vincenz>
RE
<Mozillion>
hey
<vincenz>
blegh
zigong has left #ocaml []
zigong has joined #ocaml
Mozillion has quit ["Client exiting"]
<vincenz>
dum dum
vodka-goo has joined #ocaml
malc_ has quit ["leaving"]
pango has quit ["Leaving"]
pango has joined #ocaml
tristram has joined #ocaml
smimou has joined #ocaml
Snark has quit ["Leaving"]
Snark has joined #ocaml
ski has quit [Read error: 110 (Connection timed out)]
mwc has joined #ocaml
__DL__ has joined #ocaml
<schlick>
Does anybody know the term for "analysis to determine the last point (source code wise, not run time wise) at which a data unit can be read or written"?
<schlick>
Is that region inference?
<mwc>
That sounds about right. Region analysis would be my bet
<schlick>
What I'm getting at is if something is scoped that's easy, it just pops off the stack after the function finishes, but if something is put on the heap, how do you know when is the soonest (but not too soon!) you can let go of it.
<mwc>
I've heard of regional analysis being used to do similar analysis in Ada and Cyclone
<schlick>
Smerdyakov, any ideas?
<schlick>
Hard figuring this stuff out on my own. :P
<schlick>
mwc: The part that concerns me is region based memory management (not the same thing as region analysis necessarily) leaks for some programs. What I'm after is how to determine if I forgot to free something, or if I freed it too early, or more than once, in a language with manual memory management.
<mwc>
Look into Cylcone
<mwc>
I know it does some analysis to discover problems like that
<schlick>
mwc: Already did.
<schlick>
mwc: Vault does too.
<schlick>
mwc: Well, it'd be more accurate to say it does its memory management that way, I suppose.
<schlick>
mwc: Which is apparently unsafe.
<mwc>
what's vault?
<mwc>
a, MS's answer to Cyclone
<mwc>
wikipedia had nothing
<schlick>
mwc: Microsoft Research's answer to Cyclone. The practical difference is it looks weirder and does more checking at compile time, while Cyclone does most of it's checking at run time.
<schlick>
mwc: Where "weirder" means less like normal C.
<mwc>
not an issue
<mwc>
the compile time checking is neat
<schlick>
mwc: I would tend to agree.
<mwc>
In fact, I'd say it's superior to cyclone on that basis if it delivers on the promise
<schlick>
mwc: My main concern is the memory management. Apparently you can't safely use region based memory management, it will leak for some reasonable programs, which is why ML Kit had to resort to garbage collection after they'd implemented region based memory management.
<schlick>
mwc: It's freely downloadable.
<mwc>
yeah, windows only though
<schlick>
mwc: With documentation and papers and all that.
<schlick>
mwc: Of course. It's Microsoft Research. :P
<schlick>
mwc: You can read all about it though.
<mwc>
The head honcho behind GHC (haskell compiler) is from MS Research
<schlick>
mwc: I doubt there will be much open source, especially for Unix, coming out of Microsoft Research.
<mwc>
look at the bottom of the page at the website maintainer :D
* vincenz
peers at schlick
<mwc>
the guy who wrote the haskell standard is also from MS research
<mwc>
nah, it's just this particular project
<schlick>
I believe you. I just don't foresee them writing a lot of source code for Unix and giving it away, since Unix tends to compete with their server-grade OS's and there's usually a lot of animosity between the two cultures.
<mwc>
dunno, I see this Vault thing more as a computer science research project than a practical tool
<vincenz>
schlick: learned ocaml yet?
<schlick>
vincenz: My books aren't in yet.
<mwc>
books?
<schlick>
vincenz: Probably won't be till the middle or end of January.
<vincenz>
schlick: you don't need books to learn ocaml
<schlick>
mwc: To wrap my head around strongly typed languages.
<mwc>
I figure I should be able to pick up Ocaml pretty easily given a Haskell background
<mwc>
ah
<mwc>
yeah, Ocaml is easy after haskell with regards to types
<vincenz>
schlick: it's just you come on here and ask a million questions without trying to read a bit first.
<mwc>
I find typing is actually more natural than not
* vincenz
wishes that ocaml had typeclasses
<schlick>
vincenz: Typing beyond the concept of "how much storage to I allocate" and "what is the agreed upon internal representation of a unit of data" is very alien to me.
<mwc>
vincenz, yes, i love typeclass
<mwc>
schlick, essentially, think of them as being the semantics of the value
<mwc>
ie, from a highschool math standpoint: integers from reals
<schlick>
vincenz: My primary interest is in how they do it rather than learning OCaml for practical use, too. You can probably scrape by without "getting it" but that wouldn't do me any good. I'm going to be trying to learn Cayenne (Haskell with dependent types), and ATS/DML/Xanadu (by the same guy, most bear some semblance to ML apparently).
<schlick>
I hit my head against Epigram but couldn't take it at this point, I need something more digestable.
<vincenz>
schlick: I think you need a foundation first of applicable knowledge
<vincenz>
and ocaml is a great starting point
<schlick>
DML doesn't look too bad. Honestly I can't tell what was added atop Standard ML. It looks... a lot more normal than Epigram. In fact, Epigram looks a awful lot like Djikstra's method of "writing math and deriving a program" rather than "writing a program and then checking it with math".
<mwc>
schlick, an expression may or may not have a type. If it doesn't have a type, it's rejected as ill formed by the compiler. if it has a type, it may or may not have a value. Not having a value implies that the computation diverges. If it has a value, then the value has to be consisten with the type.
<mwc>
the last case in Caml or ML is that an expression may or may not have an effect
<mwc>
I'm just learning ocaml because I need to take a simulation course next semester, and I don't feel like using Matlab
<schlick>
mwc: "computation diverges" did not parse.
<mwc>
haskell's FP performance is still some what lacking
<vincenz>
schlick: let x = (let loop y = loop y in loop 1)
<vincenz>
or rather
<vincenz>
let x = (let loop y = loop y in loop 1;2)
slipstream-- has joined #ocaml
<schlick>
vincenz: That didn't help.
<mwc>
schlick, well, functions take values, and return one
<mwc>
right?
<schlick>
mwc: Yes.
<vincenz>
schlick: learn ocaml then
<mwc>
so, what happens if the function just goes and starts computing stuff, and tries to compute more
<mwc>
but it never manages to get the value to return
<schlick>
vincenz: I probably will eventually. However, instead of trying to write stuff I don't understand and hope the answer falls from the sky somehow, I'm going to learn the concepts first.
<schlick>
mwc: Like something trying to compute the last digit of pi, or some other operation that can never complete?
<vincenz>
yes
mwc has quit ["Leaving"]
<schlick>
Ok, so a partially filled in explanation would be: A expression may or may not have a type (what this means is unclear, it seems, aside from a agreed on internal representation (to allow separate compilation), and how much space to allocate, it may also mean what operations to allow on data tagged as this or that type, apparently it also means other various and sundry things buried in too many layers of academic jargon). If it do
<schlick>
apparently it also means other various and sundry things buried in too many layers of academic jargon). If it doesn't have a type (based on no tags supporting all the used operations?), it's rejected as ill formed by the compiler. If it has a type, it may or may not have a value. Not having a value implies that the computation diverges (how this is determined is beyond me). If it has a value, then the value has to be consistent
<schlick>
computation diverges (how this is determined is beyond me). If it has a value, then the value has to be consistent with the type (this makes sense but how the compiler determines it short of looking /only/ at the operations you try to perform and what other data types you use in them, I don't know).
<schlick>
But he left so I guess it doesn't matter. I'll have to wait till my stuff on types comes in.
<schlick>
If anybody that feels like answering knows the term for "figuring out the last point at which a unit of data can be read or written" please let me know...
vincenz has quit ["Lost terminal"]
vincenz has joined #ocaml
ski has joined #ocaml
Raziel has quit [Read error: 110 (Connection timed out)]
Bigbang is now known as Bigb[a]ng
<ulfdoz_>
So'n <buzzwording> distributed computing project </buzzwording> also
<ulfdoz_>
ECHAN, sorry
bluestorm has joined #ocaml
<ulfdoz_>
Was mich an solchen teilen immer am meisten stört: Man kann nicht ohne weiteres überprüfen, was man tatsächlich rechnet.
<ulfdoz_>
and again sorry *tilt*
<dylan>
You can't observe what counts most?
Snark has quit [Read error: 110 (Connection timed out)]
<ulfdoz_>
Nope, as participant in projects like seti@home or rosetta [http://boinc.bakerlab.org/rosetta/] I have no easy control, what data really is computed. A problem of trust in my opinion.
zigong has quit [Remote closed the connection]
<dylan>
well, to do that you'd need a way of telling what any given function f does, no? :)
<ulfdoz_>
dylan: Yes, but that is not considered easy in my eyes. And the other thing is. What's the source of input data.
<dylan>
well, wouldn't you run into the halting problem anyway?
<ulfdoz_>
dylan: Yes. So with the same argument I do not participate.
<dylan>
Interesting.
<ulfdoz_>
Some scenario: Someone could compute rainbowtables for cracking hashes or even keys under the camouflage of some other problem.
<ulfdoz_>
Perhaps in near future EU-citizens shall mine their own observational data for the government.
<dylan>
The sad thing is, it doesn't sound that unlikely.
bluestorm has quit [Remote closed the connection]
mwc has joined #ocaml
skylan_ has quit [Read error: 104 (Connection reset by peer)]
Schmurtz_ has joined #ocaml
malc_ has joined #ocaml
Schmurtz has quit [Read error: 110 (Connection timed out)]
Schmurtz_ is now known as Schmurtz
juri has quit [niven.freenode.net irc.freenode.net]