[Cuis] Ropes (functional strings)

H. Hirzel hannes.hirzel at gmail.com
Wed Feb 13 11:49:26 CST 2013


Congrats to this implementation, Ken

In particular I like how you did

Rope>>doesNotUnderstand:

doesNotUnderstand: aMessage

	"See what is missing from Ropes"
	Transcript log: (String streamContents: [:s | aMessage storeOn: s]).
	
	"Do what a String would do"
	aMessage sendTo: (self asString)


and then


Rope class>>openTextEditor


openTextEditor

"
	Rope openTextEditor.
"
	SystemWindow
		editText: (TextModel
			withText: (FlatRope fromString:
                               'Let us see what these Rope things can do.'))
			label: 'Text Editor'
			wrap: true


Kind regards

Hannes

On 2/13/13, Ken Dickey <Ken.Dickey at whidbey.com> wrote:
> On Wed, 13 Feb 2013 00:37:31 -0300
> Juan Vuletich <juan at jvuletich.org> wrote:
>
>> I must admit that I don't know when it makes sense to use it, but it is
>> really interesting.
>
> The Cedar/Mesa language and IDE used only ropes.
>
> At least one Python implementation uses ropes internally for Unicode
> strings:
>
> 	http://morepypy.blogspot.com/2007/11/ropes-branch-merged.html
>
>
> The IBM Java Ropes performance is also interesting, particularly with
> respect to regular expression search.  [We could probably speed this up with
> Zippers, but I hate to get too functional here.  ;^].
>
> 	http://www.ibm.com/developerworks/java/library/j-ropes/index.html
>
>
>> BTW, I find it totally amazing that you could hook this into the
>> existing TextModel and text editor _without modifying a single method_!
>
> I thought that it was pretty cool myself.
>
> Hey, that is the way good Smalltalk should be written.
>
> Cheers,
> -KenD
>
> _______________________________________________
> Cuis mailing list
> Cuis at jvuletich.org
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>




More information about the Cuis mailing list