jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang | Please consider participating in our mailing lists => https://pony.groups.io/g/pony
aceluck has joined #ponylang
<doublec> endformationage: thanks!
<doublec> I've used the Json package a fair bit - parsing config files, responses from jsonrpc, etc. It's definitely a pain point, mostly because it requires a lot of rcap knowledge.
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aceluck has joined #ponylang
endformationage has quit [Quit: WeeChat 1.7]
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Praetonus has quit [Quit: Leaving]
jemc has joined #ponylang
https_GK1wmSU has joined #ponylang
https_GK1wmSU has left #ponylang [#ponylang]
aceluck has joined #ponylang
amclain has quit [Quit: Leaving]
jemc has quit [Ping timeout: 260 seconds]
jemc has joined #ponylang
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jemc has quit [Ping timeout: 246 seconds]
aceluck has joined #ponylang
vaninwagen has joined #ponylang
<Candle> SeanTAllen: The *Java* JSON libraries that have been easy to use have been those that automatically map json fields to in-memory fields; usually nulling out those that the json is missing and ignoring the json fields that the class is missing. That's not going to work with pony; mostly because the Java ones rely heavily on reflection. Therefore I would go with code generation; which one of the standard
<Candle> *Java* tools makes easy; Maven. (Is my day-job's primary language showing through? ;) )
<vaninwagen> Candle it is fine. Here we don't judge you for what you _have_ to go through during the day.
<Candle> vaninwagen: It feels like mostly meetings and drawing boxes on whiteboards; not that much coding!
<vaninwagen> Not everybody is gifted with day-job where he can do pony
<vaninwagen> *she/he
<Candle> To (mis?)quote; "But I want a pony!"
<vaninwagen> i have a very specific pain: my coworkers think i am a childish dude loving ponies - they even gave a pony balloon to me
<vaninwagen> i think i have to put things straight here in the office
MaybeDragon has joined #ponylang
<aceluck> Swift 4 also introduced special magic for handling json, which is basically code generation under the hood
<Candle> aceluck: Yes, but it shouldn't be in the language, it should be a library that you can choose to include.
<aceluck> Or an external tool
samuell has joined #ponylang
rurban has joined #ponylang
rurban has left #ponylang [#ponylang]
rurban has joined #ponylang
rurban has left #ponylang [#ponylang]
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aceluck has joined #ponylang
<autodidaddict> Have some thoughts on our json problem. Let me get some caffeine in me and I'll discuss
_andre has joined #ponylang
mikeyhew has quit [Quit: Connection closed for inactivity]
<autodidaddict> So what I was thinking is that JSON is really a DOM.. or a KVTree - each node in the tree has a key and a value. The value is an int, a string, a bool, an array, or an object which would essentially be the root of another tree. This structure is _identical_ across both JSON and YAML.
<autodidaddict> Where I'm going with this is I think we could create the classes to support traversing and building KVTrees in memory, and then ingesting or producing either JSON or YAML would be a trivial matter of adaptation
<autodidaddict> In addition to "fixing" the JSON issue, we'd get YAML basically for free
<autodidaddict> so, the root node of your JSON/YAML/KVDom is a (None, KVNode) node. Your "hello world" sample would then have 1 child ("hello", "world") KVNode
<autodidaddict> and now you can produce {"hello": "world"} or hello: world with no finagling of your internal memory representation (or build arbitrary serialization formats on top of this structure).
<autodidaddict> The tree structure would then make it _far_ simpler for extracting the values we need for processing, but also for comprehensions like search and fold
<autodidaddict> SeanTAllen: If you think this idea doesn't suck, I can write up an RFC for it for discussion
<SeanTAllen> if you want to RFC-it you can. personally, i would start working on it, announce it to community when it has some good feedback and try it out etc and then if it works out well, RFC it becoming part of the standard library and replacing the existing stuff.
<SeanTAllen> you could also RFC it just to get feedback even if you end up going your own way from it.
<autodidaddict> doesn't tell me whether you think the idea is crap or not ;)
<SeanTAllen> i think the idea is interesting.
<SeanTAllen> i always end up interested in two things: 1- is it fast? 2- is it easy to use
<autodidaddict> interesting is my favorite euphemism ;)
<SeanTAllen> for me interesting is "worth pursuing and seeing where it ends up"
vaninwagen has quit [Ping timeout: 260 seconds]
<autodidaddict> I'll add it to my queue to work on in my copious amounts of spare time
<SeanTAllen> ha
abeaumont has quit [Remote host closed the connection]
abeaumont has joined #ponylang
aceluck has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Praetonus has joined #ponylang
jemc has joined #ponylang
dougmacdoug has joined #ponylang
dougmacdoug has left #ponylang [#ponylang]
jimdopango has joined #ponylang
jimdopango has quit [Quit: Page closed]
jimdopango has joined #ponylang
bimawa1 has quit [Read error: Connection reset by peer]
bimawa1 has joined #ponylang
<autodidaddict> how does one set up a constructor so that one of the parameters (an array) defaults to an empty array
<autodidaddict> the param is a val
<autodidaddict> I'm running into syntax issues trying to default it:
<autodidaddict> yeah that's easy ;)
<autodidaddict> I needed it to default to a val array
<autodidaddict> I figured it out :) yay!
<autodidaddict> fun foo(a: I32, stuff: Array[Bob] val = recover val Array[Bob] end)
<SeanTAllen> yup
* autodidaddict plays Ren & Stimpy Happy Happy Joy Joy song
amclain has joined #ponylang
Felix__ has joined #ponylang
<Felix__> looks like the search function in stdlib.ponylang.org is currently broken; throwing a 502
aoeu has joined #ponylang
aoeu has quit [Ping timeout: 260 seconds]
<jemc> autodidaddict: after this RFC is implemented, you'll be able to use `[]` as the default value, instead of the verbose `recover` block: https://github.com/ponylang/rfcs/pull/96
<autodidaddict> nice
<jemc> Felix__: hm... it worked for me just now
<Felix__> yeah, works for me now too.
<SeanTAllen> its a static website so, thats... odd.
Felix___ has joined #ponylang
Felix__ has quit [Ping timeout: 260 seconds]
plietar has joined #ponylang
Matthias247 has joined #ponylang
etc has joined #ponylang
<etc> Hi! Does anyone know how to pass a null pointer to a c function?
<Praetonus> etc: The `create` constructor of `Pointer` will construct a null pointer
<etc> Awesome! How do you make a pointer to an int?
<etc> Seems like maybepointer is only for structs
<Praetonus> You need to use `addressof`
<Praetonus> It can only be used as an FFI argument so you can't build a pointer to an int and use it directly in your Pony code
<etc> Ah, thank you!
<autodidaddict> does anybody know if JSON parsing allows extraneous commas? e.g. is ["hello","world",] valid?
<Felix___> http://www.json.org/ gives a bnf grammar
<autodidaddict> JSON linter says no :(
<autodidaddict> also, curious why Pony doesn't allow the ++ operator
<autodidaddict> e.g. i++ on a var
<Felix___> what's the idiomatic way to take a local array and pass it to another actor's method?
<SeanTAllen> because its a source of errors based on precedence and pony attempts to remove those
<SeanTAllen> Felix___: i assume this local array is mutable?
<Felix___> yep
<autodidaddict> SeanTAllen: I figured it was something like that. I just couldn't find the official reason anywhere
<autodidaddict> thanks
<Felix___> I am ok with passing it by value and/or finalizing it
<SeanTAllen> you need to iterate over it over it and copy each of the items into a new array
<SeanTAllen> you'd want to use an iso or trn for the new array
<SeanTAllen> so it can be mutable and then changed into a val for sending across
<SeanTAllen> trn was born for this purpose!
<Felix___> ah, I see, then 'foo(consume newarray)'?
<SeanTAllen> short lived mutable, long lived immutable
<SeanTAllen> ya
<Felix___> and the method signature on foo is foo(blah: Array[U64] iso)
<Felix___> or similar, right?
<jemc> `iso` or `val`
<jemc> `iso` if you need to keep it mutable, `val` if it can be made immutable
<Felix___> iso will pass just the pointer, and val will pass the whole thing on the stack?
<jemc> `val` is required if multiple actors need to hold the array at once
<jemc> Felix___: both will pass just the pointer
<SeanTAllen> nope
<Felix___> hunh
<SeanTAllen> `val`
<Felix___> ok
<SeanTAllen> unless you want it to be mutable
<SeanTAllen> do you want to send it as immutable or mutable?
<Felix___> I guess I want to sort it afterwards so might as well just iso
<SeanTAllen> so, it depends
<jemc> pretty much everything in pony is passed "by reference" and not "by value" - except tuples
<SeanTAllen> i always default everything to `val`
<Felix___> seems safer
<jemc> `iso` is more flexible (it can become any other capability), but it can be more cumbersome to deal with (maintaining uniqueness)
<etc> This code (http://bit.ly/2u4xMw7) triggers this issue (http://bit.ly/2vtC5kE) - so I take it there is a type error? Does anyone know what it would be?
<SeanTAllen> gitlab isnt loading for me etc
<SeanTAllen> ah there we go
<SeanTAllen> etc try: @glutInit[None](addressof argc, argv)
<etc> Hmm still get the assertion error
<SeanTAllen> ok
<SeanTAllen> just checking
<SeanTAllen> etc i havent done much with FFI of that sort, so sadly i wont be much help
<SeanTAllen> maybe Praetonus has an idea
<etc> Np - thanks anyways!
<Felix___> I am expecting 'let j: Array[F64] trn = Array[F64](1000)' to work but obviously it doesn't because constructors are ref
<SeanTAllen> 'let j: Array[F64] trn = recover trn Array[F64](1000) end
<Felix___> recover!
<SeanTAllen> yes
<SeanTAllen> its a nice safe little land where nothing unsafe is allowed in from the outside
<SeanTAllen> so you can change the ref cap on whatever is coming otu
<jemc> etc: I'm in a meeting, but a quick idea: try using `use @glutInit[None](argc: Pointer[U32] tag, argv: Pointer[Pointer[U8]] tag)` for your declaration
<etc> jemc: thanks! Still assertion error :/
<jemc> we definitely need to fix the assertion error - I expect that this suggestion will fix the compiler issue - https://github.com/ponylang/ponyc/issues/2114#issuecomment-319069680
etc has quit [Ping timeout: 260 seconds]
auoe has joined #ponylang
<autodidaddict> anybody know what "Bus error: 10" means when I'm running my tests?
<SeanTAllen> in c, usually it means the program is trying modify a string literal
<SeanTAllen> but that seems odd given the context
<autodidaddict> looks like infinite loop ;)
<emilbayes> is Range the best way to iterate over, say, the first 10 items of an array?
<SeanTAllen> well, range doesnt iterate over the items
<SeanTAllen> it gives you a range of numbers
<emilbayes> SeanTAllen: Oh yeah, meant to use that as index
<SeanTAllen> it would be good for that
<SeanTAllen> its generally wjat i use
<SeanTAllen> or reverse
<emilbayes> SeanTAllen: Is there a better way to do it? I thought that maybe the .values() would take a from and to
<SeanTAllen> at the moment i dont believe so
<SeanTAllen> although being able to do a "range" on an iterator could be interesting
<SeanTAllen> sounds like an RFC'able thing
<emilbayes> :D
<emilbayes> SeanTAllen: I might want to do one of the pony first impressions blog posts once I get some more pony work done
<emilbayes> SeanTAllen: It seems that adding a `from` and `to` to the Array* iterators would be very easy
<emilbayes> SeanTAllen: Though it may make them partial functions depending on how people feel about `from > .size()` and `to < from` (some might define them as an empty iterator)
<jemc> I think probably an empty iterator would be the most convenient - but that could use more discussion
<emilbayes> SeanTAllen jemc: https://github.com/ponylang/rfcs/issues/100
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
auoe has quit [Ping timeout: 260 seconds]
plietar has quit [Ping timeout: 246 seconds]
vaninwagen has joined #ponylang
plietar has joined #ponylang
plietar has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar_ has joined #ponylang
plietar has quit [Ping timeout: 240 seconds]
plietar_ has quit [Remote host closed the connection]
plietar has joined #ponylang
plietar has quit [Ping timeout: 255 seconds]
Johanni has joined #ponylang
<doublec> autodidaddict: isn't that what the pony json library basically is? With object data stored in Map.
<autodidaddict> not quite
<SeanTAllen> not really doublec
<SeanTAllen> its a serious of nested objects
<SeanTAllen> series
<SeanTAllen> sorry
<SeanTAllen> my brain is again fried
<Felix___> timers set via the 'timers' package appear to fire sometimes a "long time" (extra millisecs, on osx, with default slop) after the scheduled time, which is expected. But they also fire before the scheduled time (again, up to milliseconds before). This is expected/intended?
<autodidaddict> there's a subtle distinction between the kind of nesting I'm talking about versus how the stdlib json package nests. In stdlib, you have a JsonArray or a JsonObject which in turn contain private objects, which can then contain primitives or JsonArrays or JsonObjects
<autodidaddict> imho the internal representation can be thinner and simpler
<autodidaddict> but that's why we do stuff like this in the open, so we can compare and contrast and discuss :)
dougmacdoug has joined #ponylang
<doublec> autodidaddict: indeed :)
<doublec> I think the only reason for the stdlib having wrapper objects is to have the methods to convert back to JSON attached.
<doublec> You're right that removing those would make for a simple representation
https_GK1wmSU has joined #ponylang
<doublec> autodidaddict: the hard decision to make is what rcap would you make the JSON data in the tree.
<doublec> autodidaddict: probably val?
<doublec> That would make the tree immutable but could be sent to other actors
https_GK1wmSU has left #ponylang [#ponylang]
_andre has quit [Quit: leaving]
dougmacdoug has left #ponylang [#ponylang]
<SeanTAllen> Felix___: we use timers in a few places in our app and have never noticed any serious drift. did you change the slop value?
<SeanTAllen> o i see
<SeanTAllen> hmmm
<SeanTAllen> so
<SeanTAllen> the only thing i can think is that the application isnt getting a slice of CPU time from the operating system
<SeanTAllen> we see things like that when we run on osx but when we run on linux and pin to cpus that are dedicated only to the ponythreads, we dont have that issue
<SeanTAllen> the before, that i have never seen
<SeanTAllen> i'm on El Capitan. not sure what you are on
<Felix___> I'm on El Capitan as well. Seeing the same behavior on a linux box (although the timing is much, much tighter on linux)
<SeanTAllen> I have not experienced this
<Felix___> I'll see if I can boil down a minimal test case and put it up somewhere
<SeanTAllen> awesome
<Felix___> looks like a non-problem involving converting U64 to F64
Johanni has quit [Quit: Page closed]
plietar has joined #ponylang
<vaninwagen> hey, a tool like gofmt would be awesome to transform rogue source-code to style-guide compliant aligned pony code. it takes way too long to transform code manually
<vaninwagen> FYI: example of setting up a travis build for a pony project: https://github.com/mfelsche/ponycheck/blob/master/.travis.yml (took me some time to figure out)
<vaninwagen> the debian package does not work on the travis ubuntu trusty by default as during build time of the package a newer g++ is used which is not installed
<vaninwagen> i guess this dependency should be made explicit in the package deps
<vaninwagen> SeanTAllen is there already consensus about how to format explicit partial calls according to the style guide?
<vaninwagen> it feels like it should be ``method(arg)?`` to me
<vaninwagen> (without whitespace)
<jemc> vaninwagen: the consensus on stdlib style was no whitespace before the `?` in the call site
plietar has quit [Remote host closed the connection]
<SeanTAllen> vaninwagen: i agree on the gofmt like tool
plietar has joined #ponylang
<vaninwagen> jemc thx. will add it to the STYLE_GUIDE.md
<jemc> if you want advice on transforming rogue source code, talk to jtfmumm__ about acolyte :D
* jemc makes a comedic rimshot noise
<vaninwagen> ( ՞ਊ ՞)☞
<vaninwagen> i really do like bad puns :)
plietar has quit [Ping timeout: 255 seconds]
jimdopango has quit [Ping timeout: 260 seconds]
<autodidaddict> doublec: gonna try val
kulibali has quit [Ping timeout: 240 seconds]
<vaninwagen> jemc would ponycc be a good candidate for writing a ponyfmt tool? taking the ast and outputting its compilable formatted string representation ?
<vaninwagen> or should it rather be part of ponyc like e.g. the docgen stuff?
<SeanTAllen> vaninwagen: so the idea is that ponycc would be good for ponyfmt
<SeanTAllen> also that eventually docgen would be done via pony in pony
<SeanTAllen> i put docgen work aside until there was a pony in pony
<vaninwagen> and ponycc is basically pony in pony?
<SeanTAllen> its a start
<SeanTAllen> the idea we discussed was once we have pony in pony
<SeanTAllen> all the different parts of the "compiler" are pony programs that do different tasks that are unified by a common front end "ponyc"
<SeanTAllen> thats the discussion from a year or two back
dougmacdoug has joined #ponylang
dougmacdoug has left #ponylang [#ponylang]
<vaninwagen> SeanTAllen sounds like a great idea - but also like quite a lot or work
<jemc> vaninwagen: yes, ponycc would be a good starting place for a gofmt-like tool
<jemc> for the record, I hate gofmt and the philosophy behind it with a strong passion, but I understand why some people gravitate toward it
<jemc> I also think it may be possible to write a formatting tool that corrects only some aspects of the code, but leaves others unchanged
<vaninwagen> i just want a utility to bring my code into some shape (whatever it is)
<jemc> (as opposed to the gofmt approach of generating source from the AST only, where there is no flexibility on any aspect for how it can be written)
<SeanTAllen> i used to hate tools like gofmt etc but have come around to thinking "nope this is worth it"
<SeanTAllen> one day there will be a thunderdome
<jemc> for example, it's theoretically possible to write a tool that corrects a common Pony inconsistency, like "no whitespace preceding a colon", without taking away the developers options on other aspects (like how many lines an `if` block should be written on, etc)
<jemc> it's not that I don't think a tool could be used to clean up "mistakes", but that I don't want a use a tool that treats my carefully chosen, context-sensitive style choices as mistakes
<jemc> some people don't necessarily see or care about that distinction, and others take the really hardline and scary Go philisophy that the developer is not allowed to make any style choices at all
<Praetonus> FWIW it might be possible to use the current C compiler as a library for a formatting tool but it wouldn't be really smooth to use
<vaninwagen> jemc should be fairly simple to do small minimal invasive changes if we already track the exact string representation from the source code in the ast
<jemc> vaninwagen: agreed - and that's the mindset I'd prefer it to be approached from
<vaninwagen> and just return this unchanged (with all the whitespace stuff) if a tranformation by the ponyfmt tool does not apply
https_GK1wmSU has joined #ponylang
<jemc> Praetonus: actually ponycc in the shape it's in today could probably already work for a ponyfmt tool - it already validates syntax and parses to AST
https_GK1wmSU has left #ponylang [#ponylang]
<jemc> vaninwagen: sounds great - you're making me happy with this angle :D
<SeanTAllen> i'm of the "i want a tool that will make it all the same and we are done with it". which i would happily use on all my code.
<Praetonus> jemc: Oh, that's great. I didn't really follow your work on ponycc lately so that's nice to hear
<jemc> Praetonus: it's missing a few things, like bare lambdas and such - but the major pieces are in place, and I'm up to working on the sugar pass
<jemc> currently trying to work out the right design patterns for mutating the AST
<jemc> (which is actually a persistent/immutable data structure, so it takes some extra work to mutate it by "bubbling up" the changes to the root
<jemc> the ponycc work has taken a bit of a backseat until I can get the array/lambda inference stuff implemented, which was really bugging me
<vaninwagen> SeanTAllen this could be done with an accumulating flag ``--pony-stdlib`` for applying all the changes
<vaninwagen> jemc the goal for usage with/as ponyfmt would be to be able to parse source code, represent it as ast and print out the very identical code (for any kind of pony code)
<jemc> vaninwagen: I have a "dumb" version of the autoformatter on ponycc sort of already written, but it wasn't really written for that purpose (I use it internally in the parser/compiler tests), and it doesn't do any of the minimally invasive "smart" stuff that we're discussing - https://github.com/jemc/ponycc/blob/master/ponycc/ast/print/print.pony
<jemc> if you wanted to work on a ponyfmt it would be great - I'd just ask it as a avor to me that you could consider the "minimally invasive" angle as being one of the core goals to support - I'd really like to have this work being done by someone who can appreciate my perspective on developer choice for "important" style decisions
<jemc> of course it could also have a "clobber everything" mode for those like SeanTAllen who prefer it
<jemc> if we could have a tool that makes both SeanTAllen and I happy, you'd be a Pony hero :)
<jemc> and save us from the thunderdome deathmatch
* vaninwagen feels the increasing pressure
<jemc> I actually have a colleague who I've had this discussion with before, and he has written some autoformatters that I'm actually okay with
<jemc> I can try to connect you with him if you're interested
<vaninwagen> there is still a lot of stuff on ponycheck i need/want to finish first
<vaninwagen> jemc but yeah, connect us
<vaninwagen> i'd love to have these ideas written down for discussion/participation somewhere, u think an RFC suits that purpose?
<jemc> maybe you create a `ponyfmt` repo on your github, and I can subscribe to it, and we can chat/discuss there?
<vaninwagen> boom -> profit!
<jemc> I'd personally prefer to have this thing a bit further baked before jumping into RFC territory
<vaninwagen> yep
plietar has joined #ponylang
Felix___ has quit [Ping timeout: 268 seconds]
<jemc> subscribed
Matthias247 has quit [Read error: Connection reset by peer]
<SeanTAllen> vaninwagen: when you do a PR that doesnt have any changes to compile code put [skip ci] at the end of the commit body so that Travis wont spent resources running a CI run for it
<vaninwagen> SeanTAllen, right, forgot that. thx
<SeanTAllen> vaninwagen, jemc i fixed the typo in vaninwagen PR and then squashed and merged
<vaninwagen> yay
<jemc> SeanTAllen: how did you fix the typo on his fork?
<jemc> you've got some github trick I'm not aware of
<SeanTAllen> jemc you can do edits in the browser that get committed
<SeanTAllen> its good for small tiny fixes like that
<SeanTAllen> i got the missed "." in autodidaddict's PR as well that way
* vaninwagen typos his way into the ponyc repo
<jemc> SeanTAllen: where is it in the UI to do it for his branch though?
<SeanTAllen> the little pencil here:
<SeanTAllen> on the PR
<jemc> hm, I didn't realize that was there for branches from a fork - TIL - thanks
<SeanTAllen> i tend to forget its there
<SeanTAllen> i still dont fully understand the limits of it
<SeanTAllen> so i only use for tiny changes
<autodidaddict> I still think I got all the periods in that PR
<SeanTAllen> ya missed 1, i got it
<autodidaddict> Not sure how one was left out
<SeanTAllen> not a big thing
<SeanTAllen> it was easier for me to fix than explain which one was missing after you said you got them all
<SeanTAllen> BOOM
<SeanTAllen> thank you GH UI
<autodidaddict> I was driving through a flash flood at the time too. Tough to commit under those circumstances
<SeanTAllen> ha
samuell has quit [Remote host closed the connection]
<SeanTAllen> my street in brooklyn flooded today
<SeanTAllen> at first it was sun shine
<SeanTAllen> with giant rain coming down
<autodidaddict> I'm in Manhattan Mon thru Wed next week
<SeanTAllen> big enough drops to look like hail
<SeanTAllen> and then
<SeanTAllen> it looked like a hurricane was coming through
<SeanTAllen> then the street flooded
<autodidaddict> I lost power long enough to lose internet. I stopped breathing
<SeanTAllen> i try to do vacations in places without internet
<jemc> floods on the east coast... forest fires here on the west coast
<SeanTAllen> ideally without cell services
<autodidaddict> But then how do you work on your vacation? 😀😀
<jemc> there's a forest fire about 30min away from my home right now, and the sky is hazed out with smoke from bigger fires in Canada
<mdcox> Ah. An adrenaline junkie. I get it, put yourself in as uncomfortable a situation as possible and if you make it out alive you appreciate the internet just that much more.
* mdcox goes back to lurking after his lame joke
<SeanTAllen> next vacation we are driving north from SF for a few days til however far we get, then back down
<autodidaddict> That's a beautiful drive
<SeanTAllen> so ive heard
<SeanTAllen> ive never done the whole thing
<jemc> SeanTAllen: if you get up to northern washington, stop by and see me
<autodidaddict> I've done it in a sports car and a uhaul 20 footer
<SeanTAllen> i lived in monterey so i didnt go north of SF much
<autodidaddict> Sports car was better 😀
<SeanTAllen> jemc: i doubt we will make it that far. probably as far as portland
<SeanTAllen> hello mdcox!
<jemc> mdcox: a lame joke is the best way to introduce yourself, as far as I'm concerned
<emilbayes> jemc: Thanks for the comments on my issue
<jemc> emilbayes: thanks for taking the time to try to make pony better!
<mdcox> Hey :D I've had an eye on pony for a while and just haven't had much chance to try it. Been telling myself I'm gonna jump in and see if I can help ponyc for a while now but for some reason it hasn't happened yet :P
<mdcox> Also SeanTAllen Portland is my neck of the woods so if you end up here and don't have anything to do hit me up and we'll grab a beer/coffee/social beverage
<SeanTAllen> tea is my social beverage. will do.
<ada[m]> Hm. The `update` sugar looks really awkward to me with the question mark when `update` is a partial function. Not a problem; just awkward looking syntax.
<SeanTAllen> whats it look like ada[m] ?
<ada[m]> `x("foo") ? = "bar"`
MaybeDragon has quit [Ping timeout: 260 seconds]
<SeanTAllen> why does that have a "?"
<SeanTAllen> o
<SeanTAllen> an array
<SeanTAllen> nvm
<ada[m]> I didn't run into it with an array first, but ya. You'd see the same thing there.