IRC Logs for #io Tuesday, 2016-04-19

*** soveran has joined #io01:35
*** soveran has quit IRC01:41
*** ElMonkey_ has joined #io03:09
*** TheMonkey has quit IRC03:09
*** soveran has joined #io03:38
*** nisstyre has quit IRC03:41
*** soveran has quit IRC03:43
*** nisstyre has joined #io04:09
*** ec\_ has quit IRC04:17
*** bb010g has joined #io04:24
*** ec\ has joined #io04:25
*** soveran has joined #io04:40
*** soveran has quit IRC04:45
*** whaletechno has quit IRC05:53
*** soveran has joined #io05:55
*** joews has joined #io08:21
*** edos has joined #io09:22
*** edos has quit IRC09:25
*** soveran has quit IRC10:01
*** sogaan has joined #io10:01
*** iorivur has joined #io10:04
*** ijon_ has joined #io10:04
*** ElMonkey_ has quit IRC10:07
*** sogaan has quit IRC10:09
*** ElMonkey has joined #io10:10
*** soveran has joined #io10:59
*** joews has quit IRC11:07
*** joews has joined #io11:14
*** whaletechno has joined #io11:14
*** soveran has quit IRC11:25
*** joews has quit IRC12:19
*** joews has joined #io12:20
*** soveran has joined #io12:26
*** soveran has quit IRC12:26
*** soveran has joined #io12:26
*** soveran has quit IRC12:31
*** ijon_ has quit IRC12:36
*** ijon_ has joined #io12:37
joews[how] do Io libraries hide private slots? 12:58
joewsI have played with a couple of ways: JavaScript-style immediately invoked blocks https://github.com/jwhitfieldseed/seven-languages/blob/master/io/private_state/module.io12:59
joewsAnd a wrapper around Target doFile("xxx") that allows for named imports: https://github.com/jwhitfieldseed/import12:59
joewsIs there any simpler/more idiomatic way?13:00
joewsBoth those methods work fine for me, I'm just curious :)13:02
*** joews has quit IRC13:15
*** joews has joined #io13:16
*** joews has quit IRC13:18
*** joews has joined #io13:19
*** joews has quit IRC13:20
*** joews has joined #io13:24
*** joews has quit IRC13:24
*** joews has joined #io13:25
*** soveran has joined #io13:27
*** soveran has quit IRC13:27
*** soveran has joined #io13:27
*** soveran has quit IRC13:32
jerjoews, they don't provide hiding really13:33
jeryou can obscure where you place them of course13:33
jeri used to hide state on number literals -10 to +250 =] but we stopped supporting that, largely in part because i was abusing it heh13:33
joewsYeah, that's what I'm interested in. "How do I avoid spamming users with globals", rather than "How do I stop people messing with my internals if the really want to"13:34
jer(backstory on that is, for GC performance, small numbers aren't garbage collected, and they're single instance: 1 uniqueId == 1 uniqueId whereas 100324 uniqueId != 100324 uniqueId13:34
jer)13:34
joewsHa, nice hack13:34
jerthis was one of the problems i identified with io as a motivating factor for my alternate implementation -- it allowed you to specify "lookup" behaviour, where you could say things like:13:34
jerlookup := method(name, if(call sender type != "Foo", /* do the lookup as you'd expect */, return nil)13:35
jer)13:35
jerthen the VM would use that implementation of lookup in determining if a slot "exists"13:35
jernot ideal, as any object once they know, can define a type slot to match, but still better than nothing13:36
jertrivial example though, there are better examples on how to make this work that don't suffer that problem, but not within the context of the iovm13:36
jerhacking is one good theme i hvae had in io since 2003 =p13:39
jeri wrote a C DSL -- would let you take simple C functions as C source code, and have io evaluate it semantically correct13:39
jerexample was just a simple: int add(int a, int b) { return a + b; }13:39
jerbut it worked13:39
joewsdid you build your alt implementation?13:44
joewshackability is the reason I'm getting hooked13:44
joewsIt13:44
joews... feels like a blank canvas as much as a language in its own right13:45
jeri started to, but haven't finished13:48
jerhad so many things i wanted to do with it, but fell out of love with highly dynamic languages13:48
jeronly dynamic language i use anymore is elixir13:48
joewsWhat do you like about elixir? it's on my list but I haven't used it yet13:57
joewsMy interests are moving away from dynamic languages for actual work. But the depth of Io's dynamism is so compelling for personal projects13:58
jerfault tolerance brought me to the erlang ecosystem14:00
jersupervisor trees were the thing i needed to learn how to break down my application into smaller applications, and the built in good rpc allows you to communicate between them as much as you'd need to14:01
jerand that's not something you really see outside of the erlang ecosystem14:01
jerit's not a fast language, in terms of things like numerical operations, but i don't use it for that =]14:01
joewserlang itself is also somewhere on my list14:04
jeruseful to learn erlang's syntax, but as a dev language, elixir is probably what i'd recommend, it's a little less annoying14:13
jerc.f. https://joearms.github.io/2013/05/31/a-week-with-elixir.html when i talk about annoying14:14
jerjust in case, Joe Armstrong is one of the guys who built Erlang14:16
joewscool, thanks. added to the read it later list :)14:22
joewscan you link the source for your C DSL? 14:24
jerit was built with the old message manipulation code, and the blog has since been taken down14:36
jermight be able to find it on the way back machine, but i've forgot the url. you can search google though for "jeremy tregunna iolanguage c dsl"14:37
jerthere's a blogspot link burried somewhere in there, feed that to the way back machine and it's from september 2011 i think? maybe earlier.14:37
joewshehe, thanks15:04
*** Open_Space has quit IRC15:29
*** soveran has joined #io15:30
*** soveran has quit IRC15:35
*** joews has quit IRC16:45
*** soveran has joined #io17:32
*** soveran has quit IRC17:37
*** joews has joined #io18:22
*** ijon_ has quit IRC18:23
*** joews has quit IRC18:24
*** soveran has joined #io18:33
*** soveran has quit IRC18:33
*** soveran has joined #io18:33
*** soveran has quit IRC18:38
*** ijon_ has joined #io18:38
*** soveran has joined #io19:34
*** soveran has quit IRC19:34
*** soveran has joined #io19:34
*** joews has joined #io19:37
*** soveran has quit IRC19:39
*** joews has quit IRC20:29
*** soveran has joined #io20:35
*** soveran has quit IRC20:35
*** soveran has joined #io20:35
*** joews has joined #io20:36
*** soveran has quit IRC20:39
*** ijon_ has quit IRC20:45
*** soveran has joined #io20:51
*** joews has quit IRC20:53
*** soveran has quit IRC21:48
*** nisstyre has quit IRC22:47
*** soveran has joined #io22:49
*** soveran has quit IRC22:54
*** nisstyre has joined #io23:16
*** soveran has joined #io23:50
*** soveran has quit IRC23:50
*** soveran has joined #io23:50
*** soveran has quit IRC23:55

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!