teiax has quit [Read error: 110 (Connection timed out)]
teiax has joined #ocaml
<ptolomy>
quite cool.
albertelegance has joined #ocaml
<dylan>
heh, php is the topic in two channels I'm in -- and much in the same way.
<ptolomy>
Loving adoration?
<dylan>
If by that you mean: "Bah, lame perl without namespaces, sensible module system, and 3000+ functions"
<dylan>
</flame>
<ptolomy>
Goes to show, accessability and easiness of simple tasks are far more signficant to language adoption (at least in non-corporate world) than language quality.
<dylan>
Visual Basic is a better example of that...
<ptolomy>
True. Harkens back to the "Worse Is Better" paper..
<ptolomy>
VB and PHP are apparently becoming reasonable languages as they progress.
pango__ has joined #ocaml
albertelegance has quit ["Leaving"]
albertelegance has joined #ocaml
pango_ has quit [Read error: 145 (Connection timed out)]
ramkrsna has joined #ocaml
ramkrsna has quit [Remote closed the connection]
albertelegance has quit ["Leaving"]
albertelegance has joined #ocaml
<dylan>
ptolomy: hehe, true. And I use ocaml because it is easy as pants to write lexers, parsers, and ASTs. :)
Skal has joined #ocaml
Skal has quit [Read error: 60 (Operation timed out)]
threeve has quit []
Smerdyakov has quit [Read error: 104 (Connection reset by peer)]
Skal has joined #ocaml
mflux has joined #ocaml
Smerdyakov has joined #ocaml
y6cmE has quit [Read error: 110 (Connection timed out)]
teiax has quit [Read error: 110 (Connection timed out)]
Submarine has joined #ocaml
UziMonkey has quit [Remote closed the connection]
Schmurtz has joined #ocaml
vodka-goo has joined #ocaml
pango__ is now known as pango
jlarocco has joined #ocaml
Submarine has quit ["Leaving"]
vodka-goo has quit []
tom_p has joined #ocaml
ppsmimou has joined #ocaml
* Revision17
wonders why stack doesn't have a fold function
revision17_ has joined #ocaml
Revision17 has quit [Read error: 110 (Connection timed out)]
vezenchio has joined #ocaml
exa has joined #ocaml
Snark has joined #ocaml
<Schmurtz>
revision17_, me too
<Schmurtz>
I've send a message about that to the bugreport system
<Schmurtz>
I don't if something has been done to add a fold function (which is trivial ti write)
<Schmurtz>
+know
Snark has quit ["Leaving"]
pango has quit [Remote closed the connection]
Submarine has joined #ocaml
yozora has joined #ocaml
threeve has joined #ocaml
yozora has quit []
m3ga has joined #ocaml
Plex has joined #ocaml
m3ga has quit ["Client exiting"]
dylan has quit ["Lost terminal"]
jlarocco has quit [Read error: 110 (Connection timed out)]
<KrispyKringle>
Is there a print function that prints an arbitrary abstract type? I'm thinking a way to do something similar to the "show" typeclass in Haskell?
<KrispyKringle>
I know OCaml doesn't have similar features in this case, but Iwant a way to print an abstract type...
<mellum>
no
<KrispyKringle>
OK. Damn. ;)
<KrispyKringle>
Thanks.
<Smerdyakov>
Print an abstract type? I would _hope_ you can't do that without special support! :D
<Smerdyakov>
(Since that would break the abstraction)
<KrispyKringle>
Smerdyakov: Well, you can do it with typeclasses in Haskell. But OCaml doesn't have typeclasses, so I'm at a loss.
<KrispyKringle>
Just figured I'd ask.
<KrispyKringle>
Doh.
<KrispyKringle>
I don't mean abstract.
<KrispyKringle>
I mean a polymorphic type.
<Smerdyakov>
Does Haskell have abstract types?
<KrispyKringle>
Sorry.
<Smerdyakov>
I know there module system is a ghetto.
<Smerdyakov>
s/there/their
<KrispyKringle>
haha
<KrispyKringle>
Smerdyakov: You can have a function in Haskell that takes an argument of any type that implements "show".
<KrispyKringle>
Using typeclasses.
<KrispyKringle>
Typeclasses are really nice. It's something I miss in OCaml.
<Smerdyakov>
I know.
<Smerdyakov>
Alice ML has 'em.
<KrispyKringle>
Yeah, I didn't mean abstract.
<KrispyKringle>
Does it? Neat.
<KrispyKringle>
Unfortunately, I joined this project and it's already got a ton of code, so I can hardly convince them to switch ;)
<KrispyKringle>
But AliceML does look nice.
<KrispyKringle>
Lazy evaluation, too.
ChipsterOne has joined #ocaml
fer has joined #ocaml
fer has left #ocaml []
ppsmimou has quit ["Leaving"]
<KrispyKringle>
Is there a predefined list function that filters out duplicate elements? A union function?
<KrispyKringle>
oh, screw it.
<mellum>
well, if you need that, list is probably the wrong container to begin with.
<KrispyKringle>
eh, i wrote one in two lines.
<KrispyKringle>
I don't think it's necessarily the wrong container. doing this is for the time being easier than implementing a dictionary or hash or something.
<KrispyKringle>
but if iterating over the whole list each time gets too slow, ill think about it. ;)
vodka-goo has joined #ocaml
mrpingoo has joined #ocaml
mrpingoo has quit [Read error: 104 (Connection reset by peer)]
vodka-goo is now known as estellle
estellle is now known as edesarna
brx has joined #ocaml
brx_ has joined #ocaml
brx has quit [Connection timed out]
SmerdyOffice has joined #ocaml
<SmerdyOffice>
Does anyone know of a way to get around the problem of multiple libraries defining the same module, when you want to link them into the same executable?
<SmerdyOffice>
(Same module name, I mean)
<SmerdyOffice>
It looks like -pack might help, but I'm interested in other ideas.
<Schmurtz>
SmerdyOffice, first, if your are in this case, that's often because of a bad application design
<SmerdyOffice>
Well, it seems everyone likes to use a module called Util. :-)
<SmerdyOffice>
And I didn't write either of the Util modules that are clashing.
<Schmurtz>
if the conflicting modules are from independent source, use -pack
<Schmurtz>
SmerdyOffice, yes I know
<SmerdyOffice>
Yeah, that's what I'm doing. I guess that's the best way?
<Schmurtz>
but it's a bad choice :(
<Schmurtz>
they should have chosen MyLibUtils
<Schmurtz>
SmerdyOffice, I've no other solutions
<SmerdyOffice>
It actually seems nicer to me to use whatever names you fancy and use -pack by default.
<SmerdyOffice>
BTW, both of these are written as applications, not libraries, which is part of the trouble. I want to make them work together.
smimou has joined #ocaml
pango has joined #ocaml
brx_ is now known as brx
<Schmurtz>
you may rename the modules
<Schmurtz>
with a good find/replace tool it doesn't take much time
<Schmurtz>
SmerdyOffice
Plex has quit ["bbl"]
<SmerdyOffice>
I can't. Either project is maintained by other people and used in several places.
edesarna is now known as vodka-goo
* mellum
has a Util module, too :-)
Submarine has quit ["in Soviet Russia, Céline Dion owns you"]
<revision17_>
Since stack is lacking a fold function, is there anyway I can cheaply extract the list stack uses internally, to use List's functions on it?
<revision17_>
match stack with {c=x} -> x;; gives an "Unbound record field label c"; I'm not really familiar with abstract datatypes provided by modules
<pango>
what about something like,
<pango>
# let stack_fold f s acc0 =
<pango>
let acc = ref acc0 in
<pango>
Stack.iter (fun x -> acc := f x !acc) s;
<pango>
!acc ;;
__DL__ has joined #ocaml
mrsolo has joined #ocaml
Snark has joined #ocaml
<pango>
the other is, take Stack module source, add your function(s), and use that module instead
<Schmurtz>
mellum, change his name now !!!!
<Schmurtz>
;)
<SmerdyOffice>
Anyone know how to add a new tactic (implemented in ML) to Coq?
<revision17_>
pango: alright, thanks. I think I'll go for your first thing, as I don't want to have forks of stdlib with all my other code
<pango>
revision17_: it's not like Stack module is rocket science either...
<pango>
revision17_: I doubt that version 2 will be much better than version 1 ;)