ec changed the topic of #elliottcable to: a ๐•ฏ๐–Š๐–“ ๐–”๐–‹ ๐•ฏ๐–Š๐–™๐–Š๐–—๐–’๐–Ž๐–“๐–Š๐–‰ ๐•ฏ๐–†๐–’๐–˜๐–Š๐–‘๐–˜ slash sอ”ฬžuอ•อ™pอ™อ“eฬœฬบrฬผฬฆiฬผฬœoฬ–ฬฌrฬ™ฬ™ cฬอ‰แปฅฬงอ˜แธทฬกอ™ลฃอ“ฬ€ || #ELLIOTTCABLE is not about ELLIOTTCABLE
alexgordon has joined #elliottcable
<alexgordon> ec: yo
<ec> yo yo
<ec> I'm writing the second-most-horrible code that I've ever written
<alexgordon> oh hey you exist
<alexgordon> wow
<alexgordon> that's saying something
<ec> like look at this fucking type error lol
<ec> Signature mismatch: Modules do not match: functor (This : AType) (Next : CBAO) -> sig type a = Next.b type b = Next.next type next = This.t val call : '_a -> '_b -> '_c -> '_d end is not included in functor (This : AType) (Next : CBAO) -> CBAO At position functor (This) -> <here> Modules do not match: functor (Next : CBAO) -> sig type a = Next.b type b = Next.next type next = This.t val call : '_a -> '_b -> '_c -> '_d end is
<ec> not included in functor (Next : CBAO) -> CBAO At position functor (This) -> functor (Next) -> <here> Modules do not match: sig type a = Next.b type b = Next.next type next = This.t val call : '_a -> '_b -> '_c -> '_d end is not included in CBAO At position functor (This) -> functor (Next) -> <here> Values do not match: val call : '_a -> '_b -> '_c -> '_d is not included in val call : (f:a -> b -> next) -> a -> b -> next File
<ec> "/", line 10, characters 3-56: Expected declaration File "/", line 22, characters 10-14: Actual declaration
<alexgordon> you forget I used to use C++
<alexgordon> that is NOTHING
<ec> not in terms of length
<jfhbrook> that's a little wild yeah
<alexgordon> it's not bad until it fills the screen
<alexgordon> btw I finally kicked the C++ habit a few years ago
<alexgordon> well 2017 actually
<jfhbrook> I feel like type error reporting has a problem where it doesn't use the type aliases
<alexgordon> I'm almost 2 years clean!
<ec> basically I'm trying to write a recursive functor to โ€ฆ hide the type of argument N to an N+1-ary function, such that I can then write a function that can wrap such an N+1-ary function with a side effect upon completion, while being agnostic to currying?
<jfhbrook> so like if simple_thing = some[crazy[aggregated], thing, etc[etc, etc]] whatever
<alexgordon> mmm curry
<jfhbrook> it'd be nice to see simple_thing instead of what's on the right
<alexgordon> so today I realised that they changed the curry powder I usually use, took out half the ingredients! that's why my curries taste like shit. so I have to find a new curry powder now
<ec> jfhbrook: in OCaml?
<jfhbrook> I've seen that a lot in scala
<jfhbrook> but I think it's a more general issue
<alexgordon> is this reason?
<alexgordon> or ocaml?
<alexgordon> looks like ocaml
<ec> the complexity of the type-error here isn't due to unrolling of abstract types; the actual error is genuinely that complicated
<ec> alexgordon: same thing. ocaml, yes
<alexgordon> oh yeah double semicolons
<alexgordon> must be ocaml
<alexgordon> crazy frencies
<ec> double semicolons are to make sure Merlin is giving me helpful error-messages in real time as I fuck around with the syntax on those last few lines
<ec> they're not necessary/useful outside of what I just copy-pasted lol
<jfhbrook> that's fair
<alexgordon> no but it's an iconic part of ocaml's syntax is what I mean
<alexgordon> who is merlin?
<ec> but, basically: `AppliesTo` produces a type (well a module-language type? not a type-language type? OCaml is weird???.) for a function _that doesn't care what the type of its return-value is_
<ec> er no that's a terrible description
<ec> anyway I have no idea what I'm doing please stop me before I embarrass myself??
<alexgordon> does micah ever come in here?
<ec> no, but I'm having dinner with him in like an hour
<alexgordon> I miss micah; also, the russian
<ec> he's active in his own channel
<alexgordon> he has his own channel?
<ec> which literally has 10 times as many members as we do here, now /=
<ec> I miss the good ol' days
<ec> and micah's mostly active in Sig's discord apparently
<ec> but that's music-focused, not so much about rockets 'n math, unfortunately. or so I'm told.
<alexgordon> hey well tell him to /invite me if he dares
<ec> don't really have a chat-home right now, I wish
<alexgordon> did you say micah works at google now or something?
<ec> OCaml and Reason discords, more than anything else. but still only maybe once a week do I speak up.
<ec> yep!
<ec> move 2 chicago and hang w/ us
<ec> :3
<alexgordon> oh you in chicago
<alexgordon> I assumed bay area
<alexgordon> google has an office in chicago?
<ec> ep
<ec> yep
<ec> lol bay area not even once
<ec> you'd have to pay me around 2.5x what i'm making right now to get me to work/live in the bay area
<alexgordon> I will move if america gets a sane president and reforms the H1B program haha
<alexgordon> _this is never going to happen_
<ec> yep.
<ec> jfhbrook: speaking of type aliases
<ec> OCaml does well in simplistic cases; but it's really struggling with the recursive functors I'm writing right now
<alexgordon> ec: did you ever finish your degree?
<ec> `This expression has type int -> string -> unit but an expression was expected of type Z.a -> Z.ret Type int is not compatible with type Z.a = AppliesTo(Y)(Base(X)).a`
<ec> yeah no fucking shit, ocamlc, tell me what `AppliesTo(Y)(Base(X)).a` concretely resolves to
* alexgordon realises how much I've missed in the last couple of years
<ec> alexgordon: failed out hard
<ec> for the N'th time in my life
<alexgordon> well it doesn't matter, failure is success to programmers
<ec> no shit jesus
<ec> got a great job shortly thereafter
<ec> but am very bad at it, predictably
<alexgordon> literally the highest paid job where you don't need a degree, except for maybe sportsperson hahah
<ec> sportsperson lol
<alexgordon> yeah tennis player
<jfhbrook> hah
<ec> fuck me
<ec> it boutta be straight-terrifying cold out here
<ec> negative. fucking. thirty.
<jfhbrook> shit's legit
<jfhbrook> be careful out there
<jfhbrook> this is the only place I can think of to ask this - anyone know how I can get a quick practical feel for haskell? not to be good at it but enough to be dangerous say
<jfhbrook> I'm realizing that making xmonad exit gracefully requires writing haskell
<jfhbrook> the existing exit command just calls io (exitWith ExitSuccess)
<jfhbrook> so if I want graceful shutdowns/logouts I have to figure out how to uh, make one of those that sigints open windows waits n seconds then force quits /then/ shuts down
<ec> jfhbrook: just switch to d3 trolllol
<jfhbrook> I love diablo 3!
<jfhbrook> I know xmonad is like
<jfhbrook> not what the cool kids use these days
<jfhbrook> but it sparks joy
<jfhbrook> I find it strangely intuitive
<jfhbrook> it makes *sense*
<ec> i havenโ€™t used it
<jfhbrook> just a few tiny things to tweak
<ec> i used awesomewm back when i used linux on the desktop
<jfhbrook> yeah I haven't used linux on the desktop since 2013 buuuuut
<jfhbrook> I got sick of not having a hacking computer and my macbook was expensive and breaking all the time
<jfhbrook> so I got a dell and am putting arch on it instead
<jfhbrook> I'm part way done - it boots, it's usable, but a lot of work ahead of me
<jfhbrook> sound only works through headphones, the video card is, long story short, using more power than it needs to, I haven't made sleep/hibernate work yet
<jfhbrook> and lots and lots of glue, like this graceful shutdown thing
<ec> ouch
<ec> thatโ€™s so much time
<ec> i canโ€™t imagine spending any more time in my life on โ€ฆ making my goddamn machine work
<ec> i have so little (no???) time as it is โ€ฆ
<jfhbrook> well two things
<jfhbrook> well maybe not two things
<jfhbrook> uh but I have a windows desktop that works *great* and a work laptop that's foolproof
<jfhbrook> so this is just for hacking, specifically, and also a project itself
<jfhbrook> like doing all this stuff is a fun thing to work on, or will be once I get the dumb hardware stuff out of the way
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzzโ€ฆ]
_whitelogger has joined #elliottcable
alexgordon has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzzโ€ฆ]
alexgordon has joined #elliottcable
alexgordon has quit [Quit: Textual IRC Client: www.textualapp.com]
Sgeo_ has joined #elliottcable
Sgeo has quit [Ping timeout: 268 seconds]