<merijn>
f[x]: The problem is, I've been asked to help come up with some example exercises for the functional languages class here. Ocaml + stdlib is installed on all the machines, but getting IT to install something new like batteries/deriving or other libraries will take weeks at best. Rendering the point moot since the students will have had to complete the exercises before then.
<merijn>
So I'll just have to change some of my ideas to rely less on outputting arbitrary data
<flux>
it indeed might be a good idea to not focus on output, because IMO it's not the best fature of ocaml :). (overloaded printer functions would be nice here)
<merijn>
flux: I agree that IO in general is not the best feature of functional languages, but making interesting exercises without any IO whatsoever is rather tricky :p
<flux>
that partially applied function can really have many concepts to understand before you get to really understand how it works
<flux>
merijn, well, there must be IO at some point I guess :).
<taupin>
merijn: on the other hand, it probably would be interesting for your students to learn how to program some basic printers like "print_tuple" and so on
raichoo has joined #ocaml
<merijn>
taupin: True, but without a generic print function that becomes rather ugly, doesn't it? You'd need to create a separate instance for each tuple type...
<merijn>
Well, I guess you could pass the print functions as arguments
ikaros has joined #ocaml
_andre has joined #ocaml
raichoo has quit [Read error: Connection reset by peer]
raichoo has joined #ocaml
<merijn>
Ok, so maybe I'm just stupid but I can't for the life of me figure out how one would define Either in ocaml. Once I try to add a second type variable I get an unhelpful "Syntax Error" and I can't find any example code using multiple type variables.
<_habnabit>
type ('a, 'b) either = Left 'a | Right 'b
<_habnabit>
er, with 'of'
larhat has joined #ocaml
<merijn>
_habnabit: Thanks!
<flux>
mm
<flux>
right, the missing word was added, nevermind :)
thomasga has quit [Quit: Leaving.]
Kakadu has joined #ocaml
Drakken has joined #ocaml
ttamttam has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
ttamttam` has joined #ocaml
ttamttam` has quit [Read error: Connection reset by peer]
ttamttam` has joined #ocaml
ttamttam has quit [Read error: Connection reset by peer]
Kakadu has quit [Ping timeout: 265 seconds]
Kakadu has joined #ocaml
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
avsm has joined #ocaml
ikaros has quit [Ping timeout: 252 seconds]
avsm has quit [Ping timeout: 248 seconds]
avsm1 has joined #ocaml
avsm1 has quit [Client Quit]
avsm has joined #ocaml
Kakadu has quit [Quit: Page closed]
Kakadu has joined #ocaml
<Kakadu>
flux: hi! Did u have a free time on weekend to look on my crash in lablqt?
<flux>
kakadu, unfortunately no
ikaros has joined #ocaml
<Kakadu>
maybe some other heroes exist?
ikaros has quit [Client Quit]
<adrien>
it probably won't be me but what was your issue?
<Kakadu>
the widget is shown. I press any key and it crashes
<adrien>
I've had your wiki page opened in my browser for a week or so and still haven't had time to read it properly =/
<Kakadu>
)
<Kakadu>
Any others morituri?
ankit9 has joined #ocaml
Sysop_fb has joined #ocaml
Kakadu has quit [Ping timeout: 265 seconds]
Kakadu has joined #ocaml
<Kakadu>
btw, how package manager for OCaml should look like?
<adrien>
what do you mean? "package manager"?
<flux>
like.. godi?
<flux>
or something that oeasis might be some day (or already?)
<flux>
o-a-s-i-s
<adrien>
and are you pondering making a "new" one?
<flux>
personally I'm not that happy with godi; it doesn't interact well with system stuff (like ocaml..) and making patches to its packages is painful
<flux>
I'm hopeful about oasis :)
<flux>
(even though it might not do the exact same thing)
<Kakadu>
russian community is thinking about creatin package manager for OCaml. (autoinstallation dependences, webservice with info about dependecies, integration with system packages abd libs)
<adrien>
making patches is "fine": not great but ok
<adrien>
but only after some learning
<adrien>
odb.ml :P
<adrien>
and where is the russian community? #ocaml-ru?
<adrien>
I know there are several russian people but I'm under the impression we don't see them much
<flux>
kakadu, I'm under the impression oasis in on its way exactly there
<Kakadu>
adrien: #ocaml@conference.jabber.ru
<adrien>
ok
<gildor>
Kakadu: that is exactly what oasis-db does, what the reason to create something new rather than contributing to oasis ?
<adrien>
and oasis, oasis-db and odb are in a pretty good shape already
<Kakadu>
people said that odb has very old info and this info doen't updates regulary
<gildor>
adrien: indeed
<gildor>
Kakadu: odb update ASAP you upload something to oasis-db
<adrien>
Kakadu: it cannot be "very" old
<gildor>
Kakadu: upload something now, it will be available in 2 second in odb
<adrien>
the project is too young: oculd there be another project named "odb"?
<superbobry>
well, the problem with odb -- it needs a maintainer
<superbobry>
somebody should update OASIS db records
<gildor>
superbobry: what records ?
<gildor>
the DB for ODB inside OASIS, you mean ?
<superbobry>
yup
<gildor>
there is the unstable flavor that is automatically updated, to reflext latest upload
<gildor>
testing/stable need to be updated
<gildor>
(or we can agree on a delay for transition)
<superbobry>
okay, how about latest dev versions?
struktured has quit [Ping timeout: 276 seconds]
<superbobry>
there's now way of installing something directly from git / darcs with odb
<gildor>
superbobry: the one that only live in the SCM of the project ?
<superbobry>
well, the one that is not hosted on forge f. ex.
<gildor>
superbobry: maybe a project but not a top priority project, because it will require some works
<hcarty>
thelema: gasche said he saw an error in the verify_arg ocamldoc comment. Do you know what the error is?
<hcarty>
gildor: Very cool :-)
jamii has joined #ocaml
<gildor>
hcarty: automatic build and testing, can be done on top of oasis
<gildor>
hcarty: you have ocaml setup.ml -configure/-build/-test that helps you to do that
<thelema>
hcarty: round?
ankit9 has joined #ocaml
<gildor>
hcarty: and just have to detect when new package gets uploaded
<hcarty>
thelema: His first point in his comment on the pull request I submitted is that there is a bug in the verify_arg doc comment.
<thelema>
gildor: how much work do you estimate is needed?
<thelema>
hcarty: hmm, I didn't notice that - I'll investigate
<hcarty>
thelema: Thanks. I didn't see a bug with "make doc" but I may have missed something
<thelema>
hcarty: oh, it does say verify_arg. I had just read that as round.
<thelema>
hcarty: looks good to me. I guess you could use @raises and @since
<hcarty>
gildor: Yes, as long as the package has an _oasis file a basic implementation should be possible.
<hcarty>
thelema: Good points on both.
<hcarty>
gildor: The implementation would require a bit of effort in assembling multiple versions of OCaml for staging and compiling against, and then running the same test on multiple platforms
<hcarty>
gildor: I think that these things would be useful, but I'm not sure where they would rank versus other development priorities.
<thelema>
speaking of which, what are the development priorities of oasis/oasis-db?
<thelema>
hcarty: wow, how did we both miss the bug in verify_arg documentation.
jamii has quit [Ping timeout: 252 seconds]
<gildor>
thelema, hcarty: @work now, will spend some time talking about oasis tonight around 8-9PM CEST (so in +4/5H), you don't mind waiting to talk about that ?
<gildor>
(I have already talk about waiting until that moment to superbobry)
<hcarty>
gildor: Sounds good
<thelema>
gildor: see you then.
<hcarty>
thelema: Oh wow... yes, that's quite an oversight
<hcarty>
It may be a day or few before I can make any bugfixes, but gasche's comments on pull request 180 all seem reasonable
<hcarty>
Including the request for IRC log links when relevant and summaries on the mailing list when discussions happen on IRC
<everyonemines>
Any suggestions for a good full size scissor switch keyboard?
Kakadu has quit [Quit: Page closed]
jamii has joined #ocaml
merijn has left #ocaml []
sepp2k has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
thelema_ has joined #ocaml
thelema has quit [Disconnected by services]
thelema_ is now known as thelema
sepp2k has joined #ocaml
jonludlam has joined #ocaml
everyonemines has quit [Quit: Leaving.]
raichoo has quit [Quit: leaving]
avsm has quit [Ping timeout: 276 seconds]
thelema has quit [Remote host closed the connection]
Kakadu has joined #ocaml
thelema has joined #ocaml
larhat has quit [Quit: Leaving.]
<Drakken>
Why does odb put code in the user's home directory by default instead of /usr/local/lib?
<thelema>
Drakken: I guess it could autodetect whether the current user has permissions to `ocamlc -where`
<thelema>
Drakken: if you have a few minutes to hack that up...
<Drakken>
thelema could you explain pls?
<thelema>
the short version is: I needed homedir installation ofr my purposes, so it was what was first implemented. Then I patched on top of that --sudo and a bunch of other options to adapt it for others
<thelema>
explain autodetection?
<Drakken>
explain ocamlc -where?
<thelema>
$ ocamlc -where
<thelema>
/usr/local/lib/ocaml
<thelema>
hmm, maybe there's an ocamlfind -where
<thelema>
ocamlc knows where the stdlib is located. Other libraries (pre ocamlfind) installed there so they were easily found.
<thelema>
since we're using ocamlfind, we only need to install locally if we can't install to the ocamlfind destdir
<thelema>
$ ocamlfind printconf destdir
<thelema>
/usr/local/lib/ocaml/site-lib
<thelema>
bingo
<Drakken>
okay, I got it
ttamttam` has quit [Remote host closed the connection]
Sysop_fb has quit [Ping timeout: 248 seconds]
Drakken has left #ocaml []
Drakken has joined #ocaml
Drakken has left #ocaml []
<Kakadu>
hi!
<Kakadu>
Does anybody have found some interesting articles about neural networks and functional programming?
ulfdoz has joined #ocaml
Drakken has joined #ocaml
jamii has quit [Ping timeout: 276 seconds]
ttamttam has joined #ocaml
fschwidom has joined #ocaml
reynir has joined #ocaml
ttamttam has quit [Ping timeout: 252 seconds]
<hcarty>
Drakken: --sudo and related options are nice, but it's handy having odb default to an installation under ~ as it allows it to work with system OCaml installations without touching system directories
<tomprince>
If you are installing to system directories, shouldn't one be using a package manager, which passes the appropriate options anyway?
<hcarty>
tomprince: odb is a package manager like CPAN, rather than a package manager like dpkg/apt*
<hcarty>
One could argue that something like CPAN or odb shouldn't touch system-managed directories
Anarchos has joined #ocaml
<tomprince>
Yes, although creating a package for dpkg, etc could reasonably use odb under the hood. (which is what I was suggesting)
<hcarty>
tomprince: I think oasis has (or is planned to have) support for this
<hcarty>
It seems more appropriate for oasis than odb
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
emmanuelux has joined #ocaml
Sysop_fb has joined #ocaml
<Drakken>
hcarty every .tar.gz file I download installs to /usr/local/lib/* by default. Why would odb want to avoid that?
<adrien>
tbh, /usr/loca:/lib is pretty bad :-)
ftrvxmtrx has joined #ocaml
<adrien>
also, it's not as useful on a machine where there is mostly onlyone user and one user who is interested in the package
<hcarty>
Drakken: Because that isn't how the OCaml ecosystem works :-)
<hcarty>
Also, what adrien said. Defaulting to /usr/local/lib/ is a pain for any user without root access.
<Drakken>
How does the OCaml ecosystem work?
<zorun>
it is also a pain for the others :)
<hcarty>
Drakken: ocamlfind installs to whatever directory is specified in its configuration file or environment variables
fraggle_ has quit [Ping timeout: 260 seconds]
<hcarty>
If you are the only user on the system then it may be beneficial to install to /usr/* by default
<hcarty>
But even then, installing to /usr/* isn't significantly easier than setting a few environment variables.
avsm has joined #ocaml
_andre has quit [Quit: leaving]
avsm1 has joined #ocaml
avsm has quit [Read error: Connection reset by peer]
fraggle_ has joined #ocaml
caligula_ has quit [Quit: Konversation terminated!]
oriba has joined #ocaml
waern has quit [Ping timeout: 260 seconds]
<Drakken>
In [ocamlfind ocaml* -package package-name-list file], "The package names may be separated by commas and/or whitespace."
<adrien>
with quotes
waern has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
<superbobry>
can somebody please point me to a hello-world type-conv example?
<superbobry>
for some reason, my generator is not being registered at compile time
<Drakken>
odb couldn't install cairo2.
<superbobry>
Drakken: what's the error message?
<Drakken>
I didn't have ~/.odb/bin in my path, so odb failed with
<Drakken>
Problem with installed package: cairo2
<Drakken>
Installed package is not available to the system
<Drakken>
Make sure /home/dan/.odb/bin is in your PATH
<Drakken>
So I added ~/.odb/bin to PATH.
<Drakken>
and run odb again.
<Drakken>
ocamlfind: Package cairo2 is already installed
<Drakken>
Exception: Failure "Could not install package cairo2".
fschwidom has quit [Remote host closed the connection]
<superbobry>
so is it installed already?
<Drakken>
I don't know. What does "Problem with installed package: cairo2" mean? It looks like it's installed but the installer couldn't call it from the bin directory.
<superbobry>
well, if you don't have ~/.odb/bin in your PATH and ~/.odb/lib in your OCAMLPATH, odb can't be sure the package was installed
<superbobry>
becase there's no way of checking it
<Drakken>
It looks like cairo got installed the first time I ran odb, and then the second time I ran odb, it built cairo again but panicked when it found the old installation.