j0lol has quit [Remote host closed the connection]
j0lol has joined #ocaml
Frostillicus has joined #ocaml
switchy has quit [Remote host closed the connection]
switchy has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
<discocaml>
<aeseia> For what reasons is C++ used over Rust in HFT (I have seen job apps for HFT in Rust but I am under the impression C++ is bigger)? I'm very far from that world so I wouldn't know.
<discocaml>
<aeseia> - existing talent on the market
<discocaml>
<aeseia> - existing systems written in C++
<discocaml>
<aeseia> - more knowledge about whatever cache locality / compiler quirks that lead to fast or slow codegen
<discocaml>
<aeseia> - less pinvoke
<discocaml>
<aeseia> ?
bartholin has joined #ocaml
Haudegen has joined #ocaml
<discocaml>
<barconstruction> I try to keep up to date with research in theorem provers for mathematics and I found this guy Chad Brown who built a theorem prover for Tarski-Grothendieck set theory. The reference manual explains that ordinary ML style type polymorphism is heavily restricted because in his words "polymorphism is evil". The phrase "polymorphism is evil" actually appears throughout a lot of the guys writing. Truly one of the more bizarre takes I've se
<discocaml>
<barconstruction> A term can be applied to up to three types. So you can have terms that are polymorphic over at most three type variables
<discocaml>
<shadowkestrel> i dont think he likes polymorphism
<discocaml>
<edhebi> the existing stuff is already in C++, and C++ has a larger ecosystem of tools in that domain (at least for now). The performance characteristics of C++ are also better understood and more predictable overall tho it's very context dependant
inline has quit [Remote host closed the connection]
inline has joined #ocaml
Serpent7776 has joined #ocaml
Tuplanolla has joined #ocaml
<discocaml>
<cod1r> it's also a snowballing thing
<discocaml>
<cod1r> more people know c++, means more people will get exposed to c++, etc etc
<discocaml>
<five.sided.fistagon> rich get richer
dhil has joined #ocaml
inline has quit [Remote host closed the connection]
inline has joined #ocaml
<discocaml>
<peuk> C++ get C#
<discocaml>
<peuk> Wait
<discocaml>
<jalsol> and there's Jane Street who can convince people to use OCaml
<discocaml>
<cod1r> yea
<discocaml>
<cod1r> very talented people building very sophisticated things
<discocaml>
<jalsol> it's pretty much an anomaly
<discocaml>
<jalsol> if Yaron Minsky can convince very smart people to use OCaml, why is there no one that's doing the same with, say, Rust
<discocaml>
<cod1r> there's isnt one person doing it though
<discocaml>
<cod1r> RIIR is a thing
<discocaml>
<peuk> Rust is already convincing for a lot of people. But there is still major barriers to adoption, related to the runtime checks.
<discocaml>
<cod1r> there has been literally issues made to large open source projects telling the maintainers to litearlly rewrite things in Rust
<discocaml>
<cod1r> ocaml is niche bc a lot of people dont explore functional programming languages
Hikui has joined #ocaml
Hikui has left #ocaml [#ocaml]
YuGiOhJCJ has quit [Ping timeout: 244 seconds]
<discocaml>
<jalsol> one (political) issue I have with Rust is that rewritten projects in Rust tend to receive big corp funding
<discocaml>
<jalsol> while the original are short on money
Haudegen has quit [Quit: Bin weg.]
<discocaml>
<jalsol> what I mean is in the context of HFT
<discocaml>
<jalsol> the Rust hype has been around for long, big tech have more or less adopted Rust for some services, but HFT firms seem hesitant
<discocaml>
<jalsol> OxCaml takes inspiration from Rust, but it ends there
gareppa has joined #ocaml
<discocaml>
<JM> Didn't JaneStree start with OCaml? Migrating a big HFT codebase is another beast.
<discocaml>
<JM> I don't think people who has been making a lot of money consistently with C++ will just jump to Rust because it's popular.
<discocaml>
<JM> Maybe the next big Rust HFT firm is more likely to be a small Rust HFT firm today than a big C++ HFT firm.
<discocaml>
<jalsol> they started with Java in 2000, and migrated in 2003 since Yaron Minsky joined
<discocaml>
<jalsol> otherwise, yeah let's see in a couple of decades
gareppa has quit [Quit: WeeChat 4.5.1]
Frostillicus has joined #ocaml
Haudegen has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
bartholin has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
bartholin has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
mange has quit [Quit: Zzz...]
<discocaml>
<microwave3607> time to learn ocaml
<discocaml>
<microwave3607> my problem with Rust is that I thought it would be cooler
<discocaml>
<microwave3607> like, it's not bad, but it isn't even that interesting
<discocaml>
<hungrystackofpancakes> who told you that learning rust mke you cooler
<discocaml>
<hungrystackofpancakes> who told you that learning rust make you cooler
<discocaml>
<microwave3607> I thought it was like
<discocaml>
<microwave3607> an interesting language
<discocaml>
<microwave3607> it has some cool stuff
<discocaml>
<hungrystackofpancakes> sure in its own design (borrowing checkers)
<discocaml>
<microwave3607> borrow checker isn't even that interesting
<discocaml>
<hungrystackofpancakes> but that does not mean it would make you cooler
<discocaml>
<microwave3607> it's pretty lame, it asks too much and gives too little
<discocaml>
<hungrystackofpancakes> is like learning cobol or assembly just to be cooler
<discocaml>
<microwave3607> I didn't want to be cooler, I wanted to have fun
<discocaml>
<microwave3607> rust isn't that fun
<discocaml>
<hungrystackofpancakes> that is a fair reason
<discocaml>
<microwave3607> I was reading about Ada
<discocaml>
<microwave3607> Ada has some cool stuff
<discocaml>
<hungrystackofpancakes> ada core no longer support community build
<discocaml>
<hungrystackofpancakes> meaning it managed by the community
<discocaml>
<hungrystackofpancakes> called alire
<discocaml>
<hungrystackofpancakes> they introduce package manager
<discocaml>
<microwave3607> I saw
<discocaml>
<microwave3607> I thought it was awesome
<discocaml>
<hungrystackofpancakes> but most are ripoff or rust
<discocaml>
<hungrystackofpancakes> but most are ripoff of rust
<discocaml>
<microwave3607> It has a lot more of garantees than rust
<discocaml>
<microwave3607> and it's way more elegant
<discocaml>
<hungrystackofpancakes> ada used to be cool
<discocaml>
<hungrystackofpancakes> but after the collapse of community build
<discocaml>
<hungrystackofpancakes> it lost the respect
<discocaml>
<hungrystackofpancakes> it lost its respect
<discocaml>
<microwave3607> it actually got better, now we do not depend that much of adacore
<discocaml>
<microwave3607> and adoption is getting back
<discocaml>
<hungrystackofpancakes> bold claim
<discocaml>
<hungrystackofpancakes> ada is mostly dead tbh
<discocaml>
<microwave3607> it's very niche, I won't be expecting to see much of it
johnridesabike has joined #ocaml
<discocaml>
<hungrystackofpancakes> i wish they use gnatmake
<discocaml>
<hungrystackofpancakes> it would make ada original;
<discocaml>
<hungrystackofpancakes> now its blatent rust ripoff [alire]
<discocaml>
<hungrystackofpancakes> now its blatant rust ripoff [alire]
<discocaml>
<microwave3607> ooh
<discocaml>
<microwave3607> now I understood
<discocaml>
<microwave3607> I thought it was a rust ripoff because of its features
<discocaml>
<hungrystackofpancakes> no
<discocaml>
<microwave3607> I was pretty confused
<discocaml>
<microwave3607> you are talking about tooling
<discocaml>
<hungrystackofpancakes> the alire is what make ada
<discocaml>
<hungrystackofpancakes> like rust
<discocaml>
<microwave3607> ye ye ye
<discocaml>
<microwave3607> got it
<discocaml>
<microwave3607> I still didn't used much
<discocaml>
<microwave3607> it won't be as big as rust ever
<discocaml>
<microwave3607> because people like bad languages *cough* *cough*
<discocaml>
<hungrystackofpancakes> describe bad
<discocaml>
<hungrystackofpancakes> what bad languages
<discocaml>
<microwave3607> typescript
<discocaml>
<hungrystackofpancakes> eh its not too bad
<discocaml>
<hungrystackofpancakes> javascript is indeed a bad language
<discocaml>
<jalsol> it can get kind of bad
<discocaml>
<microwave3607> typescript is cool if you don't want to take the type part seriously
<discocaml>
<hungrystackofpancakes> tho what language are you really want to learn
<discocaml>
<hungrystackofpancakes> what is your goaal
<discocaml>
<hungrystackofpancakes> what is your goal
<discocaml>
<jalsol> OCaml is my fav rn and I doubt it's gonna change soon
<discocaml>
<hungrystackofpancakes> you can do functional casting
<discocaml>
<microwave3607> `float y = x` will still work
<discocaml>
<hungrystackofpancakes> it just shorter for `static_cast`
<discocaml>
<hungrystackofpancakes> no
<discocaml>
<hungrystackofpancakes> well
<discocaml>
<hungrystackofpancakes> yes
<discocaml>
<hungrystackofpancakes> it will
<discocaml>
<microwave3607> so me sad
<discocaml>
<jalsol> is it?
<discocaml>
<hungrystackofpancakes> but if it `float y{ x };` no longer works
<discocaml>
<hungrystackofpancakes> kinda
<discocaml>
<hungrystackofpancakes> both do compile-time check
<discocaml>
<hungrystackofpancakes> the difference is static_cast is standard for casting
<discocaml>
<hungrystackofpancakes> functional is kinda new
<discocaml>
<microwave3607> I want full HARDCORE strong typing
<discocaml>
<microwave3607> it's pretty fun
<discocaml>
<microwave3607> Ocaml has some of that stuff
<discocaml>
<microwave3607> with typing
<discocaml>
<hungrystackofpancakes> then you will surely love ada
<discocaml>
<microwave3607> and I find it very fun
<discocaml>
<microwave3607> I liked, but I don't write critical software
<discocaml>
<microwave3607> so if something is strong typed as OCaml and Haskell then it's enough
<discocaml>
<hungrystackofpancakes> the downside of functional casting `T(x)` is the usage
<discocaml>
<hungrystackofpancakes> it make it look like you are calling function
<discocaml>
<hungrystackofpancakes> instead of casting
<discocaml>
<microwave3607> the best thing about c++ is the metaprogramming
<discocaml>
<hungrystackofpancakes> ```cpp
<discocaml>
<hungrystackofpancakes> int x{ foo(y) }; // function
<discocaml>
<hungrystackofpancakes> int y{ int(x) }; // casting
<discocaml>
<hungrystackofpancakes> ```
<discocaml>
<microwave3607> I can't find it useful, but I really find it fun
<discocaml>
<hungrystackofpancakes> similars but different
<discocaml>
<jalsol> it can be useful if you want some compile-time magic
<discocaml>
<hungrystackofpancakes> just replace rust with it
<discocaml>
<microwave3607> you know the reason I hate rust? `UnsafeCell`
<discocaml>
<microwave3607> I really hate that you can work with `UnsafeCell` outside `unsafe`
<discocaml>
<hungrystackofpancakes> mmmmm. you hate how rust treating you
<discocaml>
<hungrystackofpancakes> lol
<discocaml>
<microwave3607> and have interior mutability
<discocaml>
<hungrystackofpancakes> ooo. ocaml support windows 95
<discocaml>
<jalsol> the thing is C++ types aren't strong
<discocaml>
<hungrystackofpancakes> nice
<discocaml>
<jalsol> you can do weird reinterpret cast
<discocaml>
<jalsol> and some dark magic tricks
<discocaml>
<hungrystackofpancakes> it is not the same as static or functionl casting
<discocaml>
<jalsol> things that wouldn't appear in OCaml
<discocaml>
<hungrystackofpancakes> it is not the same as static or functional casting
<discocaml>
<hungrystackofpancakes> reinterpret_cast is useful when you want to change data-type pointer to other data-type pointer
<discocaml>
<hungrystackofpancakes> but its risky to use
<discocaml>
<hungrystackofpancakes> as it do runtime casting
<discocaml>
<jalsol> well strong typing isn't that much of an appeal to me, I actually am more into ADT
<discocaml>
<hungrystackofpancakes> so unless you know what are you doing
<discocaml>
<hungrystackofpancakes> stick with static_cast
<discocaml>
<jalsol> ikr
<discocaml>
<hungrystackofpancakes> ub is very likely in reinterpret_cast
<discocaml>
<microwave3607> ADT is cool too
<discocaml>
<microwave3607> but I don't get ADT in rust
<discocaml>
<microwave3607> it just isn't ADT
<discocaml>
<microwave3607> it's just tagged unions
<discocaml>
<microwave3607> that look like ADT
<discocaml>
<jalsol> ty for sharing but uh I know my fair share of C++ that's good enough for the job
<discocaml>
<microwave3607> which isn't bad
Frostillicus has quit [Ping timeout: 260 seconds]
<discocaml>
<jalsol> it's better than actually doing tagged union
<discocaml>
<hungrystackofpancakes> your welcome ig
<discocaml>
<jalsol> but not ADT
<discocaml>
<hungrystackofpancakes> C++ support adt with classes and STL
<discocaml>
<hungrystackofpancakes> C++ support it with adt with classes and STL
<discocaml>
<hungrystackofpancakes> C++ support it with classes and STL
<discocaml>
<microwave3607> I just `std::variant` stuff
<discocaml>
<microwave3607> more than enough
<discocaml>
<hungrystackofpancakes> it still class
<discocaml>
<hungrystackofpancakes> variant is a class
<discocaml>
<microwave3607> ye
<discocaml>
<hungrystackofpancakes> of C++
<discocaml>
<jalsol> I don't think std::variant + std::tuple is the same as ADT
<discocaml>
<microwave3607> I'm just saying that I don't really care for ADT with cool constructors and cool things when I'm working in a imperative language
<discocaml>
<hungrystackofpancakes> scala can be used for ast
<discocaml>
<hungrystackofpancakes> swift too
<discocaml>
<hungrystackofpancakes> scala can be used for adt
<discocaml>
<hungrystackofpancakes> ocaml is one of them
<discocaml>
<hungrystackofpancakes> and F# [if you like .NET]
<discocaml>
<contificate> people do ADTs using tagged unions as class inheritance in C++
<discocaml>
<jalsol> that is kind of uhh
<discocaml>
<hungrystackofpancakes> lua can mimic adt using tables and metatables
<discocaml>
<jalsol> idk it works but it's not ideal
<discocaml>
<contificate> it's terrible
<discocaml>
<jalsol> I have seen Python codes that did the same
<discocaml>
<contificate> Python is better actually
<discocaml>
<hungrystackofpancakes> i mean C++ give you fall power
<discocaml>
<hungrystackofpancakes> i mean C++ give you full power
<discocaml>
<hungrystackofpancakes> and full power is dangerous
<discocaml>
<hungrystackofpancakes> lol
<discocaml>
<jalsol> class inheritance then match on isinstance
<discocaml>
<contificate> dataclasses and match in Python makes it almost untyped ML
<discocaml>
<hungrystackofpancakes> C# can do discriminated unions
<discocaml>
<hungrystackofpancakes> idk much about haskell so idk
<discocaml>
<microwave3607> the ghc has its normal machine code backend
<discocaml>
<microwave3607> it had C generation
<discocaml>
<microwave3607> it has llvm stuff
<discocaml>
<contificate> GHC is horrendously slow as well
<discocaml>
<microwave3607> js stuff
<discocaml>
<microwave3607> and it has wasm too
<discocaml>
<microwave3607> is it?
<discocaml>
<contificate> yeah
<discocaml>
<microwave3607> I found it quite ok
<discocaml>
<contificate> it's hard to go from OCaml to Haskell
<discocaml>
<microwave3607> it's not gcc, but it isn't rust
<discocaml>
<contificate> just torture
<discocaml>
<microwave3607> but generally I don't compile big things
<discocaml>
<microwave3607> pandoc took some time
<discocaml>
<microwave3607> but nothing too absurd
<discocaml>
<contificate> I was gonna do a benchmark for you
<discocaml>
<contificate> but just realised I don't even have GHC installed
<discocaml>
<microwave3607> I know that OCaml compiles faster
<discocaml>
<microwave3607> I expect it
<discocaml>
<microwave3607> Haskell is pretty crazy
<discocaml>
<contificate> to me, some styles of Haskell are tantamount to writing obfuscated programs
<discocaml>
<microwave3607> I think it's fun
<discocaml>
<jalsol> Haskell and the Haskell people scare everyone away from FP
<discocaml>
<microwave3607> I feel smarter
<discocaml>
<microwave3607> when I learn stuff from haskell
<discocaml>
<contificate> Haskell is like the exception to the rule, yet it's the one everyone has heard of - sadly
<discocaml>
<microwave3607> you guys just need to imagine a burrito
<discocaml>
<microwave3607> then it just works by having everything being functors
<discocaml>
<microwave3607> bam
<discocaml>
<microwave3607> haskell
<discocaml>
<jalsol> is that supposed to be a joke
<discocaml>
<contificate> I meet people who haven't looked into FP because of "an monad is a monoid in the category of endofunctors"
<discocaml>
<contificate> a*
<discocaml>
<microwave3607> it's a good joke tho
<discocaml>
<contificate> no, it isn't
<discocaml>
<microwave3607> I like it
<discocaml>
<jalsol> it does more harm than good
<discocaml>
<jalsol> and it solidifies this
<discocaml>
<microwave3607> it's haskell, you really don't expect people to really learn it
<discocaml>
<contificate> people dismiss FP outright because of things people say about Haskell
<discocaml>
<microwave3607> you go learn it if you are crazy enough
<discocaml>
<contificate> Haskell is the poster child
<discocaml>
<contificate> yet it's the one that's least like the others
<discocaml>
<microwave3607> I guess it sucks to be cool af
<discocaml>
<contificate> nothing cool about slow compile times and saying "typeclasses" every time you're challenged about your mediocire language
<discocaml>
<contificate> nothing cool about slow compile times and saying "typeclasses" every time you're challenged about your mediocre language
<discocaml>
<jalsol> if OCaml were the face of FP then FP would've been a lot more popular
<discocaml>
<jalsol> hel
<discocaml>
<jalsol> hell
<discocaml>
<contificate> maybe you should get a Haskell job
<discocaml>
<contificate> where you're gonna learning `n` Haskells, arising from `n` different collections of language extensons and random idioms your seniors learned - as a parlour trick - at a conference and use on every project
<discocaml>
<jalsol> even Scala would've been better for FP than Haskell
<discocaml>
<jalsol> this is so C++
<discocaml>
<jalsol> unfortunately my capacity can only handle C++, it cannot add Haskell into the mix
<discocaml>
<contificate> people literaly memorise C++ as though they're going to be flashcarded on it later
<discocaml>
<contificate> perhaps one day you'll agree with my view that
<discocaml>
<jalsol> I know the rule of 0 and of 5 exist
<discocaml>
<contificate> there comes a point where getting better at C++ is not laterally useful in any meaningful sense
<discocaml>
<contificate> and it's kind of akin to memorising plotlines to random TV shows, or maintaining a fan wiki for a TV series
<discocaml>
<contificate> it's just random kitchen sink nonsense
<discocaml>
<jalsol> that is uhh true ig
<discocaml>
<contificate> I used to read the standard in my teens, so I could win internet arguments
<discocaml>
<jalsol> even the key to interviewing for C++ roles in HFT firms is to read and memorize
<discocaml>
<jalsol> that's for the C++ part
<discocaml>
<contificate> I've applied for a few C++ jobs and the hiring managers don't believe I can write C++ because I choose not to
<discocaml>
<jalsol> I haven't written any C++ code in the past year (aside from competitive programming) and still landed a C++ internship
<discocaml>
<contificate> I need to write random C++ projects to get it more prominent on my CV, probably
<discocaml>
<jalsol> I haven't written any C++ code in the past year (aside from competitive programming and coursework) and still landed a C++ internship
<discocaml>
<contificate> but it's so depressing and slow going to use it for things I like
<discocaml>
<jalsol> I've been using OCaml instead
<discocaml>
<jalsol> and the experience has been pleasant
<discocaml>
<jalsol> I even managed to shill OCaml to friends who had no clue about FP
<discocaml>
<contificate> I like to say "shill" as well, but, I gather, that - by definition - it would imply you're not a genuine OCaml enjoyer
inline has joined #ocaml
<discocaml>
<jalsol> lmao I just use the words with comedic effects
<discocaml>
<contificate> based
<discocaml>
<jalsol> but I do enjoy it and believe in it, otherwise I wouldn't have used it for a year
<discocaml>
<jalsol> I convinced my professor to let us present OCaml in our programming language seminar
<discocaml>
<jalsol> he had SML and F# on the list but not OCaml
<discocaml>
<microwave3607> if `melange` go forward
<discocaml>
<microwave3607> then I will just be in love
<discocaml>
<microwave3607> but if something cool happens in haskell land I will like it too
Frostillicus has joined #ocaml
<discocaml>
<hungrystackofpancakes> I can't install Linux lol
<discocaml>
<contificate> why not
xenu has quit [Ping timeout: 268 seconds]
xenu has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
<discocaml>
<hungrystackofpancakes> my cpu is arm
xenu has quit [Ping timeout: 260 seconds]
<discocaml>
<hungrystackofpancakes> snapdragon(R) X
<discocaml>
<hungrystackofpancakes> not supported driver in linux
xenu has joined #ocaml
<discocaml>
<barconstruction> Crazy how so many people use Windows in spite of its poor support for OCaml
<discocaml>
<hungrystackofpancakes> why
<discocaml>
<empathy.monster> What about WSL?
<discocaml>
<hungrystackofpancakes> sure
<discocaml>
<hungrystackofpancakes> that work fine
Haudegen has quit [Quit: Bin weg.]
<discocaml>
<empathy.monster> @hungrystackofpancakes I don't want to post the link here, but if you search "Ubuntu Snapdragon" you can find the concept images for Ubuntu 25.04 for snapdragons
<discocaml>
<hungrystackofpancakes> depends what type of snapdragons
<discocaml>
<empathy.monster> Elite I think
<discocaml>
<hungrystackofpancakes> i don't have elite
<discocaml>
<empathy.monster> Wsl it is then, ig
<discocaml>
<aeseia> SML and F# is crazy
<discocaml>
<aeseia> Being an F# fan and not having any HFT signal booster (or one small one no one knows about) I feel like F# is always the underdog
Haudegen has joined #ocaml
<discocaml>
<aeseia> SML and F# is crazy
<discocaml>
<aeseia> Being an F# fan and not having any HFT signal booster (or having one small one no one knows about) I feel like F# is always the underdog
<discocaml>
<contificate> question is: what languages, at a minimum, would you expect on a "programming language" seminar/course
<discocaml>
<contificate> I'd say C, OCaml, Prolog, and Agda (or Rocq/Gallina), maybe Java too
johnridesabike has quit [Quit: johnridesabike]
johnridesabike has joined #ocaml
<discocaml>
<Kali> i'd through pascal in there somewhere because of how influential it was to so many languages in both syntax and ideas
<discocaml>
<Kali> throw*
<discocaml>
<edhebi> really depends on the intent of the course
<discocaml>
<edhebi> like if we're about programming langs in general, covering history and the "big ones", seeing various paradigms
<discocaml>
<edhebi> @contificate ime both writing and teaching C++ for a while, C++ is often use because there's no alternative for x or y reason. a big part of it is having a sufficiently structured codebase, idioms, set of habits that you don't do the bad stuff
<discocaml>
<edhebi> and yes, having the bad stuff readily available somehow still taught as a goddam entry point is like 80% of what's wrong with C++
<discocaml>
<edhebi> @contificate ime both writing and teaching C++ for a while, C++ is often used because there's no alternative for x or y reason. a big part of working with it is having a sufficiently structured codebase, idioms, set of habits that you don't do the bad stuff
<discocaml>
<edhebi> but yeah, turn on every lint and warning, learn the idioms along with the construct, and really it's not so different from writing C# or whatev, the weird stuff is almost only a concern when you're working with outdated practices or doing some really weird stuff (and if that's unavoidable, please contain it)
Serpent7776 has quit [Ping timeout: 252 seconds]
<discocaml>
<hungrystackofpancakes> do ocaml support multiple inheritance
<discocaml>
<yawaramin> _OCaml from the Very Beginning_ is written for people with zero programming experience
<discocaml>
<yawaramin> you don't need `;;` in source code. only in REPL
<discocaml>
<hungrystackofpancakes> well i know C++ for 4 years
<discocaml>
<hungrystackofpancakes> so technically i'm interdemiate
<discocaml>
<hungrystackofpancakes> so technically i'm intermediate
<discocaml>
<yawaramin> try the first chapter of the OCaml Manual
<discocaml>
<hungrystackofpancakes> i want a clear structure book
<discocaml>
<Kali> the manual is very structured and can be read through like a book
<discocaml>
<hungrystackofpancakes> not even few words and i couldn't understand anything
<discocaml>
<yawaramin> 'clear structure book' is subjective, everyone understands things differently. if you give us an example of what you consider a 'clear structure book', we can try to give you an OCaml equivalent
rak has quit [Quit: Segmentation fault (core recycled)]
rak has joined #ocaml
<discocaml>
<contificate> OCaml? my favourite for that
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
dhil has quit [Quit: Leaving]
Serpent7776 has joined #ocaml
<discocaml>
<hungrystackofpancakes> does anyone know how to install ocaml in ARM cpu
Exa has quit [Ping timeout: 272 seconds]
euphores has quit [Quit: Leaving.]
Exa has joined #ocaml
euphores has joined #ocaml
<discocaml>
<contificate> I've done it on my rpi I'm sure, but was literally just opam from arch packages
<discocaml>
<hungrystackofpancakes> it just tries to install x86
<discocaml>
<hungrystackofpancakes> it just tries to install x86_64