samufi
MModular
•Created by samufi on 9/23/2024 in #questions
What does the keyword `capturing` do?
I noticed that the keyword
capturing
is necessary when I want to time code via time_function
. For example,
What is going on under the hood if I am using the keyword capturing
? I have not found documentation on this.2 replies
MModular
•Created by samufi on 9/21/2024 in #questions
How can I use a fixed-size integer type to index a list?
I want to use a fixed-size integer value as index of a list. However, I get the "no matching method in call to 'getitem'" error.
How can I use a 32 bit unsigned integaer such as
ind
in the example above as index for a list (preferably without performance penalty and lengthy additional syntax)?7 replies
MModular
•Created by samufi on 8/5/2024 in #questions
Is there a (N-D) contiguous data structure for non-trivial structs?
I need a data strucuture that is a 2-dimensional array of (inline) lists of pairs. That is, if
subdata = data[i][j]
, then subdata
is a dynamic data structure that contains tuples of size 2.
My take on solving this was to use a Tensor
for the 2-D data structure, an InlinedFixedVector
for the flexible part, and a StaticTuple
for the pair.
However, I get the following error:
I figure that Tensors can only hold trivial data types. If so, is there a good general data structure for multi-dimensional data? I was thinking of putting InlineList
into a self-made 2D represntation of List
, but InlineList
does not implement CollectionElement
(as of yet?).6 replies
MModular
•Created by samufi on 8/2/2024 in #questions
How can I write asynchronous code?
How can I implement asynchroneous code in mojo (using
async
etc.)?
In the Changelog, I find the following example (slightly adjusted):
This gives me the following compiler error:
I do not understand this error, as I thought that Coroutine
is register passable (as visible in the source code). What works is
However, if I always put await
on the right hand side, I will never be able to execute code asynchroneously, as I am always waiting until the line has finished. What am I doing wrong / where is my misconception? (Or is this simply a bug?)
In the changelog it furthermore says that tasks can be "resumed" after completion (see here). What is meant by "resume" and how do I do that?
I am working with the nightly built mojo 2024.7.2005 (96a1562c).
Addon: I asked this question on the Q&A page and on SO some time ago. Sorry for the double posting; I just do not know what is the best way to get in touch with people who can help. I will keep the copies up to date (or delete them if people think this would be better).11 replies