yacks has quit [Remote host closed the connection]
<kaustuv>
Also, it seems that open! is now redundant with open [@ocaml.warning "-44"]
<kaustuv>
actually, I wonder what this would do:
<kaustuv>
open! Foo [@@warning "+44"]
bezirg has joined #ocaml
<whitequark>
[@@warning] takes precedence
abbe_ has quit [Ping timeout: 260 seconds]
abbe has joined #ocaml
avsm has quit [Quit: Leaving.]
ygrek has quit [Ping timeout: 255 seconds]
zpe has joined #ocaml
<kaustuv>
Are attributes ignored by the toplevel?
<whitequark>
no
<whitequark>
but toplevel doesn't show warnings
<flux>
hmm, it does?
<whitequark>
flux: try it
<whitequark>
oh. hm. it does.
<flux>
well I don't know about that and I don't have 4.2.0 around but at least match 42 with 42 -> ();; with an older ocaml causes a warning to be displayed
<kaustuv>
But if I run ocaml -w "@A", then this is accepted:
<kaustuv>
let x =42 [@@deprecated] ;;
<whitequark>
try x;; after that
<whitequark>
oh, hm
<whitequark>
# let x =42 [@@deprecated] ;;
<whitequark>
Error: Some fatal warnings were triggered (1 occurrences)
<whitequark>
this is weird -_-'
<kaustuv>
also it seems that attributes are not allowed infix for let declarations, only for let ... in expressions
BitPuffin has joined #ocaml
<kaustuv>
i.e., I cannot say let [@@deprecated] x = 42;;, but I can say let [@deprecated] x = 42 in x ;;
<flux>
how about let x [@@deprecated] = 42; ?
<whitequark>
let x [@deprecated] = 1;;
<kaustuv>
If I say: let x [@foo x] = 42 ;; -- then the x in [@foo x] has nothing to do with the x being defined?
<kaustuv>
It must be, because I can say let x [@foo y] = 42 ;;
<kaustuv>
(where there is no y in scope)
wao_ is now known as hexo
<kaustuv>
-dtypedtree confirms -- it's just an identifier
hhugo has joined #ocaml
<whitequark>
just an identifier.
<whitequark>
whatever is inside annotations has no relation to whatever is outside
zarul has joined #ocaml
<kaustuv>
I'm pleasantly surprised that this works: Printf.printf {|%s|} "foo" ;;
<rom1504>
that's ugly
<rom1504>
what does it do ?
<kaustuv>
Since when has this been legal: type t = () of int ;;
<whitequark>
recently
<flux>
it's been legal for a while I think? 3.12.1 supports it.
<flux>
also true and false work
<dmbaturin>
In 4.01 "let p = () 3 ;;" produces "val p : t = () 3".
<flux>
but I think there was an issue on mantis about removing that.
<whitequark>
kaustuv: "type foo = true of bool;; true true;;"
yacks has joined #ocaml
<kaustuv>
type t = .. ;; type t += true ;; type t += false = true ;;
<whitequark>
anyway, the idea is that you need qemu-binfmt to allow running cross-compiled binaries in configure script
<flux>
nice
<whitequark>
it built ocamlrun, but the stdlib fails, since I don't have the arm dynamic linker
<whitequark>
oh, hrm, this won't actually be a cross-compiler
<flux>
well, no, but pretty usable for the same purpose?
<flux>
but you need to have native arm C compiler around to use it?
<flux>
or maybe not
<whitequark>
you do
<flux>
can't you just use native cross-compiler?
<whitequark>
sure, anything that runs and generates cross-code works
<whitequark>
okay, if I tell it to -no-shared-libs -libs -static, it works
<whitequark>
I uhhhh don't have any ARM boards handy
<flux>
not even you cell phone?
<whitequark>
I don't have a smartphone
<whitequark>
shocking, I know
<flux>
..it is
<whitequark>
I have a MIPS board, but not a MIPS cross-compiler.
<flux>
and I bet your rotary phone doesn't have arm either. badamtish.
<whitequark>
I have a dumbphone, but it doesn't run linux (I think?)
<dmbaturin>
Setting up a cross-compiler is more pain in the butt than it probably should,
<dmbaturin>
+ be
ygrek has joined #ocaml
<whitequark>
gcc is trivial
<flux>
in any case, maemo and meego projects used scratchbox for cross compiling
<flux>
with some success
<whitequark>
yes, that's what I was thinking about
<whitequark>
when using qemu here
<flux>
meego-project tried scratchbox2, but it didn't catch I think.. but maybe it would've worked and it would be more convenient, there was just too much legacy stuff around..
<dmbaturin>
I understand whitequark actually. When my symbian phone does, I'll rather go with a dumbphone than use android or iOS.
<dmbaturin>
* dies
<whitequark>
I used to have a tablet (nexus 7) and I only ever used it for OsmAnd
<whitequark>
but last time I travelled, the screen cracked
<flux>
dmbaturin, but wait! there's an alternative! jolla! well, at least if you don't live in the USA
<whitequark>
flux: it's not even FOSS
<flux>
true, but at least it's the most linux smartphone around
<whitequark>
it's more that I don't think smartphones are necessary as a concept
<whitequark>
for that matter I don't even use my dumbphone to call people, I use SIP on my laptop for that. it's for emergencies and 2FA
<dmbaturin>
I use my phone to, uhm, actually make calls. I want it to have UI friendly to making calls and not to eat all the battery in less than 24 hours. ;; (* end offtopic *)
<whitequark>
that too
<adrien>
bytecode doesn't need specific cross-compiler stuff
<whitequark>
adrien: Sys.word_size ?
<adrien>
you only need ocamlrun which is C and is the first thing built
<Kakadu>
Where can I get instructions how to build ocamlrun for ARM?
rand000 has joined #ocaml
<adrien>
just pass the right cross-compiler to configure
<adrien>
you'll maybe have to lie to the tests if they try to run the output of the cross-compiler but that's it
<whitequark>
adrien: ... and watch it fall over, because it doesn't have the hardcoded sizeofs for ARM
<adrien>
make world will fail at some point but late enough for you to have ocamlrun
<whitequark>
Kakadu: do you run debian? if yes, see the patch above + apt-get install qemu-binfmt
<adrien>
you build ocamlrun with the cross, why would that fail?
<whitequark>
adrien: configure fails
<adrien>
nothing big to change
<adrien>
and I think configure in 4.02 should succeed
<whitequark>
I just tried it.
<adrien>
in any case, I don't think there's a lot of work behind it
<adrien>
at most it's about skipping stuff in the configure
<adrien>
not adding new things or changing existing tests
<dmbaturin>
Raspbian has ocaml 3.12 in the repos.
<adrien>
and gasche, any news about the ocamlbuild split? :) (yeah, I'm _that_ annoying)
libertas_ is now known as libertas
ygrek has quit [Ping timeout: 268 seconds]
<flux>
[ERROR] The compilation of lwt.2.4.5 failed. :(
<whitequark>
odd
<whitequark>
the error?
<flux>
E: Cannot find findlib package react
<flux>
E: Failure("1 configuration error")
<flux>
so, dependencies?
<flux>
my opam install is still going on, so I cannot try remedying that yet
<whitequark>
huh, it built entirely
<whitequark>
I'm actually not sure what did I do this for
BitPuffin has joined #ocaml
<flux>
hmm, actually I do have react installed..
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
thomasga has quit [Quit: Leaving.]
claudiuc has quit [Remote host closed the connection]
ustunozgur has quit [Remote host closed the connection]
<flux>
I suppose it's technically true 'opam install ..78 packages..' failed, but if I saw right, it was only two of those packages :)
thomasga has joined #ocaml
ustunozg_ has joined #ocaml
<flux>
react doesn't seem to get installed with ocamlfind, that's why lwt doesn't find it
<adrien>
(...)
<flux>
..though it does come with its own META file.. maybe I should start over from scratch :)
samrat has quit [Quit: Computer has gone to sleep.]
rand000 has quit [Quit: leaving]
teiresia1 has joined #ocaml
teiresias has quit [Ping timeout: 252 seconds]
<flux>
depending on package, they are either at .opam/4.02.0/lib or .opam/4.02.0/ocaml/site-lib/ or both..
samebchase has quit [Ping timeout: 252 seconds]
samebchase has joined #ocaml
asmanur has quit [Ping timeout: 252 seconds]
asmanur_ has joined #ocaml
samebchase has quit [*.net *.split]
Derander has quit [*.net *.split]
tianon has quit [*.net *.split]
libertas has quit [*.net *.split]
Khady_ has quit [*.net *.split]
def` has quit [*.net *.split]
ustunozg_ has quit [Remote host closed the connection]
Derander has joined #ocaml
samebchase has joined #ocaml
tianon has joined #ocaml
Khady_ has joined #ocaml
libertas has joined #ocaml
def` has joined #ocaml
siddharthv is now known as siddharthv_away
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
sgnb has joined #ocaml
tane has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
samrat has joined #ocaml
sgnb` has quit [Write error: Broken pipe]
robink has quit [Remote host closed the connection]
samrat has quit [Client Quit]
oriba has joined #ocaml
robink has joined #ocaml
ustunozgur has joined #ocaml
fraggle_laptop has quit [Ping timeout: 245 seconds]
ustunozgur has quit [Ping timeout: 272 seconds]
teiresia1 has quit [Changing host]
teiresia1 has joined #ocaml
teiresia1 is now known as teiresias
samrat has joined #ocaml
shinnya has joined #ocaml
struktured has joined #ocaml
thomasga has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 240 seconds]
chris2 has quit [Ping timeout: 272 seconds]
chris2 has joined #ocaml
avsm has quit [Quit: Leaving.]
thomasga has joined #ocaml
cespinoza has quit [Ping timeout: 264 seconds]
cespinoza has joined #ocaml
ousado_ is now known as ousado
ousado has quit [Changing host]
ousado has joined #ocaml
ygrek has joined #ocaml
_twx__ has quit [Ping timeout: 245 seconds]
ustunozgur has joined #ocaml
oriba has quit [Quit: Verlassend]
struktured has quit [Ping timeout: 272 seconds]
msaegesser has joined #ocaml
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
ontologiae has quit [Ping timeout: 264 seconds]
darkf has quit [Quit: Leaving]
englishm has joined #ocaml
sepp2k has joined #ocaml
_twx_ has joined #ocaml
<Kakadu>
whitequark: Are you sure that `qemu-binfmt` is correct package name?
<whitequark>
qemu-user-binfmt
<whitequark>
sorry
<whitequark>
it doesn't build under opam for some reason, but manual build seems fine