tag:blogger.com,1999:blog-3049258033565653738.comments2017-01-17T23:28:57.780-08:00Biosimilarityleithaushttp://www.blogger.com/profile/01069099703796397027noreply@blogger.comBlogger169125tag:blogger.com,1999:blog-3049258033565653738.post-40272263290918147462017-01-17T23:28:57.780-08:002017-01-17T23:28:57.780-08:00Claim free bitcoins over at Easy Bitcoin. Up to 33...<b>Claim</b> free bitcoins over at <a href="http://claim-btc.syntaxlinks.com/r/EasyBitcoin" rel="nofollow"><b>Easy Bitcoin</b></a>. Up to <b>33</b> satoshis every <b>10</b> minutes.Bloggerhttp://www.blogger.com/profile/07287821785570247118noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-84869204305810718042016-10-23T11:10:49.487-07:002016-10-23T11:10:49.487-07:00If you are searching for the most recommended Bitc...If you are searching for the most recommended Bitcoin exchange service, then you should know <b><a href="http://btc.syntaxlinks.com/r/Coinbase" rel="nofollow">Coinbase</a></b>.Bloggerhttp://www.blogger.com/profile/07287821785570247118noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-47482165406483998532015-10-02T00:33:37.184-07:002015-10-02T00:33:37.184-07:00Awesome, even as a layman, I grasp some of the ide...Awesome, even as a layman, I grasp some of the ideas. I think you need this stuff to present the "Ink-version" of http://Synereo.com.<br />Last night I have been thinking about that App and I saw a wonderful booming future in my fantasy. But in that space there are no hurdles of course. Only solutions that make the idea better. <br />I will lay down the ideas in a paper, to be announced in the Synereonet Slack Team. HJ Hilbollinghttp://www.blogger.com/profile/11288378615230329388noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-3376670976716569372012-08-26T02:41:28.045-07:002012-08-26T02:41:28.045-07:00why the up method written like:
Location( TreeSect...why the up method written like:<br />Location( TreeSection( left.reverse ::: ( t :: right ) ),up )<br /><br />if you move the subtree focus to it's parent, then it's parent got the focus, instead of passing the parent node to the Location, you passed a TreeSection(), it's a group of children of the parent node, not the parent node. Can you explain to me why?<br /><br />My Noteshttp://www.blogger.com/profile/14655791231364810737noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-52052523386390452532011-12-19T06:34:22.959-08:002011-12-19T06:34:22.959-08:00Here is an update version that persists the change...Here is an update version that persists the change:<br /><br /> def updateAndPersist(t: Tree[A]): Option[Location[A]] = this match {<br /> case Location(_, NodeContext(l, ploc @ Location(Node(a, _), ctx), r)) => <br /> for (newp <- ploc.updateAll(Node(a, l ::: List(t) ::: r))) yield {<br /> Location(t, NodeContext(l, newp, r))<br /> }<br /> case Location(_, ctx) => Some(Location(t, ctx))<br /> }<br /><br /><br />moving up and down would reflect the new node as we essentially build a new tree up to the root.<br /><br /><br />Similarly we can implement inserts and delete. These new mutators that persists the changes in new trees could be represented as companions for the original Huet's mutators.<br /><br /><br /><br />MariusMarius Danciuhttp://www.blogger.com/profile/11285466988960120734noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-4831558803833814492011-12-19T03:48:57.964-08:002011-12-19T03:48:57.964-08:00Oh another potential solution is to memoize locati...Oh another potential solution is to memoize locations.Marius Danciuhttp://www.blogger.com/profile/11285466988960120734noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-58638041277630912502011-12-19T03:48:03.481-08:002011-12-19T03:48:03.481-08:00Hi Greg,
I was also playing with Zipper on N-ary ...Hi Greg,<br /><br />I was also playing with Zipper on N-ary trees using a slightly different tree representation. However both my implementation and yours suffers from an interesting issue: lack of persistence after mutations in certain cases.<br /><br />If you do an update of a node then navigate up and then back down the update is lost. Same for insert ans delete. If you navigate left/right the mutation is correctly reflected since the Context reflects those. <br /><br />The only solution that I see is to persist mutation when moving up and then back down, is to either create new nodes till the root on each up operation (which can be expensive) or create new parent nodes on the fly as we move up. However it is not enough to do this when moving up, because one can use other routes than moving directly up: such as left -> up -> right. The 'up' here is a sibling on the current node's parent. the 'right' is the current node's parent.<br /><br />I'd love to see your thoughts on this.<br /><br />Thanks,<br />MariusMarius Danciuhttp://www.blogger.com/profile/11285466988960120734noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-87241270413051649552011-10-21T05:19:45.771-07:002011-10-21T05:19:45.771-07:00This comment has been removed by the author.MTavlievahttp://www.blogger.com/profile/16887675209434428004noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-52634325607488226072011-10-21T05:19:38.698-07:002011-10-21T05:19:38.698-07:00http://www.dmgcc.com/technology.html
sth more abou...http://www.dmgcc.com/technology.html<br />sth more about the programming.NLP<br />with respect,<br />MTMTavlievahttp://www.blogger.com/profile/16887675209434428004noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-75074309908417174672011-10-03T03:25:05.264-07:002011-10-03T03:25:05.264-07:00It is great to find reference of people such as Ch...It is great to find reference of people such as Chomsky here.Thank you for the interesting post!<br />And also thank you for the "steep in this stuff" :-)<br />Good to notice your strategic thinking and the close way of addressing the audience as well.<br /><br />Just one tip:could I have a glossery and a plan before the mainstream please ( i know it would take more time but I am certain it would worth it:-))?<br />Thx in advance.<br />Kind Regards,<br />MTMTavlievahttp://www.blogger.com/profile/16887675209434428004noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-5879636985557570922011-09-18T10:55:42.629-07:002011-09-18T10:55:42.629-07:00This another nice way of showing that NAND gates a...This another nice way of showing that NAND gates are all you need to build digital circuits :)A Breaking Changehttp://www.blogger.com/profile/00115031720080635093noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-63186992053326218102011-08-22T07:15:54.921-07:002011-08-22T07:15:54.921-07:00Here is a cleaned-up version of the syntactic &quo...Here is a cleaned-up version of the syntactic "Adjoin" that builds sets into lists by pattern-matching and rewrite. It took a minute with real Mathematica. I used "Join" instead of the backward "Append."<br /><br />Adjoin[x_, {}] := {x};<br />Adjoin[x_, {x_, xs___}] := {x, xs};<br />Adjoin[x_, {y_, xs___}] := Join[{y}, Adjoin[x, {xs}]];<br /><br />Adjoin[1, {}] ~~> {1}<br /><br />Adjoin[1, {1}] ~~> {1}<br /><br />Adjoin[1, {1, 2}] ~~> {1,2}<br /><br />Adjoin[1, {2, 1}] ~~> {2,1}A Breaking Changehttp://www.blogger.com/profile/00115031720080635093noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-40410421384295270812011-08-20T22:51:33.078-07:002011-08-20T22:51:33.078-07:00That last line should have said
Append[y, Adjoin[x...That last line should have said<br />Append[y, Adjoin[x, xs]]A Breaking Changehttp://www.blogger.com/profile/00115031720080635093noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-87139202946962256222011-08-20T22:48:58.373-07:002011-08-20T22:48:58.373-07:00Very clear. Then, let me see if I can write someth...Very clear. Then, let me see if I can write something BNF-ish to model a set as a list. I think I can do it in Mathematica, because of its heavy pattern matching. Untested, it might look something like this<br />Adjoin[x_,{}]:={x};<br />Adjoin[x_,{x_,xs___}]:={x,xs}<br />Adjoin[x_,{y_,xs___}]:=Append[xs,Adjoin[x,xs]]<br /><br />Rule 2 says if you see a dup at head of list, don't append. Rule 3 recurses via Mathematica's twisty lack of proper cons, but I hope you can see what I'm trying to express. Y combinator would make it cleaner if longer. When I get back to a machine with an actual installation of Mathematica, I'll test this. Meantime, if you know an expression of this idea in another more mainstream language, I'd be grateful to see it.A Breaking Changehttp://www.blogger.com/profile/00115031720080635093noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-8237410309331193822011-08-19T14:41:43.332-07:002011-08-19T14:41:43.332-07:00Dear ABC,
Thanks for your comments and question. ...Dear ABC,<br /><br />Thanks for your comments and question. Essentially, by purely syntactic model i mean a generators-relations-style presentation which spans the gamut from traditional Universal Algebra presentations to the more modern grammar + structural equivalence presentation. The key point is that you have a free structure together with bi-directional rewrite rules (relations). This is entirely syntactically representable and constitutes a canonical "symbolic" approach to computing. <br /><br />Best wishes,<br /><br />--gregleithaushttp://www.blogger.com/profile/01069099703796397027noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-85033702887507065752011-08-19T09:08:40.356-07:002011-08-19T09:08:40.356-07:00Beautiful, and with refreshing precision!
I'm...Beautiful, and with refreshing precision!<br /><br />I'm slightly confused about this statement: "while Set[G] as we know has a purely syntactical model in terms of List[G]"<br /><br />If, by reference to your earlier post, I take "syntactic model" to mean ". . . this solution is entirely syntactic. There is no additional calculation in List( g1, …, gK ) other than to record the elements of the container and their order" -- it is clear how "List[G]" "models" or "implements" Monoid[G], because there are no additional calculations other than to record [existence of] elements and order, i.e., location in the list.<br /><br />And then I look at "we might have a concrete implementation of Set[G] that actually uses List[G] to hold the elements of the collection, but makes certain that with operations that add to the collection, for example, they never allow duplicates"<br /><br />and I see "...with operations...[that] never allow duplicates" and I think "Aha, those are 'additional calculations other than recording existence and location of elements'" <br /><br />and I can't see how List[G] provides a purely syntactic model (or implementation) of Set[G]. The additional duplicate-removing operations and de-ordering operations seem more than syntactic to my eyes. Where have I gone wrong?<br /><br />Thanks again for this great conversation!A Breaking Changehttp://www.blogger.com/profile/00115031720080635093noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-2488467721754860272011-07-29T14:14:37.390-07:002011-07-29T14:14:37.390-07:00As a musician this reminds me a lot of symmetry an...As a musician this reminds me a lot of symmetry and serialism, as a web dev it reminds me of divs and new html5 symantic elements, as a net admin it reminds me of bitmasking/subnetting, the fact that monads span all of these disciplines reinforces the magnitude of the concept of multiplicity. But which is discrete? The container's boundary coordinates or the contents of the container? Nth dimensions to consider, wonderful. Thanks for the c9 lectures, got me into scalacollider! Rawkin emacs on cygwin now, music is math :0)andrewhttp://www.blogger.com/profile/08946374356875635206noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-7081133707068114302011-07-25T10:56:53.622-07:002011-07-25T10:56:53.622-07:00I got a big laugh out of your "incorrect"...I got a big laugh out of your "incorrect" use of "begs the question" in an article about logic! I presume you did this on purpose. Well, your pains were not in vain. Clever, that.chasmhttp://www.blogger.com/profile/17559816066939539917noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-36008789020582266202011-07-24T13:21:53.305-07:002011-07-24T13:21:53.305-07:00@Vlad -- It really depends on the type and/or comp...@Vlad -- It really depends on the type and/or computational system what sort of logic works. Linear types are classical -- in the sense that the negation is involutive.<br /><br />More generally, a logic/type-system can be viewed in terms of a distributive law between a pair of monads. One monad provides the (free) term language, the other provides a notion of collection. The type system shows how to canonically pull the term language through the notion of collection -- in other words how to move from collections of terms to terms of collections, in a canonical fashion. <br /><br />In this set up the terms of collections are the formulae and the map turning them into collections of terms constitutes the semantics of the formula. It says what it means for a term to inhabit a formula.<br /><br />This is all completely general.leithaushttp://www.blogger.com/profile/01069099703796397027noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-17787216661497564092011-07-23T16:16:19.395-07:002011-07-23T16:16:19.395-07:00I do not see how option, which in a topos is just ...I do not see how option, which in a topos is just (-)~, can be considered as a double negation or, in general, a closure operation. They are nicely similar, but pretty much different.<br /><br />On the other hand, the idea of dragging double negation into discourse, as, probably, other Grothendieck topologies, might be very fruitful. But there's a lot of work to be done. In any case, we have to abandon the idea of boolean logic as a foundation of everything, and get used to the fact that in types, logic is intuitionistic, and so there.<br /><br />Thanks a lot for this inspiring publication!Vlad Patryshevhttp://www.blogger.com/profile/13466586996802181998noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-77517566853236774202011-07-23T13:36:29.828-07:002011-07-23T13:36:29.828-07:00@Luc -- thanks!
@Brian -- great observation! i te...@Luc -- thanks!<br /><br />@Brian -- great observation! i tend to agree.leithaushttp://www.blogger.com/profile/01069099703796397027noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-22884278624592642302011-07-23T10:42:58.921-07:002011-07-23T10:42:58.921-07:00In your first paragraph, I think the better analog...In your first paragraph, I think the better analogy is that Option[A] itself is like double negation, rather than a single negation. Just as A implies ~~A but ~~A doesn't (intuitionistically) imply A, you have a function A => Option[A] but not Option[A] => A. That is, you don't need the Option[Option[A]].Brian Howardhttp://www.blogger.com/profile/12243565006973531593noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-52673201615011292992011-07-23T03:06:27.815-07:002011-07-23T03:06:27.815-07:00nice!
I did not know that
unit and join
(as well...nice!<br /><br />I did not know that <br />unit and join<br />(as well as)<br />co-unit and co-join<br />had such simple interpretations<br />in Linear Logic<br /><br />But then again: you're<br />never to old to learn ...<br /><br />LucLuc Duponcheelhttp://www.blogger.com/profile/09285501928970939466noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-25676938815133700582011-05-30T07:05:54.539-07:002011-05-30T07:05:54.539-07:00Greg,
I don't know what took me so long in r...Greg, <br /><br />I don't know what took me so long in reading your post in depth. So far I find it to be the best explanation of zippers out there.<br /><br />Many thanks,<br />MariusMarius Danciuhttp://www.blogger.com/profile/11285466988960120734noreply@blogger.comtag:blogger.com,1999:blog-3049258033565653738.post-41871596353254826272011-05-30T07:05:33.463-07:002011-05-30T07:05:33.463-07:00Greg,
I don't know what took me so long in r...Greg, <br /><br />I don't know what took me so long in reading your post in depth. So far I find it to be the best explanation of zippers out there.<br /><br />Many thanks,<br />MariusMarius Danciuhttp://www.blogger.com/profile/11285466988960120734noreply@blogger.com