nullcat has quit [Read error: Connection reset by peer]
demonimin_ has joined #ocaml
jlt has joined #ocaml
demonimin has quit [Ping timeout: 245 seconds]
ontologiae_ has joined #ocaml
<jlt>
Quick question for anyone who can answer, how can I declare in a record a type that is declared after that type, or worded differently, how can I declare mutually dependant types? Example of the problem I'm running into: ``` type a = { process : b -> b } ;; type b = { to_process : a list } ;; ``` results in: ``` File "test.ml", line 1, characters 21-22: Error: Unbound type constructor b ```
<jlt>
Nvm found the solution (the and keyword between type declaration and drop the second type keyword): ``` type a = { process : b -> b } and b = { to_process : a list } ;; ```
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
demonimin has joined #ocaml
demonimin_ has quit [Ping timeout: 265 seconds]
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
travisbrady has joined #ocaml
demonimin_ has joined #ocaml
Thooms has quit [Ping timeout: 244 seconds]
demonimin has quit [Ping timeout: 256 seconds]
shinnya_ has quit [Ping timeout: 245 seconds]
shinnya_ has joined #ocaml
marynate has joined #ocaml
travisbrady has quit [Quit: travisbrady]
nojb has joined #ocaml
travisbrady has joined #ocaml
badkins has quit []
dav has quit [Ping timeout: 244 seconds]
enitiz_ has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
ontologiae_ has quit [Ping timeout: 264 seconds]
travisbrady has quit [Quit: travisbrady]
chinglish has joined #ocaml
travisbrady has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
travisbrady has quit [Quit: travisbrady]
kapil__ has joined #ocaml
nojb has quit [Quit: nojb]
chinglish has quit [Ping timeout: 250 seconds]
marynate has quit [Ping timeout: 244 seconds]
chinglish has joined #ocaml
nojb has joined #ocaml
marynate has joined #ocaml
oscar_toro has joined #ocaml
enitiz_ has quit [Quit: Leaving]
nojb has quit [Quit: nojb]
rgrinberg has joined #ocaml
marynate has quit [Ping timeout: 255 seconds]
marynate has joined #ocaml
oscar_toro has quit [Ping timeout: 255 seconds]
q66 has quit [Quit: Leaving]
marynate has quit [Ping timeout: 244 seconds]
darkf has joined #ocaml
alkoma has joined #ocaml
alkoma has left #ocaml [#ocaml]
oscar_toro has joined #ocaml
marynate has joined #ocaml
oscar_toro has quit [Ping timeout: 240 seconds]
BitPuffin has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Quit: Leaving.]
mcclurmc_ has joined #ocaml
rgrinberg has joined #ocaml
mcclurmc has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
shinnya_ has quit [Ping timeout: 244 seconds]
rgrinberg has quit [Ping timeout: 245 seconds]
jlt has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
enitiz has quit [Ping timeout: 255 seconds]
jao has quit [Ping timeout: 240 seconds]
mcc has quit [Ping timeout: 244 seconds]
mcc has joined #ocaml
mcc has quit [Quit: This computer has gone to sleep]
marynate has quit [Quit: Leaving]
enitiz has joined #ocaml
samrat has joined #ocaml
mcclurmc_ has quit [Remote host closed the connection]
vanila has quit [Quit: Leaving]
samrat has quit [Quit: Computer has gone to sleep.]
samrat has joined #ocaml
nullcat has joined #ocaml
<nullcat>
rgrinberg: hi. are u there? I've done the cohttp test. I can do more tests with "pathod". but i feel like we should test something specific
<nullcat>
sorry for taking too much time. this should have been finished in one day :(
<struktured>
yay merlin "type of" works again in vim, with syntax highlighting :)
myyst has quit [Ping timeout: 272 seconds]
myyst has joined #ocaml
govg has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
kapil__ has quit [Quit: Connection closed for inactivity]
mcclurmc has joined #ocaml
koderok has joined #ocaml
enitiz has quit [Ping timeout: 265 seconds]
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
mcclurmc has quit [Ping timeout: 264 seconds]
Bluddy has quit [Quit: Connection closed for inactivity]
WraithM has joined #ocaml
koderok has quit [Read error: Connection reset by peer]
koderok has joined #ocaml
koderok has quit [Client Quit]
gabemc has joined #ocaml
pgas` is now known as pgas
kapil__ has joined #ocaml
govg has joined #ocaml
koderok has joined #ocaml
koderok has quit [Client Quit]
samrat has quit [Quit: Computer has gone to sleep.]
samrat has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
gabemc has quit [Ping timeout: 264 seconds]
ivan\ has quit [Ping timeout: 252 seconds]
leowzukw has joined #ocaml
huza has joined #ocaml
psy has joined #ocaml
badon has joined #ocaml
ivan\ has joined #ocaml
shinnya_ has joined #ocaml
leowzukw has quit [Quit: Lost terminal]
MercurialAlchemi has joined #ocaml
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
psy has quit [Ping timeout: 240 seconds]
tane has joined #ocaml
nullcat has joined #ocaml
nullcat has quit [Client Quit]
psy has joined #ocaml
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
lordkryss has joined #ocaml
kakadu has joined #ocaml
ebzzry has quit [Remote host closed the connection]
samrat has quit [Quit: Computer has gone to sleep.]
samrat has joined #ocaml
hekmek has joined #ocaml
<MercurialAlchemi>
companion_cube: would you be interested in adding a rose tree + zipper to containers ?
RossJH has joined #ocaml
tharugrim has quit [Ping timeout: 245 seconds]
Arsenik has joined #ocaml
psy has quit [Read error: No route to host]
psy has joined #ocaml
huza has quit [Quit: WeeChat 0.3.8]
baz_ has joined #ocaml
<baz_>
hi
_andre has joined #ocaml
<baz_>
I’m trying to pin down the following error when compiling
<baz_>
Error: Wrong file naming: ssa.cmi contains the compiled interface for
<baz_>
Ssa when SSA was expected
<baz_>
this is the first time I encounter this error, probably related to me compiling on osx
<baz_>
ocamlobjinfo actually gives
<baz_>
Name: SSA
<baz_>
but the weird thing is
<baz_>
that for another module in var.ml
<baz_>
it gives the expected Name: Var
<baz_>
using the official 4.02.1 release installed with opam
<baz_>
not sure why ssa.ml returns a module with name SSA (expected to be Ssa), but var.ml works fine
<baz_>
can anyone point me in the right direction?
tharugrim has joined #ocaml
<def`>
baz_: sounds related to osx "case-insensitive-but-aware" file systems
<def`>
if file has name ssa.ml, you should refer to it through "Ssa" module
<def`>
if you used "SSA" somewhere, then filename should be sSA.ml
Simn has joined #ocaml
madroach has quit [Ping timeout: 250 seconds]
<whitequark>
or SSA.ml
<whitequark>
sSA.ml looks so hilariously idiotic, I'm not sure why anyone would even try to write that
<def`>
correc :)
<def`>
t
<baz_>
I still don’t understand why ocamlopt would give the name SSA when compiling ssa.cmx from ssa.ml
<baz_>
does this mean there it is referenced as SSA.ml?
<baz_>
-there
<whitequark>
I don't know either, that sounds very odd
<whitequark>
oh
<whitequark>
are you sure it's actually called ssa.ml?
<whitequark>
maybe whatever you're looking at it with folds the case
<whitequark>
try creating a file, say, SSA.txt and see how it's displayed
madroach has joined #ocaml
<baz_>
it will display it as SSA.txt
leowzukw has joined #ocaml
<baz_>
so it is case insensitive, but preserving
leowzukw has quit [Client Quit]
<companion_cube>
MercurialAlchemi: what would the rose tree look like? Empty | Node of 'a * 'a tree list?
<baz_>
it is so weird, all the other three letter modules get the correct name :S
<baz_>
in other news: The volume Macintosh HD was found corrupt and needs to be repaired.
<baz_>
also need to do that in recovery mode
<baz_>
pfff
baz_ has quit [Quit: baz_]
baz_ has joined #ocaml
<baz_>
k, that wasn't it :P
<baz_>
mmm, this is weird. It is not even deterministic
OnkV has quit [Ping timeout: 265 seconds]
<baz_>
now another module has its name in all caps
<baz_>
which whas fine before :S
Haudegen has joined #ocaml
<flux>
:)
baz_ has quit [Quit: baz_]
baz_ has joined #ocaml
oscar_toro has joined #ocaml
<MercurialAlchemi>
companion_cube: type 'a t = { value: 'a ; children: ('a t) list }
<MercurialAlchemi>
companion_cube: there is no empty
<companion_cube>
oh
<companion_cube>
well, why not
<companion_cube>
what do you need it for, just as curiosity?
<def`>
baz_: I am surprised too, can you check how ocamlopt was invoked? maybe the makefile use a weird name, SSA.ml or SSA.ML
<baz_>
def`: called as expected, ocamlfind ocamlopt …. -c ssa.ml
<baz_>
def`: using omake here and manually executing the command actually gives the correct module name according to ocamlobjinfo
<baz_>
def`: the plot thinkens
<baz_>
*thickens
tharugrim has quit [Ping timeout: 244 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
tharugrim has joined #ocaml
mengu has joined #ocaml
<MercurialAlchemi>
companion_cube: well, it's a convenient data structure when you have complex hierarchies
<MercurialAlchemi>
companion_cube: and the zipper is there because immutable data structures you can't navigate in and modify are useless
<MercurialAlchemi>
companion_cube: but actually, I use it for a small accounting app - since expenses are an example of such a hierarchy
<MercurialAlchemi>
nothing terribly exciting ;)
<companion_cube>
MercurialAlchemi: I propose that you put one in containers.misc (if you think it's really unstable) or containers.data
<companion_cube>
if you want to
<MercurialAlchemi>
anyway, I'll clean up the code, add documentation and examples and make a PR
<companion_cube>
ok, sounds great
<MercurialAlchemi>
well, let's start with misc
<companion_cube>
take a look at CCKTree, btw :)
<MercurialAlchemi>
don't think I'll have time this week, but I'll try and make some progress on this the coming week
<baz_>
def`: but, pass the debug-rule option to omake gives building deps/bap-core/src/sSA.ml
<baz_>
def`: so seems omake related
<def`>
baz_: and nothing in your code refers to SSA? (which might explain why dependency discovery returns sSA)
<MercurialAlchemi>
companion_cube: the code doesn't seem to use the 'sequence' and 'gen' types that it defines
<baz_>
`def: yes, but always as a nested module (e.g., module CS = Cfg.SSA)
<companion_cube>
MercurialAlchemi: ah, possible
<companion_cube>
the type has changed over time (it must have used a sequence at some point)
<companion_cube>
CCKTree might just be useful as an export of your rose tree
<companion_cube>
not the core structure, of course
<baz_>
`def: so this is some nice interplay between incorrect dep scanning and the case insensitive fs
<baz_>
`def: another module containing a SSA module is opened
<MercurialAlchemi>
companion_cube: I need to think about it - maybe I should just adapt the zipper to CCKTree instead
<MercurialAlchemi>
I'm not sure about the usefulness of the `Nil constructor
<baz_>
def`: makes sense now
oscar_toro has quit [Ping timeout: 245 seconds]
<MercurialAlchemi>
seems to me it mostly adds complexity
<MercurialAlchemi>
in the form of pointless pattern matching
<MercurialAlchemi>
IMHO, if you're not sure your trees are trees, use the God-given option type :)
ontologiae_ has joined #ocaml
<companion_cube>
it's for empty trees
<companion_cube>
but I don't think a zipper on this iterator is a good idea - might result in a big bunch of closures
<companion_cube>
better to use a concrete structure
<MercurialAlchemi>
probably
<baz_>
`def: mmm, so omake uses ocamldep, which correctly list ssa.cmx, so the ball is back in omakes court.
<MercurialAlchemi>
but the `Nil issue is that it's perfectly valid to have `Nil children, which doesn't makes much sense to me
<companion_cube>
agreed
<companion_cube>
maybe it should be type 'a ktree = [`Nil | `Tree of 'a ktree_non_nil] and 'a ktree_non_nil = unit -> 'a * 'a ktree_non_nil list
<MercurialAlchemi>
my implementation doesn't handle null trees, but zipper operations which are not guaranteed to be successful return 'a t option
<MercurialAlchemi>
I also have a pretty printer, but it just generates a text representation given a to_str function for the node values, no fancy graphviz
<companion_cube>
so, export to CCKTree for graphviz, it exists for this reason
huza has joined #ocaml
<companion_cube>
for other operations you should stick to your concrete rose trees, I think
<MercurialAlchemi>
k
<MercurialAlchemi>
I suppose I could swith to `Node of 'a * 'a t list for compatibility
<MercurialAlchemi>
(without `Nil)
psy has quit [Read error: Connection reset by peer]
<companion_cube>
nah
<companion_cube>
don't bother
<companion_cube>
translating to a poly variant isn't a problem if it's only for printing into DOT
<MercurialAlchemi>
I was more thinking in terms of consistency
<MercurialAlchemi>
style-wise
psy has joined #ocaml
_5kg has quit [Ping timeout: 255 seconds]
<baz_>
def`: So omake calls ocamldep with -modules, which returns all the referenced modules, including submodules referenced with their name in combination with the openend parent module
<baz_>
def`: so now omake adds SSA to its deps, and searches for the sSA.ml
<baz_>
def`: that in combination with the lovely case-insensitive fs selects ssa.ml
<baz_>
def`: resulting in the wrong module name
<whitequark>
amazong
<baz_>
very much so
<baz_>
going to patch omake to not use the raw format of ocamldep
<baz_>
so much for a productive morning :P
Unhammer has quit [Remote host closed the connection]
mengu has quit [Remote host closed the connection]
oriba has joined #ocaml
Unhammer has joined #ocaml
<oriba>
how can I change the install path with OCamlMakefile when calling make, which uses OCamlMakefile? (don't want to patch files, want to use ENV or CLI-switches)
<adrien>
DESTDIR, man findlib.conf
hartmann has joined #ocaml
dav has joined #ocaml
<hartmann>
Hi, does anyone have an idea if merlin stores a log-file somewhere? Need to troubleshoot a problem I see where it freezes consistently each time I try to save a specific file
BitPuffin has quit [Ping timeout: 244 seconds]
<companion_cube>
I think there"s an env variable to tell it to log to a file
<oriba>
adrien, hmhh, tried to use ENV-vars for setting it, but it does not chnge the path.
<adrien>
what exactly do you want to change into what?
<oriba>
adrien, ah, it is OCAMLFIND_DESTDIR, and it works now. anything is fine now, thanks :-)
<oriba>
adrien, can I also retrieve the current value of OCAMLFIND_DESTDIR and change it? The problem is, that I want to prepend a path.
dav has quit [Ping timeout: 256 seconds]
Arsenik has quit [Remote host closed the connection]
<adrien>
what do you want to change into what?
<oriba>
adrien, I want to change the value of OCAMLFIND_DESTDIR into /certain/path/I/Provide/OCAMLFIND_DESTDIR and to do it without touching files.
<adrien>
can you give actual examples?
<oriba>
I want - just by passing args to make - change /usr/lib/ocaml/camlpdf into something like $HOME/compiledir/usr/lib/ocaml/camlpdf
<oriba>
and "/usr/lib/ocaml/camlpdf" is created by ocamlfind via Make/OCamlMakefile, so I don't want to change things hardcoded
<baz_>
mmm, I’m a bit confused regarding compilation units
Thooms has joined #ocaml
<baz_>
can a nested module be a compilation unit?
<baz_>
i wondering because, ocamldep -modules list nested modules of which the parent is openend
<baz_>
and the documentation says
matason has joined #ocaml
<baz_>
that the listed names are compilation units referenced in the source file
_5kg has joined #ocaml
<baz_>
to me it seems that ocamldep incorrectly list nested modules
<baz_>
that is, nested modules are not compilation units
<oriba>
adrien, ok, thanks, it's not 100% what I was looking for (not using ocamlfind directly), but it helps.
<adrien>
it's ocamlfind under the hood
<mrvn>
MercurialAlchemi: What is a rose tree?
<oriba>
adrien, yes, but I tried to not use ocamlfind by myself, when the OCamlMakefile already uses it... better would be then, just to set an ENV-ar "INSTALL_PREPATH" or so... but there seems not to be one
<adrien>
booooooo
<oriba>
?
<adrien>
always use ocamlfind, everywhere
<oriba>
hehe
<oriba>
but the Makefile I call (not my own) already uses it
<oriba>
so it's doubled ocamlfind-invocation and what, if the Makefile creates different paths in next version? Then I have to change my script, instead of just letting it as it is
<oriba>
I didn't want to change the path that the Makefile (not mine) creates
<oriba>
just adding the pre-path
<mrvn>
MercurialAlchemi: are the children in a rose tree balanced or sorted or something or is it just a wild growth?
q66 has joined #ocaml
<adrien>
oriba: mkdir the directory, export the env var like I do, let it install
<vanila>
is it right that ocaml gets compiled to bytecode which is interpreted?
<nojb>
there are both bytecode and native compiler
<nojb>
bytecode -> ocamlc, native -> ocamlopt
<vanila>
does ocamlopt turn bytecode into native, or it goes straight from ocaml to native?
<nojb>
straight to native
contempt has joined #ocaml
<vanila>
what is the purpose of the bytecode?
<nojb>
repl, among others
<mrvn>
vanila: to run where native compiler doesn't exist
<vanila>
I was wondering about compiler another language to ocaml bytecode but it seems pointless I guess..
<vanila>
since it wouldn't compile down to native
tani has joined #ocaml
<mrvn>
vanila: compile it to ocaml AST
<nojb>
vanila: which language do you want to compile to ocaml ?
tane is now known as Guest45758
Guest45758 has quit [Killed (asimov.freenode.net (Nickname regained by services))]
tani is now known as tane
<whitequark>
vanila: you can compile it down to OCaml AST, or even lambda or cmm
<whitequark>
which are OCaml's internal representations
<vanila>
is there a page I can read about those two IRs?
<nojb>
no
<vanila>
is Cmm the same as from compcert?
<whitequark>
OCaml sources
<nojb>
vanila: no, but related
<whitequark>
Cmm is a (C--)-like IR
_andre has quit [Quit: leaving]
<vanila>
okay, cool
<nojb>
vanila: the data model is extremely simple in ocaml - pointer or int, everything is the same size - compcert is much more complicated
<whitequark>
Cmm is very low-level. Lambda looks more like a simple FP lang
<whitequark>
untyped one
milosn has quit [Remote host closed the connection]
<vanila>
damnm I just cant think of what sort of compiling project to work on
<mrvn>
mine mine mine mine
<vanila>
haha, what is that?
travisbrady has quit [Ping timeout: 245 seconds]
<mrvn>
either ocaml like or C like with static memory tracking
<vanila>
static memory tracking? Like a linear type system?
milosn has joined #ocaml
sgnb has quit [Remote host closed the connection]
<mrvn>
yeah
arboris has joined #ocaml
travisbrady has joined #ocaml
olauzon has joined #ocaml
<vanila>
yeahI think that's the next big thing
<arboris>
has anyone written a publicly available production ready jengaroot file?
<vanila>
but it needs a lot of hard work with formalizing the type system (or you could be rust and hack first..)
<arboris>
I feel like the examples provided are suboptimal and incomplete
<nojb>
arboris: I don’t think so
<nojb>
arboris: JS one is available I think, but is probably not general purpose enough for general use
<arboris>
so how should one setup the build system, I managed to get oasis working with minimal effort but read not so nice things about it
<whitequark>
I just use ocamlbuild :)
<nojb>
+1
<mrvn>
I like oasis
<vanila>
there's also abstract refcounting/abstract gc which seems powerful but I couldn't possibly understand the paper :(
<companion_cube>
I like oasis too
* whitequark
glares at companion_cube
* whitequark
throws companion_cube into the Emergency Intelligence Incinerator
WraithM has quit [Remote host closed the connection]
sgnb has joined #ocaml
samrat has quit [Ping timeout: 256 seconds]
<mrvn>
vanila: do you have a nice grammar for regexps?
<vanila>
no what do you mean
<vanila>
is that related to something I said
<mrvn>
vanila: just that you are planing a language too.
samrat has joined #ocaml
<vanila>
well i have written two regex compilers in haskell
<vanila>
one going through some bytecode and other by brzowski derivatives
<companion_cube>
whitequark: bah. currently I'm playing with rust anyway
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
araujo has quit [Read error: Connection reset by peer]
araujo has joined #ocaml
enitiz has quit [Quit: Leaving]
jonludlam has joined #ocaml
Hannibal_Smith has joined #ocaml
jhaberstro has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
samrat has quit [Quit: Computer has gone to sleep.]
<adrien>
boo companion_cube booooooo!
rgrinberg has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
ggole has quit []
nojb has quit [Quit: nojb]
WraithM has joined #ocaml
<mrvn>
module M = struct type t = Foo | Bar end module type M = sig type t end module MAKE(M : M) : M with type t = M.t= struct type t = M.t end module N = MAKE(M) let x = N.Foo;;
<mrvn>
Error: Unbound constructor N.Foo
<mrvn>
Can I make it so N.Foo exists?
olauzon has quit [Quit: olauzon]
Muzer has quit [Excess Flood]
enitiz has joined #ocaml
Muzer has joined #ocaml
<companion_cube>
adrien: it has typeclasses :p
contempt has quit [Ping timeout: 264 seconds]
contempt has joined #ocaml
Submarine has quit [Remote host closed the connection]
Puffin has joined #ocaml
Muzer has quit [Excess Flood]
Muzer has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
jwatzman|work has joined #ocaml
keen__________22 has quit [Read error: Connection reset by peer]
keen__________22 has joined #ocaml
travisbrady has quit [Quit: travisbrady]
baz_ has quit [Quit: baz_]
tharugrim has left #ocaml ["WeeChat 1.0.1"]
tane has quit [Quit: Verlassend]
jhaberstro has quit [Quit: jhaberstro]
struktured has joined #ocaml
<adrien>
companion_cube: spank def` and hnrgrgr !
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<companion_cube>
bah
<companion_cube>
even if implicits land, the stdlib will not use them :p
<adrien>
like you care about the standard library
<companion_cube>
I do
<companion_cube>
I use it a lot, remember?
MrScout has quit [Remote host closed the connection]
uris77 has quit [Ping timeout: 255 seconds]
ontologiae_ has joined #ocaml
<def`>
(well, if you don't want implicits, you can still spank me :|)
<companion_cube>
so, you like being spanked?
<def`>
toi, tu comprends vite
<companion_cube>
the yes needs the no to win against the no
<def`>
:DDD <3
kakadu has quit [Remote host closed the connection]
ontologiae has joined #ocaml
ontologiae_ has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]