<micahjohnston>
well that's a good way to do it in all reality
<micahjohnston>
that's kind of a functional way to do exceptions
<micahjohnston>
dataflow-based rather than control-flow based
<vil>
yeah actually the more I think about it the cooler it gets
<vil>
type checking would totally be a library thing, though, not built-in
<vil>
that way if you wanted to display exceptions to the user, you wouldn't even need to do anything
<vil>
it would just propogate to the UI portion eventually
<vil>
you just have to provide a sensible message
<vil>
that probably wouldn't usually be the best way to do it, but you could
<vil>
and you could totally do it so that you could trace it back through the chain
<vil>
return a slightly modified version each time that pointed to the previous one
<vil>
I like this a lot
<vil>
micahjohnston: I still can't figure out a good way to "wrap" messages
<vil>
like for a before-action or something
<alexgordon>
done
<alexgordon>
I think
<alexgordon>
behold, femtofurrow!
<vil>
alexgordon: it's beautiful
<alexgordon>
lol
<purr>
lol
<alexgordon>
it is actually
<alexgordon>
json + functional programming
<alexgordon>
:P
<micahjohnston>
well furrow is an apt na,e
<micahjohnston>
name
<micahjohnston>
:p
<alexgordon>
:D
<alexgordon>
as long as it saves me from writing so much C++, that's success enough for me
<alexgordon>
but really I'm more interested in writing a standard library in it
<alexgordon>
that's where the real innovations will be
<alexgordon>
like paws really
<alexgordon>
the language itself is just a vehicle to change the world with the code written in it
<alexgordon>
;)
<micahjohnston>
lol
<purr>
lol
<vil>
micahjohnston: how would you feel about messages propogating in an "umbrella" shape?
<vil>
micahjohnston: like, they go up to the top from where you are in the tree, and then reflect back down onto all the other branches
<vil>
that way you could control what comes out of your children
<vil>
Cascade really needs to have built-in permissions
<alexgordon>
come on russian torrent
<vil>
not sure of the best way to accomplish that
<micahjohnston>
vil: how would that work, actual-code-wise?
<vil>
so like, if you have a destroyEverything method in a module, like potatos.stuff
<vil>
and potatoes is somewhere in the overall program tree
<vil>
the message destroyEverything would go up through stuff, then potatoes, then up to whatever is above that, etc
<vil>
and potatoes could match it, and "capture" it to stop it from propogating
<vil>
hmmm how would the capture work though
<vil>
darn it
<alexgordon>
mmm
<alexgordon>
what have I missed
<alexgordon>
no idea how to do modules
<vil>
alexgordon: my incoherent rambling about things I don't understand :D
<alexgordon>
like imports and stuff
<vil>
it's not really an import
<vil>
you just glue stuff on whereever you want
<vil>
sort of like require() in node
<alexgordon>
no no for femtofurrow
<vil>
oh
<vil>
we were saying the same words and I got confused
<vil>
:D
<alexgordon>
:P
<alexgordon>
C++ is so fucked in this area
<alexgordon>
and C++11 provides no help
<vil>
micahjohnston: really, I'm more interested in using Cascade primarily interactively than anything else
<vil>
I think that's where it's power if
<vil>
*is
<vil>
hence a Cascade shell, etc
<vil>
I've got even crazier plans, but those will have to wait until I have it better fleshed-out
sephr has joined #elliottcable
<alexgordon>
so problem with C++ is
<micahjohnston>
literally every part
<micahjohnston>
like the premise
<vil>
^^
<alexgordon>
haha
<alexgordon>
the problem with C++ is: literally every part
<micahjohnston>
and I'm really not joking
<vil>
alexgordon: wat.
<purr>
beep.
<micahjohnston>
like you can have a language which accomplishes exactly the same things perfectly
<micahjohnston>
that is 10,000% better
<alexgordon>
I'm so lost
<alexgordon>
what are you talking about micahjohnston
<micahjohnston>
ok like
<alexgordon>
who are you talking to
<micahjohnston>
everyone who justifies c++ is like
<alexgordon>
me?
<alexgordon>
ok
<alexgordon>
not sure if you were talking about cascade or C++
<micahjohnston>
WELL YOU NEED CONTROL AS WELL AS ABSTRACTION
<micahjohnston>
C++
<micahjohnston>
yeah
<micahjohnston>
but it's like
<alexgordon>
yeah it sucks
<micahjohnston>
you start with the clusterfuck that is C
<alexgordon>
thing is
<alexgordon>
how many compiled languages are there?
sephr has quit [Client Quit]
<micahjohnston>
its type system, its syntax, the preprocessor, basically everything
<alexgordon>
Fortran, C, C++, Haskell, (OCa)ml, Go
<alexgordon>
Pascal
<alexgordon>
that's basically it
<alexgordon>
not much of a choice :P
<micahjohnston>
rust
<micahjohnston>
is promising
<alexgordon>
not stable yet though
<micahjohnston>
:p
<micahjohnston>
yeah
<micahjohnston>
ocaml's compiled, right?
<alexgordon>
yeah but Haskell, OCaml and Go have GCs
<alexgordon>
which rules them out of a lot of places
<alexgordon>
like games
<alexgordon>
C++ may be shit, but compared to Fortran it's a saint :P
<micahjohnston>
nah at least fortran can parallelize array operations
<alexgordon>
anyway, the problem I'm having with C++ is, if a function is templated, then it must be declared before any code that uses it
<alexgordon>
which means you can't have mutually recursive polymorphic functions, I don't think?
<alexgordon>
actually not sure if that's true
<alexgordon>
since a polymorphic function is not the same as a polymorphic data structure
<alexgordon>
maybe you *can* forward declare them
<micahjohnston>
and those problems are literally because of the stupid-ass terms in which they specify the parser
<alexgordon>
yes
<alexgordon>
I know
<alexgordon>
not defending it, jeez
<alexgordon>
you of all people should know that I of all people know of all the people the problems C++ of all languages has, of all
<vil>
I tried to read that sentence like three times before I realized
<alexgordon>
dammit
<alexgordon>
doesn't seem you can do it
<micahjohnston>
:p
<alexgordon>
oh well
<alexgordon>
will just have to imagine you can
<alexgordon>
then if it goes tits up blame the user
<alexgordon>
which brings me back to modules
<alexgordon>
can just use header files and namespaces I guess
<alexgordon>
at least until proper C++ modules hit
<alexgordon>
put everything in a "module" in a namespace
<alexgordon>
then use using decls to grab the bits you want, or using namespace modulename; for the whole thing
<alexgordon>
and import will be like #include
<alexgordon>
wow I have no clue how namespaces actually work
<gqbrielle>
vil: okay i really want to RT that thing about the guy getting suspended for the snow call thing..............but it ends with, "YOLO, i guess."
<vil>
gqbrielle: yeah
<gqbrielle>
i did anyway.
<gqbrielle>
shivering with dislike the while.
<vil>
worth it
<vil>
OK, I think I figured out this tree traversal
<vil>
nope nevermind
<vil>
I feel really dumb because this seems like it should be obvious
<Nuck>
PENIS PENIS PENIS PENIS PENIS PENIS
<vil>
THAT'S IT
<vil>
System.out.println("PENIS");
<gqbrielle>
lolllll
<purr>
lol
<Nuck>
"you of all people should know that I of all people know of all the people the problems C++ of all languages has, of all"
<Nuck>
WTF alexgordon
<vil>
I shoud've wat'd that, didn't think to
<alexgordon>
Nuck: you of all people should know that I of all people know of all the people the problems c++ of all languages has, of all
<vil>
alexgordon: wat.
<purr>
beep.
<vil>
that works
<alexgordon>
:P
<Nuck>
Also
<vil>
hmmm, can't quite fit the end of a whiteboard marker in my nostril
<Nuck>
You missed a compiled language
<Nuck>
vil: wat
<vil>
wait
<vil>
what the fuck am I doing
<Nuck>
Wait forgot the dot
<vil>
hah
<Nuck>
Too lazy to remember the other syntax
<Nuck>
alexgordon: There's another compiled language
<Nuck>
Obj C
<vil>
I think it's mention: "quote" wat.
<gqbrielle>
oh my GOD
<alexgordon>
Nuck: haha, dammit
<gqbrielle>
asdiaoisygoiaysg
<gqbrielle>
fuckin' brodwags in fedoras
<alexgordon>
brodwags?
<Nuck>
Technically, while it was originally just C macros now it's a full language
<alexgordon>
strezas?
<gqbrielle>
also brodawgs.
<Nuck>
WTF is a brodwag?
<Nuck>
Oh
<gqbrielle>
hahaha
<vil>
alexgordon: I mentally favorited this
<alexgordon>
what?
<Nuck>
gqbrielle: Tell them to go buttchug a forty
<gqbrielle>
hahaha i should
<Nuck>
"HEY BRO WHY DONTCHA GO BUTTCHUG A FORTY YOU FAAAAAAAAAAAAAAAAAAAG"
<vil>
alexgordon: "strezas"
<Nuck>
vil: "hmmm, can't quite fit the end of a whiteboard marker in my nostril" wat.
<purr>
beep.
<alexgordon>
vil: oh right. yeah sstreza perma-ragequited from another channel because someone insulted his fedora...
<Nuck>
Success.
<vil>
dammit
<vil>
alexgordon: lolol
<purr>
lol
<Nuck>
I think we need a voting mechanism for the best wats
<vil>
Nuck: I concur
* alexgordon
finds the transcript
<vil>
somebody halp
<gqbrielle>
alexgordon: oh god
<vil>
I need to finish this and I'm too dumb
<gqbrielle>
a;soigya;soigy
<gqbrielle>
you guys know about his twitter avatar right?
<gqbrielle>
pony wearin' a fedora?
<vil>
yeah
<gqbrielle>
with a tiny little Pedo Mustache?
<vil>
now an alicorn
<gqbrielle>
oh JESUs are o;aiys; dg you serious
<Nuck>
elliottc1ble: Can I get uptodate database dumps or an API or something for wats?
<Nuck>
Who?
<alexgordon>
dammit I don't have logs :(
<Nuck>
vil: Dafuq is an alicorn?
<Nuck>
alexgordon: I have sticks.
<gqbrielle>
alexgordon: you have failed us.
<vil>
unicorn + pegasus
<alexgordon>
:(
<vil>
Nuck: Princess Celestia is one
<alexgordon>
wonder if jeanni has them
<Nuck>
Who the fuck is Princess Incestia?
<gqbrielle>
basically Dis Guy messaged me on OKC congratulating me for being 'the only woman [he's] seen on here' to 'admit' to likeing tabletop gaming
<Nuck>
"Giant Sex Organ, No Job: Catching Up With Jonah Falcon"
<gqbrielle>
that is the serialkillerest face i have ever seen on the internets
<gqbrielle>
and the competition has been....ahem....stiff
<vil>
wow
<vil>
wow
<vil>
HOW DO I BINARY SEARCH TREE
* vil
bashes his face into the wall
<Nuck>
ssume)
<vil>
what?
<Nuck>
ssume)
<Nuck>
You heard me.
<vil>
...right
<Nuck>
But no, I was trying to say Binary Search Trees are easy as hell, especialyl in C (and C++ I assume)
<vil>
I have the tree implemented
<Nuck>
Then what's the problem?
<vil>
I have to do getRange()
<Nuck>
get... Range?
<Nuck>
Also what language is this? :slow:
<vil>
return a list of all the entries between two values
<vil>
e.g. getRange(17, 24)
<vil>
Java
<Nuck>
brb killing myself
<vil>
yep
<Nuck>
Oh wow
<Nuck>
Apparently Weechat as a /redraw command
<vil>
that's cool
<Nuck>
That's useful to know, for when ncurses blows up
<vil>
irssi does too but I'm not convinced that it does anything
<Nuck>
vil: Oh didja see I forked oh-my-zsh and am building my own thing? :D
<vil>
nice
<Nuck>
I call it "zilsh" because it does zilch for you.
<Nuck>
Comes with... nothing
<Nuck>
That's the glory of it.
<vil>
Nuck: you should help me figure this out
<Nuck>
vil: Well, just recurse up the tree from the leaf node at the start, and go down at each level on any > routes
<vil>
that's what I was thinking
<vil>
but also need to include the right subtree, which could contain the stop value
<vil>
so many edge cases
<Nuck>
Or you could modify the node find
<vil>
I feel like there should be a smooth way to do it
<Nuck>
So basically, instead of recursing and checking which path to take, you'd store the greaterthans
<vil>
I'm using find() to get the initial node
<vil>
oh?
<vil>
but like
<vil>
ugh
<Nuck>
Or better yet
<Nuck>
Just jack off onto a napkin
<Nuck>
And turn that in
<vil>
much better time complexity
<Nuck>
Yeah that's something like O(face)
<Nuck>
ALL THE PUNS
<vil>
lol
<purr>
lol
<Nuck>
I'd like to note that that's also how I see Big O Tires
<Nuck>
O(Tires)
<vil>
I can't waste any more time on this
<vil>
I have a C program due in a week
<Nuck>
Like I said
<Nuck>
Cum on a piece of paper
<Nuck>
Write "O( )" around the splat
<Nuck>
And turn it in
<vil>
that would be hard to submit to the autograder
<Nuck>
Submit a PSD
<vil>
hahahaha
<Nuck>
Er, PDF
<Nuck>
I'm pretty sure it'll let you type in a blob of semen if you shoot a load on your keyboard.
<Nuck>
You should try it.
<vil>
and unbelievable, I can't find a single example of this on the Internet
<vil>
*unbelievably
<vil>
yeah I'm not going to try that
<vil>
I can do it in O(n)
<vil>
but it's supposed to be O(log n + m)
<vil>
where m is the number of matches
<vil>
"infinite data structures can often be easily defined and worked with, though they are not (strictly) evaluated, as this would take infinite time"
<vil>
no shit, wikipedia
<vil>
guys how do become a Real Pogrammer™ what can figure this stuff out
<Nuck>
vil: You don't because Java is for faggots.
<vil>
IT'S NOT MY FAULT
<Nuck>
WHICH IS WHY YOU SHOULD SHOOT UP CANADA.
<Nuck>
Also, yay
<Nuck>
I got escape sequences working using the Zsh builtin colors module such that if it is enabled, it'll add colors but if it's not enabled it just prints black and white
<vil>
nice
gqbrielle has quit [Quit: when IRC is ashes, then you have my permission to die.]
<Nuck>
Hrm
<Nuck>
I need to figure out a folder structure which is better than oh-my-zsh's
<Nuck>
I'm thinking of going the tmBundle approach of bundling everything you need for a given language (or in this case, application) into one folder that can be distributed
malia has joined #elliottcable
malia has quit [Quit: malia]
<alexgordon>
do love /// \\\ as block comments, I think this is my finest innovation
<alexgordon>
nests easily, no lexical conflicts, and it LOOKs imposing, it really gets your attention
<vil>
alexgordon: trade ya, here's my whiteboard scribbles: http://cl.ly/NqK6
<alexgordon>
lolol
<purr>
lol
<vil>
except change "skip parent of right" to "iterate up until parent of left"
<alexgordon>
even more incomprehensible than micahjohnston
<vil>
ACHIEVEMENT UNLOCKED
<vil>
whoa C++ code inline wat
<alexgordon>
?
<alexgordon>
oh
<alexgordon>
never used coffeescript?
<vil>
nope
<vil>
I've seen a bit
<vil>
never looked into it
<vil>
allows inline JS?
<alexgordon>
in coffeescript you can do `foo` to do inline js
<vil>
nice
<alexgordon>
but that syntax is hard to see
<alexgordon>
so I'm using {{ }}
<vil>
(x for x in y) where x is a function?
<vil>
the first one anyway?
<Nuck>
Wooo making progress
<Nuck>
Got an idea of how I want to package up plugins for zsh
<Nuck>
Into things I'm calling zshbundles, a name I totally stole from textmate bundles
<Nuck>
Each one is just a folder structure that roughly correlates with a full oh-my-zsh install (which makes backwards compatibility with oh-my-zsh easy — just dump them in a bundle together)
<Nuck>
I'll maintain that compatibility and iterate from there
<Nuck>
First addition will be support for zsh highlighters
<alexgordon>
vil: x is an item in the list
<alexgordon>
not used python?
<alexgordon>
lol
<purr>
lol
<vil>
nope
<alexgordon>
it's a list comprehension
<Nuck>
Even I can understand a list comprehension
<alexgordon>
should really be [x for x in y]
<vil>
oh ok, these are neat
gqbrielle has quit [Quit: when IRC is ashes, then you have my permission to die.]
<alexgordon>
could probably implement this in a weekend
<alexgordon>
anybody want to help me put "made a programming language in a weekend" on their CV? :P
malia has joined #elliottcable
alexgordon has quit [Quit: Computer has gone to sleep.]
<Nuck>
Man
<Nuck>
Zshell configuration is a massive clusterfuck right now
<Nuck>
You've got the template-based systems like oh-my-zsh and prezto, and then you've got the huge-ass bundle of zillions of completions as zsh-completions
<malia>
..
<Nuck>
...
malia has quit [Quit: malia]
malia has joined #elliottcable
<malia>
hi Nuck sorry was called away
<malia>
now I am going to watch a movie ..catch U next time
malia has quit [Client Quit]
<Nuck>
bahahahaha
<Nuck>
That's possibly the best error message ever, thanks StackOverflow
<Nuck>
"merge is not possible because you have unmerged files"
<Nuck>
Newbies find the best edgecases
<Nuck>
In other news, Zilsh is doing fucking AWESOME, and I'm thinking of features I could add eventually
<micahjohnston>
hi
<purr>
micahjohnston: hi!
<Nuck>
Like, I'm wondering if it's possible to use GNU Parallel in loading all the bundles
<Nuck>
But that depends heavily on whether ZShell will explode from unthreadsafety or something
<Nuck>
Or even if I'd be able to access it... IDK exactly how GNU Parallel works, if it's using subshells then I'm probably fucked
<Nuck>
Instead of being perfectly compatible with oh-my-zsh or prezto (one or the other, can't do both well), I decided I'm just making wrapper bundles which I'll write up before release
<Nuck>
whitequark: That *would* work if he had a compiler
<Nuck>
But he's running OS X
<Nuck>
Which doesn't ship with GCC, you have to install XCode for that
<Nuck>
Also, vil, why not just manually install XCode on it?
<Nuck>
Like, put the files in place? Or if that fails, compile gcc against it and drop the stuff in /bin
malia_ has joined #elliottcable
Determinist has quit [Read error: Connection reset by peer]
notalexgordon_ has joined #elliottcable
dnyy has joined #elliottcable
owenb has joined #elliottcable
<vil>
Nuck: I've got all the tools installed
<vil>
Nuck: not sure what the issue is
<vil>
it looks like it's expecting xcodebuild, which of course isn't a think
<vil>
*thing
micahjohnston has joined #elliottcable
<vil>
I can't even install the command line tools anymore
<vil>
ugh
<vil>
I'm wiping this thing and installing linux over the summer
abumirqaan has joined #elliottcable
<vil>
hi micahjohnston
<vil>
hi abumirqaan
<vil>
though I don't know who you are
Guest73391_ has joined #elliottcable
<vil>
building from source!
<Nuck>
vil: You should totally use Arch, we're awesome
<Nuck>
JOIN US
<vil>
Nuck: probably will, actually
gozala has joined #elliottcable
<vil>
assuming I'm smart enough to get it to run
<FireFly>
Oh, just follow beginners' and/or the official install guide, and you'll be set
<Nuck>
Yeah
<Nuck>
I actually did a dry run in a VM, which enabled me to work out many of my issues beforehand
<Nuck>
So later installs were easy, I already knew the pitfalls
<Nuck>
The hard part is probably gonna be configuring your EFI on it
<Nuck>
Since it's a Mac, right?
<devyn>
Nuck: well you can use it with the BIOS compatibility layer if you want. I have before, and there's no drop in performance by doing so, but there's some extra configurability to be had by having the EFI interface available
<devyn>
there are several EFI bootloaders that work just fine though, supposedly
<devyn>
also boot times are better with straight up EFI; BIOS compatibility layer takes a bit of time to get started for some reason
<vil>
yeah, it's a Mac
<vil>
I'd like to play with something that isn't GRUB anyway
<Nuck>
devyn: There's EFISTUB
<Nuck>
You don't even need a bootloader anymore
<Nuck>
vil: It's basically either EFISTUB or GRUB2; syslinux doesn't support EFI
<vil>
alright
<vil>
what the fuck
<vil>
the manual compile failed THE EXACT SAME WAY
<Nuck>
needed xcodebuild?
<vil>
yep
<vil>
I hate everything
<Nuck>
What are you trying to compile?
<vil>
valgrind
<Nuck>
Weird
<vil>
this happens every time I try to compile something
<vil>
weird shit with no explanation
malia_ has quit [Quit: malia_]
<vil>
Nuck: unrelated, but does running less cause your tmux status bar to freak out?
<Nuck>
YES
<Nuck>
Finally somebody with the same error
<vil>
oh good, not just me
<vil>
so weird
<Nuck>
vil: Use more and it works fine
<Nuck>
Wait
<vil>
yeah, I know
<Nuck>
vil: Are you using my tmux configs?
<Nuck>
If so, then it's probably a configuration error :/
<vil>
Nuck: no
<Nuck>
Okay, good
<Nuck>
Wasn't sure, I know you raided all our dotfiles a while back
<vil>
I think tmux is the one thing I started basically from scratch
<vil>
yeah
<vil>
mostly elliottc1ble
AP has joined #elliottcable
<vil>
I have his irssi config
<Nuck>
I started from scratch on all of mine
<vil>
but no, this has been happening since I started using tmux
<Nuck>
Who is AP, are they the Associated Press, the Advanced Placement, or Anal Porn?
<vil>
I really need to redo the irssi one, it's a disaster
<vil>
or all of the above
<Nuck>
Just switch to weechat, we're better
<AP>
All of the above
<Nuck>
awesome
* vil
high-fives AP
<Nuck>
AP: I love your pornews
<AP>
Can anyone help this mongo with some C++
* vil
pokes alexgordon
* Nuck
pokes alexgordon
<Nuck>
hahaha
* vil
pokes Nuck
<Nuck>
"C++? Oh that's Alex's domain"
<Nuck>
vil: Speaking of dotfiles I'm so excite.
<vil>
making progress
<Nuck>
My framework for zsh configs is almost done
<vil>
?
<vil>
nice
<vil>
is it up on github already?
<Nuck>
Should be able to Show HN in a day or two
<Nuck>
vil: Yeah NuckChorris/zilsh
<Nuck>
It's on a brnach though
<Nuck>
The feature/zilsh branch
<Nuck>
I've gotta finish up the wrappers for oh-my-zsh and prezto (just bundles which include them as submodules and load them up, basically) but then I'll be able to push back to release
<vil>
wtf
<vil>
xcodebuild is even installed
<vil>
but I can't point xcode-select at / or it hangs forever
<vil>
godammithell apple
<vil>
I'll symlink /Developer/usr/bin to /usr/bin and see what happens