ChanServ changed the topic of #elliottcable to: laser printers are fucking awesome
<whitequark>
>a little frustrating to do anything complicated
<whitequark>
so, typical graphical programming env ;)
Sgeo has joined #elliottcable
<glowcoil>
...i don't know why you have to throw in the anti graphical programming snark all the time, i agree with you regarding basically every extant env
<glowcoil>
scratch, max/msp and pure data, quartz composer, or anything else i've used
<glowcoil>
has been awful
<glowcoil>
but i would say that's because they're designed by idiots
<glowcoil>
not because visual programming is inherently awfu
<glowcoil>
l
<glowcoil>
and yo'ure basically just repeating a big ol argument from lack of imagination
<whitequark>
"because everyone else is an idiot" isn't exactly convincing either
prophile has quit [Quit: The Game]
<glowcoil>
whitequark: there are people who know how to make UIs
<glowcoil>
whitequark: and they are not the people who have made visual programming languages
<glowcoil>
whitequark: because in general, programmers tend to just take the tools out of the UI toolbox that match up to the datatype of what they want to expose and put them all laid out in a window
<glowcoil>
no actual thoughts about whether this is a natural way for humans to interact
<joelteon>
devyn: this time they actually shipped it
<joelteon>
(I think)
yorick has quit [Remote host closed the connection]
<glowcoil>
whitequark: so i feel like it is a satisfying reason to dismiss most visual programming systems till now
<glowcoil>
whitequark: most text languages are incredibly similar in terms of their fundamental interaction paradigm (pseudo-math context-free grammar parsing) so people who design those aren't doing any fundamental ux work)
<glowcoil>
take away that last )
<whitequark>
ok
<alexgordon>
glowcoil: I disagree, most languages have terrible ux
<alexgordon>
because they're designed by programmers who don't really know what they're doing
<whitequark>
alexgordon: I wonder, how'd you grade python and ruby on ux scale and why?
<whitequark>
and all other popular languages too, actually
<alexgordon>
whitequark: hm well, they were designed in the early 90s
<alexgordon>
so I feel like I should cut them some slack
<whitequark>
alexgordon: nope, go full nuclear war
<alexgordon>
compared to other interfaces from the early 90s they're actually really good
<whitequark>
(in the gay bar)
<alexgordon>
lol
<purr>
lol
<glowcoil>
alexgordon: right, i would agree with that too
<whitequark>
alexgordon: it's not like languages designed today are significantly different
<whitequark>
like rust
<glowcoil>
alexgordon: i just mean, there's a limit to how bad
<glowcoil>
alexgordon: when everything is so similar
<whitequark>
or that C#-like-thing from MSR
<whitequark>
or ES-Harmony
<alexgordon>
whitequark: I feel like python is very well designed, ruby is pretty much the same but it's too complex
<alexgordon>
e.g. ruby has 10000 different string literals, which nobody really understands
<alexgordon>
that's not good design
<whitequark>
perl ancestry, yeah. could cut them at least in half.
<alexgordon>
my main problem with ruby, and similarly C++ is that the syntax for function calls is too overloaded
<alexgordon>
"foo bar" in ruby can mean too much, in C++ foo(bar) means about 8 different things
<alexgordon>
depending on context
<whitequark>
right
<glowcoil>
i'd say haskell's syntax does a good job of being really natural to use after a small amount of familiarizing
<alexgordon>
humans are good at distinguishing context, but computers are _better_, I think ruby pushes the boundaries
<glowcoil>
apl is actively hostile to those used to other things but really great once you've learned it
<alexgordon>
glowcoil: yeah although, not if you add extensions :|
<glowcoil>
alexgordon: to haskell?
<glowcoil>
I haven't done a lot with extensions
<alexgordon>
ghc exts, yeah
<glowcoil>
just a couple where a thing it seems like I shoudl be able to do is forbidden
<glowcoil>
and then I just have to put on a flag to allow it :p
<whitequark>
haskell seems to suffer from <@:@> problem, that is, not enough namespacing
<whitequark>
but it's common for all ml-derived stuff
<alexgordon>
most of them are pretty obvious but it's kinda disconcerting when you see an extension declaration at the top of someone else's source
<glowcoil>
yeah
<alexgordon>
and you don't know what it means
<glowcoil>
ignoring extensions though I feel like the block stuff is really natural though
<whitequark>
alexgordon: but, so far you are only talking about syntax
<alexgordon>
whitequark: semantics is more subjective :P
<whitequark>
I'd say the inverse. syntax is a problem for newcomers
<alexgordon>
syntax is more controversial, but semantics are more subjective
<whitequark>
I can't count the languages I first thought were weird, then after a week idgaf about any of the syntax quirks
<joelteon>
thing about haskell is it doesn't mandate namespacing as much as other langs
<alexgordon>
I fully believe that most "syntax problems" have a right answer, and that one side is just wrong about it
<whitequark>
þat's the definition of "subjective"
<alexgordon>
lol
<purr>
lol
<alexgordon>
nah controversial means prone to argument, subjective means it's different for each person
<whitequark>
exactly
<alexgordon>
a controversial thing is only subjective if both sides are right
<whitequark>
there's no "right"
<alexgordon>
if one side is wrong, then it's not subjective, it's objective!
<glowcoil>
þat
<whitequark>
I don't think "objective" means what you think it does
<glowcoil>
i think you mean ðat
<glowcoil>
it's voiced ;p
<alexgordon>
man the word lawyering in here
<whitequark>
glowcoil: that was just a compose typo
<whitequark>
alexgordon: it's not word lawyering, it's important.
<glowcoil>
whitequark: yeah i know, just joking
<glowcoil>
whitequark: because it was phonetically close but slightly different
<glowcoil>
:p
<whitequark>
anyway, fuck syntax, I'm tired of it and practically any non-moronic textual syntax suits me well, graphical ast-based ones are all moronic, and others I'm not aware of
<whitequark>
semantics is more interesting
<whitequark>
also lol @ semantics being not controversional
<whitequark>
go start a topic "static vs dynamic typing"
* whitequark
preventively tells ec to fuck off
<glowcoil>
semantics of most languages are identical
<whitequark>
glowcoil: lol what
<purr>
lol
<alexgordon>
nah syntax is more interesting
<glowcoil>
whitequark:
<glowcoil>
like, not if you go on lambda the ultimate
<whitequark>
well
<glowcoil>
because they actually discuss languages that people don't use
<alexgordon>
glowcoil: hahaha so true
<whitequark>
ok, I won't use the word "identical"
<whitequark>
though in that case, both syntax and semantics for widely used languages are all the same shit
<whitequark>
*shrug*
<purr>
¯\(º_o)/¯
<whitequark>
still. differences in type systems can be pretty radical and far-reaching
<joelteon>
yeah i dunno about haskell *extensions* making it hard to read
<alexgordon>
whitequark: I'm not sure really
<joelteon>
i haven't noticed that
<whitequark>
alexgordon: haskell is the same thing as js
<whitequark>
totally.
<alexgordon>
whitequark: I don't notice much difference between haskell's type system and C++'s type system, except that the former somehow has worse error messages
<alexgordon>
SOMEHOW
<joelteon>
no it doesn't
<glowcoil>
alexgordon: in quite literally no way
<alexgordon>
clang's diff based error messages are awesome though
<glowcoil>
alexgordon: does haskell have worse error messages
<whitequark>
alexgordon: I think you're doing one of them or both wrong :D
<joelteon>
it sounds possible
<alexgordon>
whitequark: if I'm doing C++ I'm doing it right xD
<whitequark>
lol no
<whitequark>
even bjarne can't do c++ right
<alexgordon>
C++'s error messages SUCKED in the time of g++
<whitequark>
even goddamn chuck norris can't do c++ right
<alexgordon>
you'd get massive compiler shits
<alexgordon>
but clang brought in two new innovations: 1. it respects typedefs and usings, so it will print Vector<T> instead of std::vector<T, std::allocator<T>>(jiaowjdoawjd) whatever
<alexgordon>
2. the new error diffs thing in 3.2(?) is really cool
<alexgordon>
ghc's type error messages are more annoying because they happen more often but they give less detail
<whitequark>
innovation, n.: 1) a new idea, device, or method 2) [in C++ community] something obvious that should've been done 20 years ago
<alexgordon>
clang will underline the piece of code IN COLOR with a squiggly line, and tell you how to fix it if it can, I don't think GHC does that
<joelteon>
alexgordon i'd appreciate an example
<alexgordon>
ok let's see
<whitequark>
alexgordon: that's because most of C++ errors are dumb enough even a compiler can fix it
<alexgordon>
xD
<joelteon>
i think ghc prints out the relevant bit of code you're working on
<joelteon>
just not with a squiggle under it
<joelteon>
well i know it does that
<glowcoil>
yeah ghc prints out the relevant expression
<joelteon>
i do like clang's colors though
<joelteon>
i'll put a ticket in ghc trac about that
<joelteon>
maybe we can get the 7.10 guys on it
<glowcoil>
like, c++ has a large variety of syntax errors
<glowcoil>
because it's a fucking ridiculous language
<joelteon>
can't be that hard, hscolour even ships with ghc i think
<glowcoil>
so making better syntax errors is a "major innovation"
<alexgordon>
I still have to read other people's code
<alexgordon>
:|
<glowcoil>
2:20:48 <+alexgordon> whitequark: you must LOVE cobol
<alexgordon>
I'm not sure if this is really what I want either
<alexgordon>
it seems to fix all the things that weren't broken :P
<alexgordon>
curly brackets, wtf?
<glowcoil>
yeah ocaml has atrocious syntax
<whitequark>
alexgordon: (all the things) yeah kinda, I don't like revised syntax.
<whitequark>
glowcoil: it's just expression-oriented
<alexgordon>
glowcoil: it's french, they were probably too busy fucking
<glowcoil>
whitequark: no, it's statement-oriented
<alexgordon>
"ahhhhh, I must have zex with my wife, then zyntax can wait!"
<whitequark>
glowcoil: hm?
<glowcoil>
alexgordon: lol french has /s/
<purr>
lol
<glowcoil>
whitequark: it's a sequence of statmeents which are executed
<alexgordon>
glowcoil: ahhhhhh but we do not use it!
<whitequark>
λowcoil: I think you miss the point entirely
<alexgordon>
glowcoil: we concentrate on our heavy breathing you zee?
<glowcoil>
i've found my new nick
<alexgordon>
hhhhhhhhhhhiiiin..... ahhhhhhhuuuuut
<glowcoil>
aw man erroneous nickname
<whitequark>
shitty things in ocaml syntax are the silly toplevel hack (where let at toplevel != let inside function), the way match isn't terminated, the way ; is extremely confusing
<glowcoil>
;;
<whitequark>
because if foo then bar; baz else fuga is completely invalid
<whitequark>
yeah, toplevel hack
<whitequark>
it exists specifically because it's expression-oriented and doesn't have too much delimiters
<whitequark>
so you have let .. in ..
<whitequark>
and that let..in extends until it finishes, and you can only detect that it finishes by 1-token lookahead
<whitequark>
because like
<whitequark>
let x = y
<whitequark>
in z
<whitequark>
x
<whitequark>
eventually calls z with argument x
<glowcoil>
idk strict functional languages don't really let me think functionally
<whitequark>
think having an RFC for your microcontroller-managed pot grower
<alexgordon>
ah
<whitequark>
every single published paper has DOI
<whitequark>
and so far I've not seen it used for fucking blog posts
<alexgordon>
I know nothing about growing pot
<glowcoil>
alexgordon: i realized math had already figured out the tools for what i wanted to do with "semantic datatypes" and "shape oriented programming"
<whitequark>
well it's an analogy. huge overkill, in a way.
<alexgordon>
glowcoil: MORPHISMS?
<alexgordon>
oh one thing that I wish would get more use is sets
<alexgordon>
sets are the foundation of mathematics
<glowcoil>
i hate set theory
<glowcoil>
well not really
<glowcoil>
i mean like groups and shit are built on it
<glowcoil>
but
<alexgordon>
everything is built on it
<alexgordon>
sets are like the lambda calculus of mathematics
<glowcoil>
like, i don't like zfc
<glowcoil>
or whatever
<glowcoil>
idek
<glowcoil>
i don't remember wh
<glowcoil>
y
<glowcoil>
like idk if there can be anything better but
<glowcoil>
i dislike things like
<glowcoil>
Cat is the category of small categories, not just of categories
<glowcoil>
or,
<glowcoil>
A category C consists of
<glowcoil>
a class ob(C) of objects
<alexgordon>
glowcoil: reminds of a mathoverflow I read where someone said (paraphrasing) "You know how normal people ask mathematicians 'well what is it *useful for*, what can you do with it'? that's how mathematicians feel about mathematical logic"
<glowcoil>
like why not just a set
<glowcoil>
:p
<whitequark>
because OOP!
<whitequark>
*OOM
<alexgordon>
glowcoil: a class is like a set but without the paradoxes
<alexgordon>
glowcoil: you can have a class of all sets but you can't have a set of all sets
<glowcoil>
rght but what about classes of classes
<alexgordon>
I think that's explicitly disallowed
<alexgordon>
I haven't read the wiki article for like 4 years :P
<glowcoil>
yeah it seems like ugly running from paradoxes
<glowcoil>
idk someone should probably put me in my place about it
<glowcoil>
but
<glowcoil>
i dislike it
<alexgordon>
glowcoil: it's because mathematics is not constructivist
<alexgordon>
whereas programming mostly is
<whitequark>
the venerable law of excluded middle
<alexgordon>
in mathematics you can imagine anything you want and it comes into existence in your own little world
<alexgordon>
in programming you have to instruct the computer to build the fucking thing from bits and pieces
<glowcoil>
yeah i feel like a lot of shit about "infinite things exist" rather than "potential for infinity" is stupid
<alexgordon>
while (1) xD
<glowcoil>
right, that *can* go on forever if you have an indestructible computer
<glowcoil>
but you can talk about the process, and you can talk about the code to make it
<glowcoil>
but you can't talk about it as if it already has gone on forever
<glowcoil>
idk if i'm a full on constructivist
<alexgordon>
don't be because they're stupid
<glowcoil>
i just feel that lot of the more specific notions of sets
<glowcoil>
are stupid
<glowcoil>
and i feel like constructivism kind of misses the point on that front anyway
<alexgordon>
glowcoil: but anyway, more maths plz
<glowcoil>
ya
<glowcoil>
i want to make all the primitives be like
<whitequark>
oh, I wrote it all just after netsplit -_-
<whitequark>
that's... surprisingly fitting
<whitequark>
okay, try #2
<whitequark>
fffuuuuuu
<whitequark>
one of the guys of a group made the mistake of placing his hand near a particular rainbow tentacle, which proceeded to sense that and screw the hell out of the group
<whitequark>
this time I was dreaming about something Lovecraftian
<whitequark>
the theme the tentacle selected was "eviction"
<whitequark>
for example, for one of the guys, it decided to completely evict calcium from his body through his mouth. this was
<whitequark>
accompanied by an incredibly detailed and disgusting mental picture.
<whitequark>
for another two ones it tried to "evict" blood from their legs and the whole body, obviously with awesome^WI mean awesome effects at exit point
<whitequark>
also with an incredibly detailed picture, Kouta Hirano would be fucking proud
<whitequark>
the first guy knew exactly what he was dealing with though, but nooo, instead of tossing say his iPod there he just *had* to put his hand
<whitequark>
literally too dumb to live
<whitequark>
I really wonder where my brain gets all these themes
<glowcoil_>
-shrug
<purr>
glowcoil_: ¯\_(ツ)_/¯
<whitequark>
oooh, I know where this one came
<whitequark>
from one sentence Linus wrote: "Christ, this is not an octopus merge, this is a Ctulhu merge"
<whitequark>
because the tentacle totally was a trans-dimensional appendage of Ctulhu
<whitequark>
(don't ask)
<glowcoil_>
alexgordon: haha this one is great
<glowcoil_>
alexgordon: also if my username were still incomprehensibly
<alexgordon>
I like glowcoil more
<alexgordon>
shorter
<glowcoil_>
:p
<alexgordon>
MJ
glowcoil_ is now known as glowcoil
<glowcoil>
fuck netsplits :p
<glowcoil>
mic woudl be my favorite
<glowcoil>
:p
<alexgordon>
cardioid
ELLIOTTCABLE has quit [Ping timeout: 264 seconds]
ELLIOTTCABLE has joined #elliottcable
silentbicycle has quit [*.net *.split]
irclogger_com has quit [*.net *.split]
perrier_ has quit [*.net *.split]
whitequark has quit [*.net *.split]
devyn has quit [*.net *.split]
jeannicolas has quit [*.net *.split]
<glowcoil>
alexgordon: lol
<purr>
lol
eligrey has quit [Quit: Leaving]
jeannicolas has joined #elliottcable
perrier_ has joined #elliottcable
whitequark has joined #elliottcable
irclogger_com has joined #elliottcable
devyn has joined #elliottcable
silentbicycle has joined #elliottcable
_whitelogger___ has joined #elliottcable
_whitelogger__ has quit [Remote host closed the connection]
<whitequark>
"Note also that these policies make it possible for fraternities to be the one industry in the country in which every aspect of serving alcohol can be monitored and managed by people who are legally too young to drink it."