[Omake] short-circuit returns

Jason Hickey jyh at cs.caltech.edu
Fri Aug 10 13:15:22 PDT 2007


Nathan,

I can't reproduce the "Misplaced return" problem.  However, I did  
notice that the return was not being handled correctly.

I've committed an update for this problem.  I'm aiming for a new  
release as soon as possible.

Jason

On Aug 9, 2007, at 4:14 PM, Nathaniel Gray wrote:

> Ok, maybe I should just give you some actual code that triggers the  
> problem.  My goal is to find a description of why a build failed  
> and send it to growlnotify.  This is in my ~/.omakerc:
>
> section
>     .BUILD_BEGIN:
>         echo
>         echo "Build beginning" | growlnotify -n OMake OMake
>
>     .BUILD_SUCCESS:
>         echo "Build succeeded!" | growlnotify -p -2 -n OMake OMake
>
>     .BUILD_FAILURE:
>         section
>             targs = $(find-build-targets Failed)
>             any-output-file(targs) =
>                 foreach(x, $(targs))
>                     if $(x.output-file)
>                         return $(x.output-file)
>                 return $(BUILD_SUMMARY)
>             f = $(any-output-file $(targs))
>             shell(cat $(f) | growlnotify -s -p 2 -n OMake OMake:  
> Build Failed!)
>
>
> On Aug 9, 2007, at 3:53 PM, Jason Hickey wrote:
>
>> I must have the example wrong, but I can't reproduce this.  Here  
>> is the program I'm using.
>>
>> is-tasty(x) =
>>    match $x
>>    case tasty
>>       value true
>>    default
>>       value false
>>
>> new-tasty(x) =
>>    value $"$x pies"
>>
>> get-tasty(args) =
>> 	foreach(x, $(args))
>> 		if $(is-tasty $(x))
>> 			return $(x)
>> 	return $(new-tasty 123)
>>
>> println($(get-tasty yum not-tasty tasty-freeze))
>>
>> Jason
>>
>> On Aug 9, 2007, at 3:28 PM, Nathaniel Gray wrote:
>>
>>> Hi guys,
>>>
>>> OMake 0.9.8.5 behaves differently than previous versions on some  
>>> return statements.  In particular, it seems to dislike returns  
>>> that exit early from functions.  So this function that used to  
>>> work now gives "Misplaced return statement" on the first return:
>>>
>>> get-tasty(args) =
>>> 	foreach(x, $(args))
>>> 		if $(is-tasty $(x))
>>> 			return $(x)
>>> 	return $(new-tasty 123)
>>>
>>> Is this expected behavior?
>>>
>>> Thanks,
>>> -n8
>>>
>>> --
>>> >>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>> >>>-- Mojave Project -- http://mojave.cs.caltech.edu -->
>>>
>>>
>>> _______________________________________________
>>> Omake mailing list
>>> Omake at metaprl.org
>>> https://lists.metaprl.org/mailman/listinfo/omake
>>
>> --
>> Jason Hickey                  http://www.cs.caltech.edu/~jyh
>> Caltech Computer Science      Tel: 626-395-6568 FAX: 626-792-4257
>>
>>
>>
>> _______________________________________________
>> Omake mailing list
>> Omake at metaprl.org
>> https://lists.metaprl.org/mailman/listinfo/omake
>>
>
> --
> >>>-- Nathaniel Gray -- Caltech Computer Science ------>
> >>>-- Mojave Project -- http://mojave.cs.caltech.edu -->
>
>
> _______________________________________________
> Omake mailing list
> Omake at metaprl.org
> https://lists.metaprl.org/mailman/listinfo/omake

--
Jason Hickey                  http://www.cs.caltech.edu/~jyh
Caltech Computer Science      Tel: 626-395-6568 FAX: 626-792-4257





More information about the Omake mailing list