ec changed the topic of #elliottcable to: a 𝕯𝖊𝖓 𝖔𝖋 𝕯𝖊𝖙𝖊𝖗𝖒𝖎𝖓𝖊𝖉 𝕯𝖆𝖒𝖘𝖊𝖑𝖘 slash s͔̞u͕͙p͙͓e̜̺r̼̦i̼̜o̖̬r̙̙ c̝͉ụ̧͘ḷ̡͙ţ͓̀ || #ELLIOTTCABLE is not about ELLIOTTCABLE
_whitelogger has quit [Ping timeout: 250 seconds]
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
devsnek has quit []
devsnek has joined #elliottcable
alexgordon has joined #elliottcable
<alexgordon>
typescript is like a good sandwich
alexgordon has quit [Client Quit]
alexgordon has joined #elliottcable
alexgordon has quit [Client Quit]
scrptktty has joined #elliottcable
<ec>
a goodwich
<ec>
damnit alex
<ec>
immediately quit
<ec>
what a butt!
<ec>
butttttt!
<ec>
anybody know Ember
<ec>
fix all my code it's broken n i am very frustrated
<jfhbrook>
conde's editor used to be in ember
<jfhbrook>
they may have since rewritten it
<jfhbrook>
cause that was like 2 years ago and the presentation layer was all react + redux
<ec>
ours is the opposite
<ec>
our editor is hand-written in <canvas>, our presentation layer is Ember, wrapped for iOS by corber/cordova
<jfhbrook>
ouch
<ec>
and my coworkers are now rewriting half of the Ember part in React so we can stop banging our heads against … whatever-this-is
<jfhbrook>
ahaha yeah
<jfhbrook>
I uh, frickin' ember
<jfhbrook>
it's like
<jfhbrook>
the dudes that made it really wanted to be the best of breed batteries included framework
<ec>
any chance you know Ember Simple Auth? or Ember Data?
<jfhbrook>
and so it does have the batteries included I guess but practically it's all weird and nobody likes it (except the people that made it)
<jfhbrook>
nah, idk a lick of ember, never worked on the editor over theres
<jfhbrook>
I work on the preso layer here sometimes
<ec>
fuckity.
<ec>
and yep exactly that
<ec>
people who like it _really_ like it
<ec>
but nobody agrees with them
<ec>
my boss-who-left was one of those Really Likes Ember people
<ec>
and kinda blocked any attempts to modernise anything away from it
<jfhbrook>
which is, well, a shitshow - kinja originally backbone + marionette + jquery, getting rewritten in nodejs + react and somewhere in the middle rn
<jfhbrook>
oh, yeah
<jfhbrook>
agree w/ you 100% there
<ec>
so that's like … one upside to him leaving … really the *only* upside …
<jfhbrook>
hah
<jfhbrook>
what are the downsides XD
alexgordon has joined #elliottcable
<alexgordon>
ec: hey
<alexgordon>
I was cooking
<ec>
lmfao there he is!
<ec>
wait how're you seeing messages
<ec>
i'm so hungry cook for *me*
<alexgordon>
_whitelogger:
<ec>
o been a second
<ec>
just stay connected it's 2019 who disconnects from IRC
<ec>
speaking of which
<ljharb>
oh well if i'd known that i'd have dropped a timely sandwich joke
<alexgordon>
well I hardly use irc nowadays
Sgeo_ was kicked from #elliottcable by ec [Sgeo_]
<alexgordon>
who is sgeo?
<jfhbrook>
it is a mystery
<ec>
no idea whatsoever, but his joins 'n quits are like, 90% of the noise in this channel in the silent weeks
<ec>
if he rejoins, ban him lmao
<alexgordon>
ban him/her/it!
<ec>
alexgordon: solution is to … not quit! so we can highlight you. and make you IRC more. muhahaha.
<alexgordon>
yeah okay
<ec>
ugh this is the LEAST useful "bug" report I've ever written
<ec>
I'd close this shit in two shakes of a meat's tail, if it were my project
<ec>
but like fuck if I know where the hell else to get help …
<alexgordon>
although typescript is a good sandwich, I really wish typescript had macros
<ec>
have you tried Reason
<ec>
it is a superior sandwich.
<alexgordon>
yes
<alexgordon>
ehhh
<jfhbrook>
I thought it had a new worse name now
<ec>
have we already talked about this
<ec>
get on my ocaml levelllllll, alexgordon
<alexgordon>
does reason have macros?
<jfhbrook>
that issue seems reasonable to me ec
<alexgordon>
tbh I find typescript to be more consistent than ocaml
<jfhbrook>
like I wouldn't expect a bugfix necessarily
<alexgordon>
but neither are perfect
<jfhbrook>
but it seems like a real issue
<ec>
has waaaaaay more powerful PPX rewriters
<alexgordon>
what I really want is compile time metaprogramming
<alexgordon>
turing complete metaprogramming
<alexgordon>
like lisp
<alexgordon>
what I really want is lisp :P
<alexgordon>
typed lisp
<alexgordon>
that compiles to js
<jfhbrook>
scala has a macro system that I think is supposed to be decent
<ec>
that's what PPXes are
<jfhbrook>
though I think it's an unstable API
<alexgordon>
PPX?
<jfhbrook>
oh it's the new-ish powerpoint extension
<jfhbrook>
came out in the late 2000s?
<jfhbrook>
or is that pptx
<jfhbrook>
whatever
<ec>
you write OCaml code with particular signatures, that the compiler invokes when it sees particular "attach magic here" notations in the written AST; and then its output becomes the actual program.
<alexgordon>
I see
<ec>
typed metaprogramming is literally what it is lolol
<alexgordon>
I mean the magic of lisp is that it has very loose restrictions on what valid source code is
<alexgordon>
(foo bar baz) is valid lisp if you define a foo macro
<jfhbrook>
I don't follow
<alexgordon>
ocaml has a much more complicated syntax
<jfhbrook>
that still looks like lisp syntactically
<ec>
ocaml's syntax is so fucking weird
<jfhbrook>
see that seems less macro-related and more lisp-related
<ec>
but I'll say this for it — it's hella unambiguous
<alexgordon>
if you do transformations after parsing then it's got to parse right
<jfhbrook>
which is fine! but.
<alexgordon>
in lisp parsing is a very low bar
<ec>
like there's no line-separators or block delimiters or … anything … because it's so goddamn verbose that it can always determine what anything is, in any context, and where it ends
<alexgordon>
but in ocaml...
<ec>
er
<ec>
its typed?
<alexgordon>
yeah I am using reason and ocaml synonymously
<ec>
you're not doing text transformations
<alexgordon>
is lisp typed? well there are typed lisps
<alexgordon>
but usually not
<ec>
you're doing *typed* *ast* transformations, in a language with GADTs.
<ec>
i.e. ASTs are correct-by-constructions
<alexgordon>
yeah yeah I know but if you want to define totally new features you can only do that within the bounds of the existing syntax
* ec
nods
<alexgordon>
whereas with lisp you can make a totally new syntax
<alexgordon>
as long as it uses parens :P
<ec>
it's also restricted even more than that, by design — you can only modify *opt-in* parts of the AST
<ec>
I've never understood that viewpoint
<alexgordon>
I do think there is room for something in the middle
<alexgordon>
a syntax that is easier to add type annotations to than sexprs
<ec>
like, that's so very extremely not true — all lisp looks the freakin' same; just because it's named `define-syntax` doesn't mean that's *really what you're actually doing*
<alexgordon>
but is still "free form"
<ec>
drives me a little nuts when Lisp fans talk about the ability to define new syntax.
<alexgordon>
that is true
<alexgordon>
the grammar doesn't change, but the point is that lisp's grammar is general enough to cover pretty much anything
<ec>
come at me when I can add angle-brackets or arrows or `do … end` blocks or literally anything that isn't a veryveryveryslightly different meaning for this particular sexp payload :P
<ec>
I will say this — I *love* sweet-expressions
<ec>
still maybe hands-down my favourite syntax I've ever seen
<ec>
as absurdly cool as ppxes are … haha
<ec>
here's a really, really cool example of what OCaml's preprocessor macros can do, though — yes, I'm deadset on convincing you this is cool, lmao
<ec>
so you're limited to syntactically-valid matchers — but Sedlex overrides those into lever specifications in a very clever way.
<ec>
it's definitely not as wildly flexible as true macros, of course
<drparse>
that is cool
<ec>
but I strongly consider that an upside, at least right now
<ec>
(ask me again in three years 🤣)
<ec>
thing is, the fact that they're opt-in — and that a valid OCaml AST is a valid OCaml AST, period — gives you a *lot* of sanity gains
<drparse>
mainly what I want is to be able to import syntax the same way you import a module, I feel strongly that programming languages should work that way :P
<ec>
they're arbitrarily composable because of that; editor and other tooling still works …
<ec>
hahaha you know I agree
<ec>
Paws v.v
<ec>
i miss paws ugh
<drparse>
nobody understood it xD
<drparse>
well I didn't
<jfhbrook>
do you know of a good "tour of ocaml" ec? could be fun to flip through on a phriday night
<drparse>
phriday?
<drparse>
is that intentional or typo xD
<ec>
depends what you wanna do with it
<jfhbrook>
nothing special
<ec>
in a react/javascript/publishing-to-npm setting? or do you wanna learn it For Real™, in more detail, and use it for native stuff?
<jfhbrook>
more I wanna come out being like, oh, that's what ocaml is actually like
<jfhbrook>
so more the latter I guess
<ec>
for the latter, there's a book that I've *repeatedly* heard called "the single best programming textbook". like, for/in any language. and it's true as fuck. also, free.
<jfhbrook>
and I suspect that the borrowing mechanics, while weird, are powerful and neat
<ec>
if you don't wanna Go Ham, though, RWO can be … overwhelming. it's clearly for experienced programmers who wanna move fast and think hard. if you want something more approachable as a JS dayjobber, I suggest just starting with the Reason / ReasonReact tutorials.
<ec>
they intentionally kinda smudge over the differences at first.
<drparse>
after using typescript for 18 months I feel that it's really really good but I think there is a simpler and better language that could be inspired by it
<jfhbrook>
yo ec ever get into cities skylines? cause holy crap
<jfhbrook>
protip though, have super super shitty schools until you've filled out your city w/ pop and /then/ level them
<jfhbrook>
I also got a dope dope minecraft realm going w/ some friends rn
<ec>
right now, Oxygen Not Included, Stellaris, Kerbal Space Program, Civilization VI, Surviving Mars, Factorio …
<ec>
as well as recently some time put into less-usual-for-me-stuff — Hob is beautiful, A Story About My Uncle (weird free-movement/parkour indie game that's hella fun), Borderlands 2 playthru with my partner,
<ec>
lol played waaaaaaaaaay too much Cities
<ec>
think Cities and Civ are my most-played by hours
<jfhbrook>
too much like the career I explicitly rejected at the end of college
<jfhbrook>
my CS game is good though, I got the traffic manager and winter maps and I got a much better grip on roads and edu than I did my prior playthroughs
<ec>
baller
<ec>
i mostly dick around with complicated intersection designs
<ec>
i'm a bit of a roadgeek
<jfhbrook>
oh, yeah, I mean, I got TMPE so I could fix busted default traffic patterns
<jfhbrook>
even when I don't feel like screwing w/ roads I get sucked in anyway
<jfhbrook>
I don't have any pubtrans yet, waiting for the larger patterns to present themselves
<jfhbrook>
also lots of low density zoning rn
<jfhbrook>
still, I got some funky slip lanes and such going on
<jfhbrook>
my first interchange is of course a clusterfuck cause I was trying to retrofit downtown
<jfhbrook>
but in the new areas they're less crummy and it's actually the at-grade intersections I'm having issues with
<drparse>
wow games are weird nowadays
<jfhbrook>
drparse it's like if simcity were about infrastructure instead of policy
<jfhbrook>
like there's still policy but you can ignore it for the most part
<drparse>
I thought simcity _was_ about infrastructure
<jfhbrook>
not as compared to cities skylines
<drparse>
I have been living a lie
<jfhbrook>
cities skylines has a much more complicated transportation model last I checked
<jfhbrook>
I played 3000, 4, and 5
<drparse>
well that's interesting
<ec>
hahaha yeah
<ec>
context:
<ec>
Cities: Skylines, the spiritual successor to SimCity that kinda took over all of the player base when “SimCity (2013 release)” sucked a bunch,
<ec>
was *made by* the people who do all those transport-management games
<ec>
sooooooo it like, *has* zoning and services and shit,
<ec>
but it's 99% about roads and layout and public transportation and stuff.
<jfhbrook>
wow my steam acct is nearly 12 years old
<jfhbrook>
truly ancient by online account standards
drparse has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
alexgordon has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]