<Jonex>
I'm following the tutorial, but it seems they forgot to explain the match syntax, what's that all about?
mikeX has quit [Read error: 110 (Connection timed out)]
<Jonex>
Is there some other OCaml channel, a more active one?
_fab has quit []
<youknow365>
Jonex: i have wondered also
mikeX has joined #ocaml
<zvrba>
Jonex: take a look at jason hickey's ocaml tutorial
<zvrba>
it explains everything nicely
mikeX has quit [Read error: 110 (Connection timed out)]
_jol_ has joined #ocaml
Smerdyakov has joined #ocaml
_jol_ has quit ["leaving"]
_jol_ has joined #ocaml
descender has quit [Read error: 60 (Operation timed out)]
descender has joined #ocaml
_jol_ has quit ["leaving"]
jcreigh has joined #ocaml
kcollins has joined #ocaml
kcollins has quit [Remote closed the connection]
finelemon has joined #ocaml
finelemo1 has quit [Read error: 113 (No route to host)]
<DRMacIver>
I'm looking for a good starting project to have a tinker around with on OCaml in order to get to grips with the language. Anyone have any ideas?
<DRMacIver>
I'm not totally new to programming. I've got a reasonable working knowledge (although nothing too deep) of ML, Java and C#.
jcreigh has quit ["Cuius rei demonstrationem mirabilem sane detexi. Hanc marginis exiguitas non caperet."]
<Smerdyakov>
Projects tend to be successful in proportion to the interest you have in their final results.
<Smerdyakov>
Thus, you should pick your own project!
mwc has joined #ocaml
<DRMacIver>
Obviously. :p
<DRMacIver>
But I'm looking for suggestions.
mwc has quit ["Leaving"]
_jol_ has joined #ocaml
<Smerdyakov>
DRMacIver, you will not succeed if you can't choose your own project.
<Smerdyakov>
DRMacIver, perhaps you are making the mistake of assuming that some projects that you'd like to do are not realistic for you.
<Smerdyakov>
DRMacIver, instead, Just Start Working On Them, a piece at a time.
<DRMacIver>
Smerdyakov: I think you're reading too much into the choice of the word 'project' :)
<Smerdyakov>
You will not succeed if you do not have a project worthy of the name "project" always in mind as a goal.
<DRMacIver>
Ok. Project was perhaps the wrong choice of word then.
<Smerdyakov>
If you are looking for a "program idea," then you are misguided.
<Smerdyakov>
All of the programs you write should be oriented towards achieving something tangible and of independent value.
<DRMacIver>
You're missing the point.
<DRMacIver>
I just want something to play with to get a feel for the language.
<Smerdyakov>
So pick something of independent value and set about implementing it.
<DRMacIver>
Most of my ideas of independent value have a sufficiently big bottleneck near the beginning that I'd much rather have a decent idea of how the damn thing works before I plunge into them. :p
<DRMacIver>
s/thing/language
<Smerdyakov>
You pick out smaller pieces and do those to get your idea, continuing if you are sufficiently pleased.
* DRMacIver
gives Smerdyakov a cookie.
<Smerdyakov>
If you are considering OCaml, you must have encountered problems using other languages for some task, or heard rumors that OCaml could better enable you to perform some tasks.
<Smerdyakov>
It's those tasks you should be trying to use it to perform.
<DRMacIver>
See earlier comment about bottleneck.
<DRMacIver>
i.e. the tasks which I wish to set out to perform require a Hard Thing to be done before they can function.
<DRMacIver>
I know full well that in order to get properly to grips with the language I need to try and use it to solve problems. What I am looking for is something that is not quite such a big problem to begin with. :)
<DRMacIver>
I am not saying "Make my decision for me", and I'm damn well not going to do whatever problem someone throws in my direction.
<DRMacIver>
I am temporarily lacking in inspiriation for a smaller project and am asking for suggestions.
<DRMacIver>
What I am instead getting is patronising responses which are of little value or novelty.
<youknow365>
most active i have saw this channel in the last weeek
<Smerdyakov>
DRMacIver, tell us what the large projects are that you feel are not reasonable due to these bottlenecks.
<youknow365>
i wish people wou8ld contribute more to the Ocaml cook book
<Smerdyakov>
youknow365, any language where a cookbook is useful is a bad language.
<youknow365>
wtf?
<youknow365>
that one helped me learn sockets
<youknow365>
i was totally lost
<Smerdyakov>
Bad library design
<youknow365>
this shit is not easy if your not experinced
<DRMacIver>
Smerdyakov: I'm coming from a web dev perspective (it's not my initial training, but it's how I'm employed at the moment), and am having issues with the existing languages and frameworks I've been using and would like a go at something different.
<Smerdyakov>
DRMacIver, OK, then why not write a web application?
<DRMacIver>
Aspects of the OCaml language and my background in functional programming lead me to think that it would be a good language to have a go at doing this in.
jcreigh has joined #ocaml
<DRMacIver>
Smerdyakov: Exactly
<DRMacIver>
Unfortunately I'm completely failing to grok mod_caml. :)
<DRMacIver>
youknow365: I'm just looking for some miniprojects to have a play with while I try to get to grips with OCaml and was looking for suggestions.
<youknow365>
lol
<DRMacIver>
Smerdyakov: Thanks. I'll take a look.
<youknow365>
the lst thing you will see me doing is asking people for what projects to do
<youknow365>
last
<youknow365>
i got to mauch stuff on my list
<DRMacIver>
The key word is *suggestions* :p
<Smerdyakov>
DRMacIver, I've never used mod_caml. I imagine your purposes would also be served using some CGI library, assuming there is one.
<youknow365>
when you use mod_caml do you byte code compile the code ?
<youknow365>
or does it do that for you
<DRMacIver>
Smerdyakov: Well, basically. But I'd like to handle most of the framework stuff myself. It's just getting it to tie into the webserver that I'm completely failing to understand, as I've previously used tools which automagically do it for you. :)
<DRMacIver>
(Tomcat being the big one)
<Smerdyakov>
CGI ties automatically into any web server.
<DRMacIver>
Well, Tomcat + Spring MVC so as to not have to deal with the web servlets
<DRMacIver>
s/web//
<DRMacIver>
Smerdyakov: Yes, but I've never used straight CGI
<Smerdyakov>
It's trivial with a library.
<DRMacIver>
Well mod_caml is supposed to be such a library. But, as mentioned, I simply can't seem to get it to work. :)
<DRMacIver>
Hm
<DRMacIver>
Except something's just occurred to me about why this might be the case.
<DRMacIver>
Argh
<Smerdyakov>
See, I might recommend things like writing an interpreter for a small language, but I have no idea if, given your interests, this might be a complete turn-off.
<DRMacIver>
Hm. Not a bad idea actually.
<DRMacIver>
Oh. Actually that reminds me of something I'd been wanting to play with actually (which is relatively similar). I've been wondering about having a toy register machine to play with.
<DRMacIver>
(in the theory of computation sense)
<DRMacIver>
That might be worth a go at implementing.
<DRMacIver>
As it's about the right level of complexity.
<DRMacIver>
(There. See how easy that was? :) )
<Smerdyakov>
There are plenty of people who would have thought it was a horrible suggestion and had some implicit context in mind about which program ideas are interesting that they aren't willing to share, like you aren't.
<DRMacIver>
Yes. And the worst that would happen is I'd say "Nah, that doesn't sound very exciting".
<DRMacIver>
Wouldn't that have been awful? :)
<Smerdyakov>
And then we could play 20 questions for eighteen hours, instead of your just saying "I like programs about X."
<DRMacIver>
I have this interesting idea.
<DRMacIver>
It's called "Benefit of the doubt"
<DRMacIver>
i.e. maybe you could give up on suggesting things AFTER I've rejected a couple?
<Smerdyakov>
That would be against the law.
<DRMacIver>
Because the short answer is I don't *know* what programs I like.
<DRMacIver>
I learned to program in order to solve some mathematical problems.
<DRMacIver>
I continue to program because I'm employed to do so. :)
<DRMacIver>
Hence my viewpoint is very narrow, and while I'd like to expand it I don't neccesarily know what direction to do so in.
<Smerdyakov>
The information you just gave is already very valuable.
<Smerdyakov>
Lots of programmers are turned off by anything mathematical.
<DRMacIver>
Well if you'd asked for more background in the beginning then I'd have given it. :)
<DRMacIver>
But that's not what you did. You basically told me to go away and choose my own project.
<Jonex>
How do I load an image with OCaml? (or, how do I find such a lib?)
<Jonex>
To an array.
<DRMacIver>
Hm. Could anyone else confirm that the latest version of http://whytheluckystiff.net/syck/ is failing its unit tests? It seems to be hanging on test-parse
<DRMacIver>
(I want to check it's not just my inimitable ability to generate strange errors before I report this to the author)
<DRMacIver>
(Yes, this is related to the project mentioned above. I intend to use yaml for config purposes in general, so I decided to kill two birds with one stone and do my register machine definitions in yaml. :) )
<DRMacIver>
(I know it says it's for ruby, but this is supposed to be a general purpose one which also works with ocaml)
<DRMacIver>
Oh. It does say that in the title. Just not anywhere else on the page. :)
<Jonex>
You could try Json, is avaible for almost any language. OCaml among them.
<DRMacIver>
I'm not really convinced of JSON's merit for describing configuration.
<DRMacIver>
Although it is quite nice for passing data back and forth (if you're willing to risk an eval and the associated security issues)
<Jonex>
It's quite general, so I guess it can be used for practically anything.
<DRMacIver>
Sure
<Jonex>
You don't have to eval Json, just parse it.
<Jonex>
For some languages there are very handy serialisers too.
<DRMacIver>
Well a lot of the benefits of JSON as a data transfer protocol disappear if you don't have eval. :)
<Jonex>
Why so?
<Jonex>
There are already implemented parsers, so the only thing you might lose is performance.
<DRMacIver>
Well I guess not a lot. But it was rather the original point of it.
<DRMacIver>
As it means you have to add another bulky processing tool to your javascript.
<DRMacIver>
And if you're doing that it's not really much better than xml.
<Jonex>
JSon doesn't have to be used with Javascript.
<DRMacIver>
No.
<Jonex>
Well, the syntax is arguably nicer than xml, and parsers are more easily implemented. (xml parsers can get really huge)
<DRMacIver>
Ok, I withdraw the eval comment (at least partly due to laziness)
<DRMacIver>
Especially as I do agree that JSON is nicer than xml.
<DRMacIver>
But I don't want to use xml either. :)
<DRMacIver>
If it was a choice between the two for config I would indeed go for JSON
<DRMacIver>
But yaml just seems nicer to me, at least for this purpose.
<DRMacIver>
Save for the slight issue that I can't get the parser to pass its unit test. ;)
_jol_ has quit ["co'o rodo"]
<Jonex>
JSON seems to be more mature(as in, more work done on parsers), so I'd choose it for that reason.
<DRMacIver>
Maturity is somewhat overrated. :)
<Jonex>
YEah, I know a 12 year old that's really good at programming.
<DRMacIver>
But does the fact that the 12 year old is not measure mean that he shouldn't program?
<DRMacIver>
Else how will he get good at it? :)
<youknow365>
what up
jcreigh has quit ["Cuius rei demonstrationem mirabilem sane detexi. Hanc marginis exiguitas non caperet."]