Search found 61 matches

by [Shambles]
03 Jan 2019, 16:52
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

What I was refering to was specifically this piece of code in the documentation: enum := obj._NewEnum() While enum[k, v] Another example is the match Object: https://www.autohotkey.com/docs/commands/RegExMatch.htm#MatchObject Brackets [] may be used in place of parentheses () if N is specified. Reg...
by [Shambles]
03 Jan 2019, 11:57
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

https://www.autohotkey.com/docs/objects/Enumerator.htm#Example https://www.autohotkey.com/docs/objects/File.htm#Seek Are the cases I still remember. A while back I spend a lot of time trying to make call the only possible usage in this case. At one point however I lost the overview and motivation. ...
by [Shambles]
03 Jan 2019, 10:34
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

I wouldnt say its inconsistent - there are a few other places where Get or Set can be used on Object Methods within AHKs build in Objects. I'm sure that there is some documentation on this regarding compatability with vba or some other language. Its a historical thing - so Im not convinced we can c...
by [Shambles]
03 Jan 2019, 10:15
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

I am quite certain that there is an explanation in both v1's and v2's implementation for this behavior. That does not mean the behavior as implemented is as it should be. Source code is not a holy text that must be unquestioningly obeyed and never changed. [Shambles] , obviously the source code is ...
by [Shambles]
03 Jan 2019, 07:14
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

reading the Call property on a user-defined type that does or does not have one does not cause anything to execute it executes get if implemented. Looking at the (v2) implementation, I see that BoundFunc handles invoking call the same way regardless if it is set , get or call , so you can even do b...
by [Shambles]
02 Jan 2019, 17:16
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

I fail to see how this is a bug - after all the documentation does not state that this doesn't happen - or what happens if you get the call element in a boundfunc. I agree with you though that this is a good suggestion. But I still don't see how it will help you identifying boundfuncs. My justifica...
by [Shambles]
02 Jan 2019, 03:19
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

Re: BoundFuncs Execute When Call Property Is Read

This is annoying me too. I don't know how to Identify a Bound Function Object. I can't use IsFunc(Bound) and I can't use Bound.HasKey("Call") either. And like said above (Bound.Call) executes the function... I discovered this problem while writing a library to do exactly what you are trying to do. ...
by [Shambles]
27 Dec 2018, 05:49
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

I have updated the Type Checking and Facade libraries. The only breaking changes are in Facade: Func_Reparam(Func, Positions) was renamed Func_Rearg(Func, Positions) Func_Fork(G, F, H) had its parameters rearranged to Func_Fork(F, G, H) Func_Rearg(Func, Positions) makes more sense in the presence of...
by [Shambles]
19 Dec 2018, 21:29
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

I have just finished the error handling rewrite. Facade functions now validate their arguments and report errors that can only be detected 'deeper in'. Facade's exceptions reveal the type of error the function it occurred in which argument was at fault, if applicable the precise nature of the error ...
by [Shambles]
16 Dec 2018, 03:36
Forum: Bug Reports
Topic: BoundFuncs Execute When Call Property Is Read
Replies: 15
Views: 1058

BoundFuncs Execute When Call Property Is Read

Demonstration Code Foo(X) { MsgBox % "This should not execute." } Func("Foo").Bind("").Call This problem occurs in version 1.1.30.01. It only occurs with BoundFuncs, not Funcs or user-defined function objects. It only occurs with the (non-existent) Call property, not other property names. I had cau...
by [Shambles]
11 Dec 2018, 04:13
Forum: Scripts and Functions
Topic: v2 "is" operator and "Type" function backports
Replies: 0
Views: 328

v2 "is" operator and "Type" function backports

In the process of (re)writing type checking code for Facade I cloned AutoHotkey v2's is and Type features. https://github.com/Shambles-Dev/AutoHot ... e_Checking
by [Shambles]
24 Nov 2018, 21:57
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

saying "AHK is verbose" is deceiving. first of all you've omitted your "Op_Add()" func which is required for your example to run. but still all you've provided is the functional programming fold() func. ANY language that doesn't provide these functional programming funcs built in would be "verbose"...
by [Shambles]
24 Nov 2018, 21:37
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

<lots of stuff> I do not want my replies to keep just getting longer, so I will try to avoid long quotes. Functional programming is a kind of declarative programming. I consider referring to it as that to be almost overselling it to the point of it being misleading. Prolog is a lot closer to truly ...
by [Shambles]
24 Nov 2018, 19:02
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

Have you seen Object.ahk for v2? https://autohotkey.com/boards/viewtopic.php?f=37&t=57591 This separates data from interface, methods from properties. At the moment, it's theoretical, but having a dedicated data type should speed up AHK arrays when implemented. I had not. As far as I knew the curre...
by [Shambles]
24 Nov 2018, 15:28
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

I am not a programmer so OOP, functional, and procedural programming stuff are all new to me. I recently built a crappy v2 function evaluator that works more or less like a REPL, and while building it, my approach was to convert everything from infix to prefix form, which basically converts express...
by [Shambles]
24 Nov 2018, 15:25
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

I will respond to the other criticisms as a whole because they are all about AutoHotkey’s type system. The decisions made with regards to AutoHotkey’s object model are bad because we know of better alternatives, and why they are better, and we knew this long before AutoHotkey was ever written (e.g. ...
by [Shambles]
24 Nov 2018, 13:47
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Re: Facade Functional Programming Suite

Could you provide an example of verbosity in AutoHotkey that this library mitigates? Array := [1, 2, 3] ; This is meant to represent an array you got from somewhere else. It is not a part of the verbosity argument. ; without Facade Total := 0 for _, Value in Array Total += Value ; Note that omittin...
by [Shambles]
24 Nov 2018, 11:15
Forum: Scripts and Functions
Topic: Facade Functional Programming Suite
Replies: 14
Views: 1388

Facade Functional Programming Suite

I have been working on a set of functional programming libraries . I have just finished writing the documentation. Like the warning at the top of the documentation says, the libraries are not 'finished'. Part of the way through, I realized that the debugger would only show the line number associated...
by [Shambles]
17 Nov 2018, 13:03
Forum: Wish List
Topic: ObjGetBase(Object) and ObjSetBase(Object, BaseObject) Need to Change
Replies: 57
Views: 3239

Re: ObjGetBase(Object) and ObjSetBase(Object, BaseObject) Need to Change

In expressions numbers are just numbers: Loop 13 { } If you want to iterate over each line in a file using expressions I would suggest this: for each, line in StrSplit(FileOpen(fileName, "r").Read(), "`n", "`r") { } I think this has slightly gone offtopic from your initial suggestion though - it mi...
by [Shambles]
17 Nov 2018, 12:14
Forum: Wish List
Topic: ObjGetBase(Object) and ObjSetBase(Object, BaseObject) Need to Change
Replies: 57
Views: 3239

Re: ObjGetBase(Object) and ObjSetBase(Object, BaseObject) Need to Change

How would I loop for a certain number of times using an expression? How would I loop over lines in a file where the file comes from an expression?

Go to advanced search