IRC Logs for #io Tuesday, 2013-11-26

*** hashmal has quit IRC00:38
*** mkroehnert has quit IRC03:10
*** nisstyre has joined #io04:04
*** mil has joined #io04:31
*** gatesphere has quit IRC04:32
*** asie has joined #io05:48
*** asie has quit IRC06:10
*** Raimondii has joined #io07:02
*** mi6x3m-alt has joined #io08:21
mi6x3m-altprologic: still here?08:22
prologicmi6x3m-alt, yeap09:02
prologicyou went offline :)09:02
prologicmi6x3m> do you support := etc. operators and associativy of the + - * / <-- no I only support x = ...09:02
prologicmio also does not implement operator precedence (it's too hard ihmo)09:02
mi6x3m-altprologic: well I can support precedence and asscoativity but I find little sense in it09:07
mi6x3m-altsince smalltalk doesn't do it also09:07
prologicno neitehr do i09:10
prologicI mean in a message passing langauge09:11
prologicit makes little to no sense09:11
prologicwhat's more (ihmo and experience)09:11
prologicit's too hard to implement perfectly09:11
prologicfor very little gain09:11
prologicI tried it twice already09:11
prologicand will not try a 3rd time09:11
prologicit's far easier to state:09:11
prologicNo operator percedence09:11
prologicUse explicit parens in your expressions.09:11
prologicplain and simple09:11
prologicno complicated rules to reemmber09:12
prologicgoogle: pros and cons of operator precedence09:12
mi6x3m-altprologic: yes, no precedence because there are no operators, as simple as that :)09:14
mi6x3m-alteverything's a message09:14
mi6x3m-altdo you implement the standard API or do you explose Python's API ?09:14
prologicand that's how I've defined it09:22
prologicmio is similar to Io in some ways09:22
prologicbut differs in others09:22
prologicfor example mio follows Python's duck typing09:22
prologicas well as first-class traits09:23
prologicthere's also just x = 109:23
prologicno := or ::=09:23
prologicI also implement more functional-style than higher-order-messages (even though technically taht is supported)09:23
prologiccan't think of anything else right now09:24
mi6x3m-altprologic: I also see list literas :)09:26
*** pchalupa has joined #io09:26
prologiclist, dict and tuple literals09:27
prologicI plan to support packing and unpacking of tuples as well09:27
prologicand python-style *args and **kwargs09:27
mi6x3m-altokay, I see :)09:27
prologicit already supports *args fairly well09:27
mi6x3m-altwell, I will be taking on a similar approach regarding operators09:27
prologicbut like I said09:27
prologicstill in design/prototype stage09:27
mi6x3m-altI do have plans to perhaps keep := and ::==09:27
prologictbh I don't see the point09:28
prologicbinding an object to a nems is just simple that for me09:28
prologicI also see no point in getters/setters09:28
prologicwhen you can implement them as peropatires09:28
prologicusing data descriptors09:28
prologicessentially I'm opting for09:28
prologiceverything is an object or message09:28
prologicrather than special syntax09:28
prologicin fact {}, [] and () (dict, list and tuple) literals are implemente din mio themselves09:29
prologicmio also has full support for odules and packages09:30
prologicso there is no implicit object referencing/loading like in Io09:30
prologicimport foo09:30
prologicfrom foo import bar09:30
mi6x3m-althmm, I think I will keep a more Io'ish approach here. but the hardest thing anyhow will be to explose the language API in a proper way :/09:32
prologicwell sure :)09:32
prologicdo whatever you want09:32
prologicthat's the point of designing a langauge :)09:32
prologicfor me it's simple09:33
prologicthere are lots of aspects of Python I both enjoy and love09:33
prologicand a few aspects of Io/Smalltaslk that I adore09:33
prologicso mio is heavily influenced by Python, Io, Smalltalk, Scala, Lisp, Haskell09:33
prologicand probably a few others09:33
mi6x3m-altwell I will be picking up work on an in-language scripting for haxe09:34
mi6x3m-altand the whole implementation has to be in haxe, because haxe has many targets09:34
mi6x3m-altkinda complicated :)09:35
mi6x3m-altyeah, a multi-platform language09:35
prologicsorry you've lost me09:35
prologicyou're designing and writing a new language in haxe?09:35
prologicor targeting haxe as a backend?09:35
mi6x3m-altprologic: well haxe has a scripting language called hscript09:36
mi6x3m-altI intend to provide another one09:36
mi6x3m-altso you can script haxe applications09:36
prologicumm okay09:36
prologicI still don't get it but okay :)09:36
mi6x3m-altwell, the goal is to be able to execute scripts in haxe09:37
prologicoh i see09:37
prologicso you're trying to bind Io into haxe?09:37
prologicwhy not just embed the io interpeter09:37
prologicand be done with it?09:37
prologicit's easaily embeddable if you're good at C09:38
mi6x3m-altprologic: the "C" is the thing. I am good with it, but C is only one platform haxe supports09:38
mi6x3m-altand there's also JS, As3, Java, C#, PHP etc.09:38
mi6x3m-altso the implementation _has_ to be in haxe itself09:39
prologicbuy why can't you just embed Io as it is right now?09:39
prologicwhy rewrite Io in haxe?09:40
prologicwhen you can just embed it?09:40
mi6x3m-altprologic: how would you execute the C source on PHP ?09:40
mi6x3m-altwhen you compile your Haxe-program to PHP09:40
mi6x3m-altor Java, or C#09:40
mi6x3m-altOK, to make it short, Haxe is a language you program in and then you can compile your program in other programming languages09:41
prologicok cool09:41
prologicI hate it already09:41
prologicuggh :)09:41
prologichaxe is ridicoulous ihmo09:41
prologicit'll never catch on or work very well :)09:42
prologicit's like buliding a gcc09:42
prologicand targeting many frontends09:42
prologicbig massive project in itself09:42
mi6x3m-altdo not be quick to judge, it works very well and practically useful, I myself was amazed09:42
prologicI'm sure it does :)09:42
mi6x3m-altsome compilers have shortcomings09:42
prologicbut it's not a lgnauge that would interest me :)09:42
mi6x3m-altbut the big picture is ok09:42
prologicand it's certainly not unique in this field09:43
prologicmany languages can be compiled into other languages09:43
mi6x3m-altoh, no, by far not, it's just the one I settled with09:43
prologichonestly for me though 09:43
prologicand this is just me09:43
prologicI prefer using the language itself09:43
prologicif I want to write JavaScript09:43
prologicI'll write JavaScript09:43
prologicand utilizie all it's features, flexibilty and power itself09:44
prologicrahter than the shortcomings of another language that compiles to JavaScript09:44
prologicand looses some things along the way09:44
prologicthis is what haxe is trying to do for too many langauges09:44
prologicit just simply won't work09:44
mi6x3m-althow about you utilize some static and strong typing with flexible class system :)09:44
prologicat least it won't work as well as you'd like it to09:44
prologicit's a nice idea in tehory09:44
prologicbut in practise not really09:44
prologicevery langauge and machine is slightly different09:45
prologicfor example09:45
prologictake Python09:45
prologicPython has many implementations09:45
prologicCPython, PyPy, Jython, IRonPython09:45
prologicwhich target (respectivily)09:45
prologiccathan, RPython, JVM, CLI09:45
prologicand they all have their pros and cons09:45
prologicin practise something as generic as haxe just simplly won't scale in practise or work all that well09:46
prologicIHMO ofc :)09:46
prologic_iif_ you were targetting specific machines (ie: virtual machines)09:46
prologicthat would be a bit different09:46
prologicand slightly better09:46
prologicbut many languages don't have virtual machines that you can target or bytecode09:46
prologice.g: JavaScript09:46
prologicbut don't let me stop you :)09:47
prologicsorry to go on :)09:47
mi6x3m-altnah it's okay, in dispute we have truth09:48
mi6x3m-altI am the opposite, I would ungladly code PHP or JS when I can do it in a much better language with normal typing features09:50
mi6x3m-altC++ i would seriously consider09:50
mi6x3m-altthe Java and AS3 targets also work very nicely, AS3 is very very optimized09:50
*** hashmal has joined #io09:51
prologicyeah nah09:52
prologicI'm the other camp09:52
prologicI really like dynamic languages09:52
prologicI prefer them09:52
prologicPython is my hammer of choice09:52
prologicsounds like you need to implement Io in haxe :)10:00
prologicwhich shouldn't be too hard really10:00
prologicyou only need to implement the core primitives10:01
mi6x3m-altprologic: yeah, the battle will be to make all of haxe available10:03
mi6x3m-altthough that should be easy too through reflection10:03
mi6x3m-alt( I hope )10:03
*** mi6x3m-alt has quit IRC10:30
pdurbinprologic: speaking of Python (and writing languages in it), you might find Orio interesting:
*** Guest63207 has joined #io11:38
*** Guest63207 has quit IRC11:42
*** mi6x3m|2 has joined #io11:42
*** mi6x3m has joined #io11:55
mi6x3mprologic: do you know where the documentation of the string parameter expansion info is to be found?12:07
*** mi6x3m has quit IRC12:55
prologicpdurbin, thanks I'll check it out on my bus ride into work tomorrow :)13:33
*** mi6x3m has joined #io14:31
*** pdurbin has quit IRC14:41
*** fredreichbier has joined #io14:55
prologicwoot woot :)15:42
prologicthe tutorial is finally writtein mostly in mio+sphinx15:42
mi6x3mprologic: congrats :)15:45
prologicI hacked sphinxcontrib.autorun15:46
prologicnice extension15:46
prologictook lots of fiddling and mucking about with packaging and readthedocs build environment though :(15:46
prologicoh well it works now :)15:46
*** fredreichbier has quit IRC15:47
mi6x3many users yet?15:47
mi6x3mI cant explain why no one is using io 15:47
mi6x3mit's like, dead simple and effektive15:47
prologicyou know ...15:48
prologicin theory you could implement a fully compliant Io in mio itself :)15:48
prologicby simplify definiing := and ::=15:48
prologicand other idioms mio doesn't have15:48
prologicprobably because io is hard/impossile to google? :)15:49
mi6x3mit got a lot of blog posts15:49
mi6x3mand its beautifu15:49
prologicyeah I quite like it too15:50
prologicsome aspects of it (obviously)15:50
prologicwhilst others I don't15:50
prologice.g: I don't like object namespaces to be littered with methods15:51
mi6x3mprologic: what do you mean littered?15:54
prologicone sec15:55
prologicWed Nov 27 01:55:5415:56
prologic$ mio15:56
prologicmio 0.1.5.dev15:56
prologicmio> Object keys15:56
prologic===> [u"behaviors", u"and", u"primitive", u"addTrait", u"ifError", u"__str__", u"traits", u"set", u"ifFalse", u"id", u"setParent", u"hasTrait", u"ifTrue", u"state", u"has", u"type", u"method", u"do", u"setValue", u"parent", u"get", u"keys", u"ifNonError", u"uses", u"catch", u"super", u"ifNone", u"evalArg", u"value", u"delTrait", u"del", u"__repr__", u"__hash__", u"or", u"block", u"cmp"]15:56
prologicmio> (mio)15:56
prologicWed Nov 27 01:56:0215:56
prologic$ ~/work/io/build/_build/binaries/io15:56
prologicIo 2011090515:56
prologicIo> Object slotNames15:56
prologic==> list(or, coroDo, ifError, handleActorException, do, inlineMethod, -, isIdenticalTo, slotNames, become, actorProcessQueue, removeProto, asBoolean, markClean, contextWithSlot, argIsActivationRecord, deprecatedWarning, removeAllSlots, launchFile, super, yield, setProtos, evalArgAndReturnSelf, returnIfError, print, ownsSlots, continue, asyncSend, evalArgAndReturnNil, removeAllProtos, in, doString, compare, serialized, isKindOf, <=, setSlot, cloneWit15:56
prologichoutInit, serializedSlots, isError, protos, returnIfNonNil, resend, thisContext, coroFor, evalArg, switch, memorySize, isLaunchScript, hasLocalSlot, @, thisMessage, raiseIfError, ancestorWithSlot, while, type, block, , hasSlot, performWithArgList, pause, ifNil, clone, try, asSimpleString, ==, writeln, not, relativeDoFile, .., ifNonNil, getSlot, slotSummary, uniqueHexId, <, init, shallowCopy, wait, justSerialized, proto, lexicalDo, foreachSlot, uniqu15:57
prologiceId, slotDescriptionMap, for, return, coroWith, argIsCall, serializedSlotsWithNames, >, perform, >=, doRelativeFile, setSlotWithType, stopStatus, ancestors, @@, println, break, appendProto, isNil, asString, ifNilEval, getLocalSlot, isActivatable, hasProto, doMessage, if, slotValues, coroDoLater, list, futureSend, lazySlot, message, currentCoro, and, write, method, setIsActivatable, !=, ?, apropos, loop, thisLocalContext, addTrait, setProto, ifNonNil15:57
prologicEval, updateSlot, actorRun, isTrue, removeSlot, newSlot, hasDirtySlot, doFile, prependProto)15:57
prologicIo> 15:57
prologicyikes :)15:57
prologicbad paste15:57
prologicI'm surprised the network didn't kill me for floodding15:57
*** Raimondii has quit IRC15:58
prologicmio> len(Object keys)15:59
prologic===> 3615:59
prologicIo> Object slotNames size15:59
prologic==> 13515:59
mi6x3moh, yeah, but not that bad, they are needed :)15:59
mi6x3mI can live with that15:59
*** Raimondi has joined #io16:01
prologic$ mio -S16:02
prologicmio 0.1.5.dev16:02
prologicmio> Object keys __len__()16:02
prologic===> 2716:02
prologicin fact it's even less with -S16:02
prologic-S == no system libraries16:02
prologicI disagree on the "needed" aspect :)16:02
prologicIHMO my approach is cleaner :)16:03
prologicbut you know :)16:04
prologicpersonal takes et all16:04
prologicalthough see this16:05
*** pdurbin has joined #io16:37
*** mi6x3m has quit IRC17:01
*** pchalupa has quit IRC17:22
*** migo_ has joined #io17:46
*** migo has quit IRC17:46
*** nisstyre has quit IRC17:53
*** nisstyre has joined #io18:38
*** Nisstyre-laptop has joined #io18:49
*** Nisstyre-laptop has quit IRC18:50
*** fredreichbier has joined #io18:55
*** mi6x3m has joined #io19:46
*** mi6x3m has quit IRC20:01
*** mi6x3m has joined #io20:56
*** mi6x3m has quit IRC21:02
*** mi6x3m has joined #io21:46
*** fredreichbier has quit IRC22:06
*** mi6x3m has quit IRC22:39
*** gatesphere has joined #io23:13

Generated by 2.11.0 by Marius Gedminas - find it at!